agent-swarm.devagent-swarm.dev

Extensions

Extensions API endpoints

GET/api/extensions

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Response Body

application/json

curl -X GET "http://localhost:3013/api/extensions"
{
  "extensions": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "runtime": "api",
      "manifestJson": "string",
      "contentHash": "string",
      "version": 1,
      "activeVersion": 1,
      "enabled": true,
      "priority": 0,
      "configJson": "string",
      "status": "disabled",
      "consecutiveFailures": 0,
      "lastError": "string",
      "agentId": "string",
      "createdByAgentId": "string",
      "createdAt": "string",
      "updatedAt": "string"
    }
  ]
}
DELETE/api/extensions/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
Length1 <= length

Response Body

application/json

application/json

application/json

application/json

curl -X DELETE "http://localhost:3013/api/extensions/string"
{
  "deleted": true,
  "assets": {
    "deleted": [
      {
        "kind": "script",
        "name": "string"
      }
    ],
    "detached": [
      {
        "kind": "script",
        "name": "string"
      }
    ]
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
GET/api/extensions/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
Length1 <= length

Response Body

application/json

application/json

curl -X GET "http://localhost:3013/api/extensions/string"
{
  "extension": {
    "id": "string",
    "name": "string",
    "description": "string",
    "runtime": "api",
    "manifestJson": "string",
    "contentHash": "string",
    "version": 1,
    "activeVersion": 1,
    "enabled": true,
    "priority": 0,
    "configJson": "string",
    "status": "disabled",
    "consecutiveFailures": 0,
    "lastError": "string",
    "agentId": "string",
    "createdByAgentId": "string",
    "createdAt": "string",
    "updatedAt": "string"
  },
  "manifest": {
    "$schema": "string",
    "name": "string",
    "description": "string",
    "version": "string",
    "runtime": "api",
    "assets": {
      "hooks": "string",
      "scripts": [
        {
          "name": "string",
          "file": "string",
          "description": "string",
          "intent": "string"
        }
      ],
      "schedules": [
        {
          "name": "string",
          "description": "string",
          "script": "string",
          "cronExpression": "string",
          "intervalMs": 0,
          "timezone": "string",
          "args": {
            "property1": null,
            "property2": null
          }
        }
      ],
      "workflows": [
        {
          "file": "string"
        }
      ],
      "skills": [
        {
          "dir": "string"
        }
      ]
    },
    "homepage": "http://example.com",
    "author": "string"
  },
  "files": {
    "property1": "string",
    "property2": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
PATCH/api/extensions/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "http://localhost:3013/api/extensions/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "extension": {
    "id": "string",
    "name": "string",
    "description": "string",
    "runtime": "api",
    "manifestJson": "string",
    "contentHash": "string",
    "version": 1,
    "activeVersion": 1,
    "enabled": true,
    "priority": 0,
    "configJson": "string",
    "status": "disabled",
    "consecutiveFailures": 0,
    "lastError": "string",
    "agentId": "string",
    "createdByAgentId": "string",
    "createdAt": "string",
    "updatedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
POST/api/extensions/{id}/activate-version

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3013/api/extensions/string/activate-version" \  -H "Content-Type: application/json" \  -d '{    "version": 1  }'
{
  "extension": {
    "id": "string",
    "name": "string",
    "description": "string",
    "runtime": "api",
    "manifestJson": "string",
    "contentHash": "string",
    "version": 1,
    "activeVersion": 1,
    "enabled": true,
    "priority": 0,
    "configJson": "string",
    "status": "disabled",
    "consecutiveFailures": 0,
    "lastError": "string",
    "agentId": "string",
    "createdByAgentId": "string",
    "createdAt": "string",
    "updatedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
POST/api/extensions/{id}/disable

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
Length1 <= length

Response Body

application/json

application/json

application/json

curl -X POST "http://localhost:3013/api/extensions/string/disable"
{
  "extension": {
    "id": "string",
    "name": "string",
    "description": "string",
    "runtime": "api",
    "manifestJson": "string",
    "contentHash": "string",
    "version": 1,
    "activeVersion": 1,
    "enabled": true,
    "priority": 0,
    "configJson": "string",
    "status": "disabled",
    "consecutiveFailures": 0,
    "lastError": "string",
    "agentId": "string",
    "createdByAgentId": "string",
    "createdAt": "string",
    "updatedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
POST/api/extensions/{id}/enable

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
Length1 <= length

Response Body

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3013/api/extensions/string/enable"
{
  "extension": {
    "id": "string",
    "name": "string",
    "description": "string",
    "runtime": "api",
    "manifestJson": "string",
    "contentHash": "string",
    "version": 1,
    "activeVersion": 1,
    "enabled": true,
    "priority": 0,
    "configJson": "string",
    "status": "disabled",
    "consecutiveFailures": 0,
    "lastError": "string",
    "agentId": "string",
    "createdByAgentId": "string",
    "createdAt": "string",
    "updatedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
GET/api/extensions/{id}/runs

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
Length1 <= length

Query Parameters

limit?integer
Range1 <= value <= 500

Response Body

application/json

application/json

curl -X GET "http://localhost:3013/api/extensions/string/runs"
{
  "runs": [
    {
      "id": "string",
      "extensionId": "string",
      "version": 1,
      "event": "string",
      "action": "continue",
      "durationMs": 0,
      "message": "string",
      "agentId": "string",
      "subject": "string",
      "createdAt": "string"
    }
  ]
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
GET/api/extensions/{id}/versions

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
Length1 <= length

Response Body

application/json

application/json

curl -X GET "http://localhost:3013/api/extensions/string/versions"
{
  "versions": [
    {
      "id": "string",
      "extensionId": "string",
      "version": 1,
      "manifestJson": "string",
      "filesJson": "string",
      "contentHash": "string",
      "changedByAgentId": "string",
      "changedAt": "string",
      "changeReason": "string"
    }
  ]
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
GET/api/extensions/catalog

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Response Body

application/json

curl -X GET "http://localhost:3013/api/extensions/catalog"
{
  "extensions": [
    {
      "name": "string",
      "description": "string",
      "version": "string",
      "manifestFile": "string",
      "assets": {
        "property1": 0,
        "property2": 0
      },
      "readme": "string",
      "installed": {
        "id": "string",
        "version": 0,
        "enabled": true
      }
    }
  ]
}
POST/api/extensions/install

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3013/api/extensions/install" \  -H "Content-Type: application/json" \  -d '{}'
{
  "extension": {
    "id": "string",
    "name": "string",
    "description": "string",
    "runtime": "api",
    "manifestJson": "string",
    "contentHash": "string",
    "version": 1,
    "activeVersion": 1,
    "enabled": true,
    "priority": 0,
    "configJson": "string",
    "status": "disabled",
    "consecutiveFailures": 0,
    "lastError": "string",
    "agentId": "string",
    "createdByAgentId": "string",
    "createdAt": "string",
    "updatedAt": "string"
  },
  "manifest": {
    "$schema": "string",
    "name": "string",
    "description": "string",
    "version": "string",
    "runtime": "api",
    "assets": {
      "hooks": "string",
      "scripts": [
        {
          "name": "string",
          "file": "string",
          "description": "string",
          "intent": "string"
        }
      ],
      "schedules": [
        {
          "name": "string",
          "description": "string",
          "script": "string",
          "cronExpression": "string",
          "intervalMs": 0,
          "timezone": "string",
          "args": {
            "property1": null,
            "property2": null
          }
        }
      ],
      "workflows": [
        {
          "file": "string"
        }
      ],
      "skills": [
        {
          "dir": "string"
        }
      ]
    },
    "homepage": "http://example.com",
    "author": "string"
  },
  "contentDeduped": true,
  "assets": {
    "created": [
      {
        "kind": "script",
        "name": "string"
      }
    ],
    "updated": [
      {
        "kind": "script",
        "name": "string"
      }
    ],
    "skipped": [
      {
        "kind": "script",
        "name": "string"
      }
    ],
    "deleted": [
      {
        "kind": "script",
        "name": "string"
      }
    ],
    "detached": [
      {
        "kind": "script",
        "name": "string"
      }
    ]
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
GET/api/extensions/type-defs

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Response Body

curl -X GET "http://localhost:3013/api/extensions/type-defs"
Empty