Skip to content

Interactions

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

GET /interactions

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: Interaction[] (200)

curl -X GET "https://api.maitento.com/interactions" \
-H "Authorization: $MAITENTO_AUTH"
DELETE /interactions/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/interactions/by-id/<id>" \
-H "Authorization: $MAITENTO_AUTH"
GET /interactions/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: Interaction (200)

curl -X GET "https://api.maitento.com/interactions/by-id/<id>" \
-H "Authorization: $MAITENTO_AUTH"
PUT /interactions/managed/by-id/{id}

Updates a managed interaction.

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

Request body: ManagedInteractionUpdateRequest

FieldTypeRequiredDescription
managerAgentInteractionAgentBindingInputyesThe manager: the agent that runs the conversation and dispatches work to the others.
agentsManagedInteractionAgentBindingInput[]yesThe agents the manager can dispatch to, each with what it sees when it is dispatched to.
humanSettingsRoundRobinInteractionHumanSettingsInput| nullWhether a person talks with the manager, and who speaks first. Null: no one does.
maxDispatchesinteger | nullThe most dispatches one run may make, 1 to 200. Null: 30.
namestringyesThe interaction’s name, unique within its namespace.
promptstringyesWhat the agents are asked to do. A run’s inputs are filled in wherever it says %%name%%.
solutionSchemastring | nullThe JSON Schema the answer must match, as JSON text: the run’s output is then JSON of that shape. Null: the output is free text.
systemPromptModeInteractionSystemPromptModeyesHow systemPrompts combine with the instructions Maitento gives every agent.
systemPromptsstring[]yesExtra system instructions for every agent in the interaction.
durationWarningToAitimespan | nullHow long into a run the agents are told that time is running short. Null: they are not told.
durationAutoTerminationtimespan | nullThe longest a run may take. The run stops with an error when it is reached; time spent waiting for a person does not count. Null: no limit.
contextSettingsInteractionContextSettingsInput| nullHow the conversation is kept within the model’s context window, and how many rounds of tool calls an agent may make in one turn. Null: the defaults.
swarmInteractionSwarmSettingsInput| nullThe sub-interactions its participants may start. Null: none.
credentialStackstring | nullThe credential stack its runs use, by id or name, when their start doesn’t name one. Null: the namespace’s default stack, then your tenant’s. A stack that doesn’t exist when a run starts refuses the run.
externalOperationsOpenApiOpenApiExternalOperationBindingInput[]yesTools from OpenAPI connectors that every agent in the interaction can call, as well as its own tools.
externalOperationsMcpMcpExternalOperationBindingInput[]yesTools from MCP connectors that every agent in the interaction can call, as well as its own tools.
inputsConnectorAuthenticationSecretConnectorAuthenticationSecretInputInput[]yesRun inputs that choose the secret a tool sends with its calls.
inputsConnectorBindingConnectorBindingInputInput[]yesRun inputs whose values go straight into a tool’s calls, so the model never sees or chooses them.
inputsPromptPromptInputInput[]yesThe inputs a run is started with, which the prompt uses as %%name%%.
loomLoomConfigurationInput| nullLong-term memory for the interaction’s agents. Null: no memory.

Response: ManagedInteraction (200)

curl -X PUT "https://api.maitento.com/interactions/managed/by-id/<id>" \
-H "Authorization: $MAITENTO_AUTH" \
-H "Content-Type: application/json" \
-d '{"managerAgent":{"name":"...","agent":{},"externalOperationsMcp":[],"externalOperationsOpenApi":[],"loomId":"...","webAccess":{}},"agents":[],"name":"...","prompt":"...","systemPromptMode":"AppendToDefault","systemPrompts":[],"externalOperationsOpenApi":[],"externalOperationsMcp":[],"inputsConnectorAuthenticationSecret":[],"inputsConnectorBinding":[],"inputsPrompt":[]}'
PUT /interactions/one-shot/by-id/{id}

Updates a one-shot interaction (a new version when anything changed).

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

Request body: OneShotInteractionUpdateRequest

