Skip to content

Tools

9 calls. Every request needs the Authorization header: see the overview.

GET /external-operations

Every definition of the tenant, or of one namespace with { namespace }.

Who can call it: Admins and members, with an API key or a portal session. Try it in the API playground.

Response: ExternalOperation[] (200)

curl -X GET "https://api.maitento.com/external-operations" \
-H "Authorization: $MAITENTO_AUTH"
DELETE /external-operations/by-id/{id}

Deletes the definition (refused with a 400 while something still uses it or a run of it is going).

Who can call it: Admins and members, with an API key or a portal session. Try it in the API playground.

Path parameters

NameTypeRequiredDescription
iduuidyes

Response: no body (204)

curl -X DELETE "https://api.maitento.com/external-operations/by-id/<id>" \
-H "Authorization: $MAITENTO_AUTH"
GET /external-operations/by-id/{id}

The definition with this id. Throws NotFoundError when there is none.

Who can call it: Admins and members, with an API key or a portal session. Try it in the API playground.

Path parameters

NameTypeRequiredDescription
iduuidyes

Response: ExternalOperation (200)

curl -X GET "https://api.maitento.com/external-operations/by-id/<id>" \
-H "Authorization: $MAITENTO_AUTH"
POST /external-operations/by-id/{id}/versions/{version}/disable

Disables one version: everything pinned to it fails closed.

Who can call it: Admins and members, with an API key or a portal session. Try it in the API playground.

Path parameters

NameTypeRequiredDescription
iduuidyes
versionintegeryes

Response: ExternalOperation (200)

curl -X POST "https://api.maitento.com/external-operations/by-id/<id>/versions/<version>/disable" \
-H "Authorization: $MAITENTO_AUTH"
POST /external-operations/by-id/{id}/versions/{version}/enable

Enables a disabled version again.

Who can call it: Admins and members, with an API key or a portal session. Try it in the API playground.

Path parameters

NameTypeRequiredDescription
iduuidyes
versionintegeryes

Response: ExternalOperation (200)

curl -X POST "https://api.maitento.com/external-operations/by-id/<id>/versions/<version>/enable" \
-H "Authorization: $MAITENTO_AUTH"
GET /namespaces/{namespaceName}/external-operations

Every definition of the tenant, or of one namespace with { namespace }.

Who can call it: Admins and members, with an API key or a portal session. Try it in the API playground.

Path parameters

NameTypeRequiredDescription
namespaceNamestringyes

Response: ExternalOperation[] (200)

curl -X GET "https://api.maitento.com/namespaces/<namespaceName>/external-operations" \
-H "Authorization: $MAITENTO_AUTH"
GET /namespaces/{namespaceName}/external-operations/by-name/{name}

The definition with this name in the namespace. Throws NotFoundError when there is none.

Who can call it: Admins and members, with an API key or a portal session. Try it in the API playground.

Path parameters

NameTypeRequiredDescription
namespaceNamestringyes
namestringyes

Response: ExternalOperation (200)

curl -X GET "https://api.maitento.com/namespaces/<namespaceName>/external-operations/by-name/<name>" \
-H "Authorization: $MAITENTO_AUTH"
POST /namespaces/{namespaceName}/external-operations/mcp

Creates a tool over an MCP connector.

Who can call it: Admins and members, with an API key or a portal session. Try it in the API playground.

Path parameters

NameTypeRequiredDescription
namespaceNamestringyes

Request body: McpExternalOperationCreateRequest

FieldTypeRequiredDescription
namestringyesThe tool’s name, unique within its namespace (under 150 characters). The model calls the tool by it.
connectorIduuidyesThe id of the connector the tool calls.
connectorVersioninteger | nullThe connector version to build on. Omitted: the connector’s latest enabled version when the tool is saved. A tool version always calls one exact connector version.
requestBindingsConnectorBinding[]yesFixed values for fields of the request body, which the model never sees or chooses ([] for none).
authenticationHeaderConnectorAuthenticationHeader| nullThe credential sent with every call, from a secret. The connector needs Header authentication.
promptGuidancestring | nullWhen and how to use the tool, written for the model (under 10,000 characters). Omitted: the connector’s description.
requiresApprovalbooleanWhether a person must approve each call before it is made. The run waits with status PendingApproval.

Response: McpExternalOperation (200)

curl -X POST "https://api.maitento.com/namespaces/<namespaceName>/external-operations/mcp" \
-H "Authorization: $MAITENTO_AUTH" \
-H "Content-Type: application/json" \
-d '{"name":"...","connectorId":"...","requestBindings":[]}'
POST /namespaces/{namespaceName}/external-operations/open-api

Creates a tool over an OpenAPI connector.

Who can call it: Admins and members, with an API key or a portal session. Try it in the API playground.

Path parameters

NameTypeRequiredDescription
namespaceNamestringyes

Request body: OpenApiExternalOperationCreateRequest

FieldTypeRequiredDescription
pathBindingsConnectorBinding[]yesFixed values for the connector’s path parameters ([] for none).
queryBindingsConnectorBinding[]yesFixed values for the connector’s query parameters ([] for none).
namestringyesThe tool’s name, unique within its namespace (under 150 characters). The model calls the tool by it.
connectorIduuidyesThe id of the connector the tool calls.
connectorVersioninteger | nullThe connector version to build on. Omitted: the connector’s latest enabled version when the tool is saved. A tool version always calls one exact connector version.
requestBindingsConnectorBinding[]yesFixed values for fields of the request body, which the model never sees or chooses ([] for none).
authenticationHeaderConnectorAuthenticationHeader| nullThe credential sent with every call, from a secret. The connector needs Header authentication.
promptGuidancestring | nullWhen and how to use the tool, written for the model (under 10,000 characters). Omitted: the connector’s description.
requiresApprovalbooleanWhether a person must approve each call before it is made. The run waits with status PendingApproval.

Response: OpenApiExternalOperation (200)

curl -X POST "https://api.maitento.com/namespaces/<namespaceName>/external-operations/open-api" \
-H "Authorization: $MAITENTO_AUTH" \
-H "Content-Type: application/json" \
-d '{"pathBindings":[],"queryBindings":[],"name":"...","connectorId":"...","requestBindings":[]}'