{ "opencollection": "1.0.0", "info": { "name": "Amigo Account Integrations API", "version": "0.1.0" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "Integrations", "type": "folder" }, "items": [ { "info": { "name": "List integrations", "type": "http" }, "http": { "method": "GET", "url": "https://api.amigo.ai/v1/:workspace_id/integrations", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "enabled", "value": "", "type": "query", "description": "Filter to integrations with this enabled flag. None matches both." }, { "name": "search", "value": "", "type": "query", "description": "Substring match against name, display_name, or id (case-insensitive)." }, { "name": "sort_by", "value": "", "type": "query", "description": "Sort axes. Repeated query param stacks left-to-right. Each entry is `+field` or `-field`\n(direction prefix REQUIRED). Allowed fields: ``name``, ``created_at``, ``updated_at``.\nDefault: ``-created_at``. ``id`` is always appended as the final tiebreaker." }, { "name": "limit", "value": "", "type": "query", "description": "The maximum number of integrations to return." }, { "name": "continuation_token", "value": "", "type": "query", "description": "Opaque token from a prior response. Pass back unchanged with the same `sort_by` to advance." } ] }, "docs": "List every integration for a workspace. Optionally filter by `enabled` or `search` (name/display_name/id ilike). Sort via repeated `sort_by` query params; each entry is `+field` or `-field` (allowed fields: name, created_at, updated_at). Default: `-created_at`. Cursor opaque — round-trip `continuation_token` unchanged with the same `sort_by`. Requires `Integration.view` permission." }, { "info": { "name": "Create a REST integration", "type": "http" }, "http": { "method": "POST", "url": "https://api.amigo.ai/v1/:workspace_id/integrations", "params": [ { "name": "workspace_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create a new REST integration in a workspace. Endpoints are added separately via `POST /integrations/{integration_id}/endpoints`. Requires `Integration.create` permission." }, { "info": { "name": "Approve a pending integration-write approval", "type": "http" }, "http": { "method": "POST", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/approvals/:conversation_id/approve", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "conversation_id", "value": "", "type": "path" } ] }, "docs": "Approve a pending human-in-the-loop integration-write approval for a conversation. Publishes `integration.approval_granted` to the workspace event channel; the subscribed text session fires the gated write. Requires `ReviewQueue.review` permission." }, { "info": { "name": "Reject a pending integration-write approval", "type": "http" }, "http": { "method": "POST", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/approvals/:conversation_id/reject", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "conversation_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Reject a pending human-in-the-loop integration-write approval for a conversation. Publishes `integration.approval_rejected` to the workspace event channel; the subscribed text session declines the gated write. Requires `ReviewQueue.review` permission." }, { "info": { "name": "Get an integration", "type": "http" }, "http": { "method": "GET", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/:integration_id", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "integration_id", "value": "", "type": "path" } ] }, "docs": "Retrieve an integration by ID. Requires `Integration.view` permission." }, { "info": { "name": "Update a REST integration", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/:integration_id", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "integration_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Patch a REST integration. NOT NULL fields reject `null` at validation time; pass `auth: null` to clear the auth config. `auth` and `secret_value` are independent — update either alone to swap auth shape (reusing the existing secret) or rotate the secret (keeping the existing auth shape). Requires `Integration.update` permission." }, { "info": { "name": "Delete a REST integration", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/:integration_id", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "integration_id", "value": "", "type": "path" } ] }, "docs": "Delete a REST integration. Requires `Integration.delete` permission." }, { "info": { "name": "List endpoints", "type": "http" }, "http": { "method": "GET", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/:integration_id/endpoints", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "integration_id", "value": "", "type": "path" }, { "name": "search", "value": "", "type": "query", "description": "Substring match against name or description (case-insensitive)." }, { "name": "sort_by", "value": "", "type": "query", "description": "Sort axes. Repeated query param stacks left-to-right. Each entry is `+field` or `-field`\n(direction prefix REQUIRED). Allowed fields: ``name``, ``created_at``, ``updated_at``.\nDefault: ``-created_at``. ``id`` is always appended as the final tiebreaker." }, { "name": "limit", "value": "", "type": "query", "description": "The maximum number of endpoints to return." }, { "name": "continuation_token", "value": "", "type": "query", "description": "Opaque token from a prior response. Pass back unchanged with the same `sort_by` to advance." } ] }, "docs": "List endpoints on a REST integration. Optionally search by name/description. Sort via repeated `sort_by` query params; each entry is `+field` or `-field` (allowed fields: name, created_at, updated_at). Default: `-created_at`. Cursor opaque — round-trip `continuation_token` unchanged with the same `sort_by`. Requires `Integration.view` permission." }, { "info": { "name": "Add an endpoint", "type": "http" }, "http": { "method": "POST", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/:integration_id/endpoints", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "integration_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Add a new endpoint to a REST integration. Requires `Integration.update` permission." }, { "info": { "name": "Get an endpoint", "type": "http" }, "http": { "method": "GET", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/:integration_id/endpoints/:endpoint_id", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "integration_id", "value": "", "type": "path" }, { "name": "endpoint_id", "value": "", "type": "path" } ] }, "docs": "Get a single endpoint on a REST integration. Requires `Integration.view` permission." }, { "info": { "name": "Update an endpoint", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/:integration_id/endpoints/:endpoint_id", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "integration_id", "value": "", "type": "path" }, { "name": "endpoint_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Patch an endpoint on a REST integration. The endpoint `name` is immutable. Pass `response_template: null` to clear the Jinja template (the only DB-nullable column). Every other field rejects explicit null at validation time. Requires `Integration.update` permission." }, { "info": { "name": "Delete an endpoint", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/:integration_id/endpoints/:endpoint_id", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "integration_id", "value": "", "type": "path" }, { "name": "endpoint_id", "value": "", "type": "path" } ] }, "docs": "Delete an endpoint from a REST integration. Requires `Integration.update` permission." }, { "info": { "name": "Test an integration endpoint", "type": "http" }, "http": { "method": "POST", "url": "https://api.amigo.ai/v1/:workspace_id/integrations/:integration_id/endpoints/:endpoint_id/test", "params": [ { "name": "workspace_id", "value": "", "type": "path" }, { "name": "integration_id", "value": "", "type": "path" }, { "name": "endpoint_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Execute an integration endpoint with test parameters and return the full response pipeline breakdown. Requires `Integration.view` permission." } ] } ], "bundled": true }