FieldTypeRequiredDescription
agentInteractionAgentBindingInputyesThe agent that takes the task.
namestringyesThe interaction’s name, unique within its namespace.
promptstringyesWhat the agents are asked to do. A run’s inputs are filled in wherever it says %%name%%.
solutionSchemastring | nullThe JSON Schema the answer must match, as JSON text: the run’s output is then JSON of that shape. Null: the output is free text.
systemPromptModeInteractionSystemPromptModeyesHow systemPrompts combine with the instructions Maitento gives every agent.
systemPromptsstring[]yesExtra system instructions for every agent in the interaction.
durationWarningToAitimespan | nullHow long into a run the agents are told that time is running short. Null: they are not told.
durationAutoTerminationtimespan | nullThe longest a run may take. The run stops with an error when it is reached; time spent waiting for a person does not count. Null: no limit.
contextSettingsInteractionContextSettingsInput| nullHow the conversation is kept within the model’s context window, and how many rounds of tool calls an agent may make in one turn. Null: the defaults.
swarmInteractionSwarmSettingsInput| nullThe sub-interactions its participants may start. Null: none.
credentialStackstring | nullThe credential stack its runs use, by id or name, when their start doesn’t name one. Null: the namespace’s default stack, then your tenant’s. A stack that doesn’t exist when a run starts refuses the run.
externalOperationsOpenApiOpenApiExternalOperationBindingInput[]yesTools from OpenAPI connectors that every agent in the interaction can call, as well as its own tools.
externalOperationsMcpMcpExternalOperationBindingInput[]yesTools from MCP connectors that every agent in the interaction can call, as well as its own tools.
inputsConnectorAuthenticationSecretConnectorAuthenticationSecretInputInput[]yesRun inputs that choose the secret a tool sends with its calls.
inputsConnectorBindingConnectorBindingInputInput[]yesRun inputs whose values go straight into a tool’s calls, so the model never sees or chooses them.
inputsPromptPromptInputInput[]yesThe inputs a run is started with, which the prompt uses as %%name%%.
loomLoomConfigurationInput| nullLong-term memory for the interaction’s agents. Null: no memory.

Response: OneShotInteraction (200)

curl -X PUT "https://api.maitento.com/interactions/one-shot/by-id/<id>" \
-H "Authorization: $MAITENTO_AUTH" \
-H "Content-Type: application/json" \
-d '{"agent":{"name":"...","agent":{},"externalOperationsMcp":[],"externalOperationsOpenApi":[],"loomId":"...","webAccess":{}},"name":"...","prompt":"...","systemPromptMode":"AppendToDefault","systemPrompts":[],"externalOperationsOpenApi":[],"externalOperationsMcp":[],"inputsConnectorAuthenticationSecret":[],"inputsConnectorBinding":[],"inputsPrompt":[]}'
PUT /interactions/processes/by-id/{id}/start

Starts a run of the interaction’s latest enabled version and returns it (status New). Starts work, so it is never retried. To wait for the answer, use {@link run}.

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

Request body: InteractionProcessStartRequest

FieldTypeRequiredDescription
inputsNameValuePair[]yesThe run’s inputs, by name. Every required input must be given.
loomMappingsLoomMappingRequest[] | nullThe loom particular agents wake up with in this run, in place of the one the interaction would choose.
loomGiftsLoomStartGiftRequest[] | nullThreads to hand to agents as they start, so they wake up knowing them, and knowing they were told.
aiModelOverridesAiModelOverrideRequestInput[] | nullAgents to run on a different model in this run.
responseJsonSchemastring | nullA JSON Schema the run’s answer must match, in place of the interaction’s own. Must be a valid JSON Schema.
disabledToolsstring[] | nullThe names of tools this run’s agents are not given.
credentialsInteractionProcessCredentialRequest[] | nullModel provider keys of yours for this run. Calls use these first, then your tenant’s model keys.
allowMaitentoFallbackboolean | nullWhether an agent may fall back to Maitento’s own key once your keys for its provider are used up or have failed (and only when your tenant allows it). Null or false: it may not, and the turn fails instead.
credentialStackstring | nullThe credential stack the run uses, by id or name. Its credentials serve every model call, in the stack’s order, and Maitento’s own keys are never used. Leave it out to use the interaction’s own stack, then the namespace’s default, then your tenant’s. Can’t be combined with credentials.
durationAutoTerminationOverridetimespan | nullThe longest this run may take, in place of the interaction’s own limit. Null: the interaction’s.
durationWarningOverridetimespan | nullHow long into this run the agents are told that time is running short, in place of the interaction’s own setting. Null: the interaction’s.
swarmLimitsInteractionSwarmLimitsRequestInput| nullNarrows how far the sub-interactions this run’s participants start may spread: each limit given becomes the lesser of it and the definition’s, and each left out is not narrowed. It can never widen them. Null: the definition’s limits.
webDownloadPartitionIduuid | nullThe temporary knowledge base (partition) the run’s web fetches are kept in. Null: the namespace’s default, then the tenant’s. A run whose agents may fetch, with none of the three, is refused (api:web:download-partition-required). Runs it starts use it too.
webAccessOverridesWebAccessOverrideInput[] | nullPer-agent overrides of the agents’ web tools for this run.

Response: InteractionProcess (200)

curl -X PUT "https://api.maitento.com/interactions/processes/by-id/<id>/start" \
-H "Authorization: $MAITENTO_AUTH" \
-H "Content-Type: application/json" \
-d '{"inputs":[]}'
PUT /interactions/round-robin/by-id/{id}

Updates a round-robin interaction.

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

Request body: RoundRobinInteractionUpdateRequest

FieldTypeRequiredDescription
agentsInteractionAgentBindingInput[]yesThe participants, in the order they take turns.
isNoActionAllowedbooleanWhether an agent may pass its turn without saying anything.
isVotingAllowedbooleanWhether an agent may put something to a vote.
isDirectQuestioningAllowedbooleanWhether an agent may ask another a question directly.
isSolutionProposalAllowedbooleanWhether an agent may propose a final answer for the others to vote on. With no one able to, a conversation with a person carries on until it is stopped.
humanSettingsRoundRobinInteractionHumanSettingsInput| nullWhether a person takes part in the conversation, and how. Null: no one does.
maximumNoActionLoopsinteger | nullHow many rounds in which every agent passes end the run. Null: no limit.
namestringyesThe interaction’s name, unique within its namespace.
promptstringyesWhat the agents are asked to do. A run’s inputs are filled in wherever it says %%name%%.
solutionSchemastring | nullThe JSON Schema the answer must match, as JSON text: the run’s output is then JSON of that shape. Null: the output is free text.
systemPromptModeInteractionSystemPromptModeyesHow systemPrompts combine with the instructions Maitento gives every agent.
systemPromptsstring[]yesExtra system instructions for every agent in the interaction.
durationWarningToAitimespan | nullHow long into a run the agents are told that time is running short. Null: they are not told.
durationAutoTerminationtimespan | nullThe longest a run may take. The run stops with an error when it is reached; time spent waiting for a person does not count. Null: no limit.
contextSettingsInteractionContextSettingsInput| nullHow the conversation is kept within the model’s context window, and how many rounds of tool calls an agent may make in one turn. Null: the defaults.
swarmInteractionSwarmSettingsInput| nullThe sub-interactions its participants may start. Null: none.
credentialStackstring | nullThe credential stack its runs use, by id or name, when their start doesn’t name one. Null: the namespace’s default stack, then your tenant’s. A stack that doesn’t exist when a run starts refuses the run.
externalOperationsOpenApiOpenApiExternalOperationBindingInput[]yesTools from OpenAPI connectors that every agent in the interaction can call, as well as its own tools.
externalOperationsMcpMcpExternalOperationBindingInput[]yesTools from MCP connectors that every agent in the interaction can call, as well as its own tools.
inputsConnectorAuthenticationSecretConnectorAuthenticationSecretInputInput[]yesRun inputs that choose the secret a tool sends with its calls.
inputsConnectorBindingConnectorBindingInputInput[]yesRun inputs whose values go straight into a tool’s calls, so the model never sees or chooses them.
inputsPromptPromptInputInput[]yesThe inputs a run is started with, which the prompt uses as %%name%%.
loomLoomConfigurationInput| nullLong-term memory for the interaction’s agents. Null: no memory.

Response: RoundRobinInteraction (200)

curl -X PUT "https://api.maitento.com/interactions/round-robin/by-id/<id>" \
-H "Authorization: $MAITENTO_AUTH" \
-H "Content-Type: application/json" \
-d '{"agents":[],"name":"...","prompt":"...","systemPromptMode":"AppendToDefault","systemPrompts":[],"externalOperationsOpenApi":[],"externalOperationsMcp":[],"inputsConnectorAuthenticationSecret":[],"inputsConnectorBinding":[],"inputsPrompt":[]}'
GET /namespaces/{namespaceName}/interactions

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: Interaction[] (200)

curl -X GET "https://api.maitento.com/namespaces/<namespaceName>/interactions" \
-H "Authorization: $MAITENTO_AUTH"
GET /namespaces/{namespaceName}/interactions/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: Interaction (200)

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

Starts a run of the interaction’s latest enabled version and returns it (status New). Starts work, so it is never retried. To wait for the answer, use {@link run}.

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

Path parameters

NameTypeRequiredDescription
namestringyes
namespaceNamestringyes

Request body: InteractionProcessStartRequest

FieldTypeRequiredDescription
inputsNameValuePair[]yesThe run’s inputs, by name. Every required input must be given.
loomMappingsLoomMappingRequest[] | nullThe loom particular agents wake up with in this run, in place of the one the interaction would choose.
loomGiftsLoomStartGiftRequest[] | nullThreads to hand to agents as they start, so they wake up knowing them, and knowing they were told.
aiModelOverridesAiModelOverrideRequestInput[] | nullAgents to run on a different model in this run.
responseJsonSchemastring | nullA JSON Schema the run’s answer must match, in place of the interaction’s own. Must be a valid JSON Schema.
disabledToolsstring[] | nullThe names of tools this run’s agents are not given.
credentialsInteractionProcessCredentialRequest[] | nullModel provider keys of yours for this run. Calls use these first, then your tenant’s model keys.
allowMaitentoFallbackboolean | nullWhether an agent may fall back to Maitento’s own key once your keys for its provider are used up or have failed (and only when your tenant allows it). Null or false: it may not, and the turn fails instead.
credentialStackstring | nullThe credential stack the run uses, by id or name. Its credentials serve every model call, in the stack’s order, and Maitento’s own keys are never used. Leave it out to use the interaction’s own stack, then the namespace’s default, then your tenant’s. Can’t be combined with credentials.
durationAutoTerminationOverridetimespan | nullThe longest this run may take, in place of the interaction’s own limit. Null: the interaction’s.
durationWarningOverridetimespan | nullHow long into this run the agents are told that time is running short, in place of the interaction’s own setting. Null: the interaction’s.
swarmLimitsInteractionSwarmLimitsRequestInput| nullNarrows how far the sub-interactions this run’s participants start may spread: each limit given becomes the lesser of it and the definition’s, and each left out is not narrowed. It can never widen them. Null: the definition’s limits.
webDownloadPartitionIduuid | nullThe temporary knowledge base (partition) the run’s web fetches are kept in. Null: the namespace’s default, then the tenant’s. A run whose agents may fetch, with none of the three, is refused (api:web:download-partition-required). Runs it starts use it too.
webAccessOverridesWebAccessOverrideInput[] | nullPer-agent overrides of the agents’ web tools for this run.

Response: InteractionProcess (200)

curl -X PUT "https://api.maitento.com/namespaces/<namespaceName>/interactions/by-name/<name>/start" \
-H "Authorization: $MAITENTO_AUTH" \
-H "Content-Type: application/json" \
-d '{"inputs":[]}'
POST /namespaces/{namespaceName}/interactions/managed

Creates a managed interaction (a manager agent hands work to a team).

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: ManagedInteractionCreateRequest

FieldTypeRequiredDescription
managerAgentInteractionAgentBindingInputyesThe manager: the agent that runs the conversation and dispatches work to the others.
agentsManagedInteractionAgentBindingInput[]yesThe agents the manager can dispatch to, each with what it sees when it is dispatched to.
humanSettingsRoundRobinInteractionHumanSettingsInput| nullWhether a person talks with the manager, and who speaks first. Null: no one does.
maxDispatchesinteger | nullThe most dispatches one run may make, 1 to 200. Null: 30.
namestringyesThe interaction’s name, unique within its namespace.
promptstringyesWhat the agents are asked to do. A run’s inputs are filled in wherever it says %%name%%.
solutionSchemastring | nullThe JSON Schema the answer must match, as JSON text: the run’s output is then JSON of that shape. Null: the output is free text.
systemPromptModeInteractionSystemPromptModeyesHow systemPrompts combine with the instructions Maitento gives every agent.
systemPromptsstring[]yesExtra system instructions for every agent in the interaction.
durationWarningToAitimespan | nullHow long into a run the agents are told that time is running short. Null: they are not told.
durationAutoTerminationtimespan | nullThe longest a run may take. The run stops with an error when it is reached; time spent waiting for a person does not count. Null: no limit.
contextSettingsInteractionContextSettingsInput| nullHow the conversation is kept within the model’s context window, and how many rounds of tool calls an agent may make in one turn. Null: the defaults.
swarmInteractionSwarmSettingsInput| nullThe sub-interactions its participants may start. Null: none.
credentialStackstring | nullThe credential stack its runs use, by id or name, when their start doesn’t name one. Null: the namespace’s default stack, then your tenant’s. A stack that doesn’t exist when a run starts refuses the run.
externalOperationsOpenApiOpenApiExternalOperationBindingInput[]yesTools from OpenAPI connectors that every agent in the interaction can call, as well as its own tools.
externalOperationsMcpMcpExternalOperationBindingInput[]yesTools from MCP connectors that every agent in the interaction can call, as well as its own tools.
inputsConnectorAuthenticationSecretConnectorAuthenticationSecretInputInput[]yesRun inputs that choose the secret a tool sends with its calls.
inputsConnectorBindingConnectorBindingInputInput[]yesRun inputs whose values go straight into a tool’s calls, so the model never sees or chooses them.
inputsPromptPromptInputInput[]yesThe inputs a run is started with, which the prompt uses as %%name%%.
loomLoomConfigurationInput| nullLong-term memory for the interaction’s agents. Null: no memory.

Response: ManagedInteraction (200)

curl -X POST "https://api.maitento.com/namespaces/<namespaceName>/interactions/managed" \
-H "Authorization: $MAITENTO_AUTH" \
-H "Content-Type: application/json" \
-d '{"managerAgent":{"name":"...","agent":{},"externalOperationsMcp":[],"externalOperationsOpenApi":[],"loomId":"...","webAccess":{}},"agents":[],"name":"...","prompt":"...","systemPromptMode":"AppendToDefault","systemPrompts":[],"externalOperationsOpenApi":[],"externalOperationsMcp":[],"inputsConnectorAuthenticationSecret":[],"inputsConnectorBinding":[],"inputsPrompt":[]}'
POST /namespaces/{namespaceName}/interactions/one-shot

Creates a one-shot interaction (one agent, one answer).

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: OneShotInteractionCreateRequest

FieldTypeRequiredDescription
agentInteractionAgentBindingInputyesThe agent that takes the task.
namestringyesThe interaction’s name, unique within its namespace.
promptstringyesWhat the agents are asked to do. A run’s inputs are filled in wherever it says %%name%%.
solutionSchemastring | nullThe JSON Schema the answer must match, as JSON text: the run’s output is then JSON of that shape. Null: the output is free text.
systemPromptModeInteractionSystemPromptModeyesHow systemPrompts combine with the instructions Maitento gives every agent.
systemPromptsstring[]yesExtra system instructions for every agent in the interaction.
durationWarningToAitimespan | nullHow long into a run the agents are told that time is running short. Null: they are not told.
durationAutoTerminationtimespan | nullThe longest a run may take. The run stops with an error when it is reached; time spent waiting for a person does not count. Null: no limit.
contextSettingsInteractionContextSettingsInput| nullHow the conversation is kept within the model’s context window, and how many rounds of tool calls an agent may make in one turn. Null: the defaults.
swarmInteractionSwarmSettingsInput| nullThe sub-interactions its participants may start. Null: none.
credentialStackstring | nullThe credential stack its runs use, by id or name, when their start doesn’t name one. Null: the namespace’s default stack, then your tenant’s. A stack that doesn’t exist when a run starts refuses the run.
externalOperationsOpenApiOpenApiExternalOperationBindingInput[]yesTools from OpenAPI connectors that every agent in the interaction can call, as well as its own tools.
externalOperationsMcpMcpExternalOperationBindingInput[]yesTools from MCP connectors that every agent in the interaction can call, as well as its own tools.
inputsConnectorAuthenticationSecretConnectorAuthenticationSecretInputInput[]yesRun inputs that choose the secret a tool sends with its calls.
inputsConnectorBindingConnectorBindingInputInput[]yesRun inputs whose values go straight into a tool’s calls, so the model never sees or chooses them.
inputsPromptPromptInputInput[]yesThe inputs a run is started with, which the prompt uses as %%name%%.
loomLoomConfigurationInput| nullLong-term memory for the interaction’s agents. Null: no memory.

Response: OneShotInteraction (200)

curl -X POST "https://api.maitento.com/namespaces/<namespaceName>/interactions/one-shot" \
-H "Authorization: $MAITENTO_AUTH" \
-H "Content-Type: application/json" \
-d '{"agent":{"name":"...","agent":{},"externalOperationsMcp":[],"externalOperationsOpenApi":[],"loomId":"...","webAccess":{}},"name":"...","prompt":"...","systemPromptMode":"AppendToDefault","systemPrompts":[],"externalOperationsOpenApi":[],"externalOperationsMcp":[],"inputsConnectorAuthenticationSecret":[],"inputsConnectorBinding":[],"inputsPrompt":[]}'
POST /namespaces/{namespaceName}/interactions/round-robin

Creates a round-robin interaction (agents, and optionally a person, take turns).

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: RoundRobinInteractionCreateRequest

FieldTypeRequiredDescription
agentsInteractionAgentBindingInput[]yesThe participants, in the order they take turns.
isNoActionAllowedbooleanWhether an agent may pass its turn without saying anything.
isVotingAllowedbooleanWhether an agent may put something to a vote.
isDirectQuestioningAllowedbooleanWhether an agent may ask another a question directly.
isSolutionProposalAllowedbooleanWhether an agent may propose a final answer for the others to vote on. With no one able to, a conversation with a person carries on until it is stopped.
humanSettingsRoundRobinInteractionHumanSettingsInput| nullWhether a person takes part in the conversation, and how. Null: no one does.
maximumNoActionLoopsinteger | nullHow many rounds in which every agent passes end the run. Null: no limit.
namestringyesThe interaction’s name, unique within its namespace.
promptstringyesWhat the agents are asked to do. A run’s inputs are filled in wherever it says %%name%%.
solutionSchemastring | nullThe JSON Schema the answer must match, as JSON text: the run’s output is then JSON of that shape. Null: the output is free text.
systemPromptModeInteractionSystemPromptModeyesHow systemPrompts combine with the instructions Maitento gives every agent.
systemPromptsstring[]yesExtra system instructions for every agent in the interaction.
durationWarningToAitimespan | nullHow long into a run the agents are told that time is running short. Null: they are not told.
durationAutoTerminationtimespan | nullThe longest a run may take. The run stops with an error when it is reached; time spent waiting for a person does not count. Null: no limit.
contextSettingsInteractionContextSettingsInput| nullHow the conversation is kept within the model’s context window, and how many rounds of tool calls an agent may make in one turn. Null: the defaults.
swarmInteractionSwarmSettingsInput| nullThe sub-interactions its participants may start. Null: none.
credentialStackstring | nullThe credential stack its runs use, by id or name, when their start doesn’t name one. Null: the namespace’s default stack, then your tenant’s. A stack that doesn’t exist when a run starts refuses the run.
externalOperationsOpenApiOpenApiExternalOperationBindingInput[]yesTools from OpenAPI connectors that every agent in the interaction can call, as well as its own tools.
externalOperationsMcpMcpExternalOperationBindingInput[]yesTools from MCP connectors that every agent in the interaction can call, as well as its own tools.
inputsConnectorAuthenticationSecretConnectorAuthenticationSecretInputInput[]yesRun inputs that choose the secret a tool sends with its calls.
inputsConnectorBindingConnectorBindingInputInput[]yesRun inputs whose values go straight into a tool’s calls, so the model never sees or chooses them.
inputsPromptPromptInputInput[]yesThe inputs a run is started with, which the prompt uses as %%name%%.
loomLoomConfigurationInput| nullLong-term memory for the interaction’s agents. Null: no memory.

Response: RoundRobinInteraction (200)

curl -X POST "https://api.maitento.com/namespaces/<namespaceName>/interactions/round-robin" \
-H "Authorization: $MAITENTO_AUTH" \
-H "Content-Type: application/json" \
-d '{"agents":[],"name":"...","prompt":"...","systemPromptMode":"AppendToDefault","systemPrompts":[],"externalOperationsOpenApi":[],"externalOperationsMcp":[],"inputsConnectorAuthenticationSecret":[],"inputsConnectorBinding":[],"inputsPrompt":[]}'