| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- {
- "openapi": "3.0.3",
- "info": {
- "title": "Agencii Platform API",
- "version": "1.0.0",
- "description": "Reference documentation for the Agencii Platform API. Provides endpoints allowing you to run your agents on custom backends or on other unsupported channels. ⚡ Live Postman Example: https://www.postman.com/vrsen-ai/agencii-api/overview"
- },
- "servers": [
- {
- "url": "https://agency-swarm-app-japboyzddq-uc.a.run.app",
- "description": "Production server"
- }
- ],
- "components": {
- "securitySchemes": {
- "BearerAuth": {
- "type": "http",
- "scheme": "bearer",
- "bearerFormat": "JWT",
- "description": "Platform token required for authentication. Find or create one inside Profile Icon > API Keys. Example: Bearer sk-agencii-..."
- }
- },
- "schemas": {
- "Attachment": {
- "type": "object",
- "description": "Object representing a file attachment.",
- "properties": {
- "file_id": { "type": "string", "description": "The unique identifier for the file. Example: file-0SY0lLXWCSSBIOb2gu8UolxH" },
- "tools": {
- "type": "array",
- "items": { "$ref": "#/components/schemas/Tool" },
- "description": "An array of tool objects specifying tools to be used with the file. Example: [{ \"type\": \"file_search\" }]"
- }
- },
- "required": ["file_id", "tools"]
- },
- "Tool": {
- "type": "object",
- "description": "Object representing a tool to be used.",
- "properties": {
- "type": { "type": "string", "description": "The type of tool to be used. Example: file_search" }
- },
- "required": ["type"]
- },
- "GetResponseRequest": {
- "type": "object",
- "description": "Request body for the /get_response endpoint.",
- "properties": {
- "message": { "type": "string", "description": "The message content to be processed by the agent. Example: \"Hey! How are you?\"" },
- "apiIntegrationId": { "type": "string", "description": "The unique identifier for the API integration being used. Example: \"dpCD7snQ0tCWrdtp6UhZ\"" },
- "chatId": { "type": "string", "description": "The unique identifier for the chat session. If provided, continues the chat with the previous context. Example: \"plOQeH3hW7UKiACqEdAx\"", "nullable": true },
- "attachments": {
- "type": "array",
- "items": { "$ref": "#/components/schemas/Attachment" },
- "description": "An array of attachment objects to include files and specify tools for processing. Example: [{\"file_id\": \"file-123\", \"tools\": [{\"type\": \"file_search\"}]}]",
- "nullable": true
- },
- "additionalInstructions": { "type": "string", "description": "Appends additional instructions at the end of the agent's instructions for the run. Useful for modifying behavior per-run. Example: \"User name: John Smith\"", "nullable": true },
- "aliasChatId": { "type": "string", "description": "An alternative to chatId which allows using custom identifiers for persisting chats through third party integrations. Example: \"custom-identifier\"", "nullable": true }
- },
- "required": ["message", "apiIntegrationId"]
- },
- "GetResponseResponse": {
- "type": "object",
- "description": "Response body for the /get_response endpoint when textOnly mode is disabled.",
- "properties": {
- "chatId": { "type": "string", "description": "The unique identifier for the chat session. Example: \"FVfA971B3fnBH4S1OKlo\"" },
- "createdAt": { "type": "string", "format": "date-time", "description": "The timestamp when the response was created (ISO 8601 format). Example: \"2024-08-06T02:02:37.533913\"" },
- "threadId": { "type": "string", "description": "The unique identifier for the underlying thread. Example: \"thread_ruUj69CyW2STm8Zog0HXkvIJ\"" },
- "assistantId": { "type": "string", "description": "The unique identifier for the assistant that responded. Example: \"J3NQwdHxqm9jvWFpOwFk\"" },
- "name": { "type": "string", "description": "The name of the API integration used. Example: \"Test API Integration\"" },
- "message": { "$ref": "#/components/schemas/Message", "description": "The message object containing the agent's response details." },
- "numMessages": { "type": "integer", "description": "The total number of messages in the chat thread. Example: 2" },
- "aliasChatId": { "type": "string", "description": "Alternative chat identifier used for persisting chats through third party integrations. Example: \"r14ud3CyX21Tm8Zog0HKJkvZJ\"" }
- }
- },
- "Message": {
- "type": "object",
- "description": "Object representing a message within the chat.",
- "properties": {
- "id": { "type": "string", "description": "The unique identifier for the message. Example: \"msg_nH4zWgFW7dCUoNQ5msLJNBUd\"" },
- "content": { "type": "string", "description": "The content of the message. Example: \"The secret phrase is: **papaya tangerine**.\"" },
- "role": { "type": "string", "description": "The role of the message sender (e.g., 'assistant', 'user'). Example: \"assistant\"" },
- "type": { "type": "string", "description": "The type of message (e.g., 'text'). Example: \"text\"" },
- "createdAt": { "type": "string", "format": "date-time", "description": "The timestamp when the message was created (ISO 8601 format). Example: \"2024-08-06T02:02:37.533913\"" },
- "references": { "type": "array", "items": { "type": "string" }, "description": "An array of references associated with the message." },
- "fileIds": { "type": "array", "items": { "type": "string" }, "description": "An array of file IDs associated with the message. Example: [\"file-wRZy12uetHH9dVEpR6PhE92j\"]" },
- "assistantData": { "type": "object", "nullable": true, "description": "Additional assistant-related data." },
- "functions": { "type": "object", "nullable": true, "description": "Additional function-related data." }
- }
- },
- "CreateNewChatRequest": {
- "type": "object",
- "description": "Request body for the /create_new_chat endpoint.",
- "properties": {
- "apiIntegrationId": { "type": "string", "description": "The unique identifier of the API integration for which to create the chat. Example: \"dpCD7snQ0tCWrdtp6UhZ\"" }
- },
- "required": ["apiIntegrationId"]
- },
- "CreateNewChatResponse": {
- "type": "object",
- "description": "Response body for the /create_new_chat endpoint.",
- "properties": {
- "chatId": { "type": "string", "description": "The unique identifier for the newly created chat. Example: \"FVfA971B3fnBH4S1OKlo\"" }
- }
- },
- "ErrorResponse": {
- "type": "object",
- "description": "Standard error response format.",
- "properties": {
- "detail": { "type": "string", "description": "A detailed error message." }
- }
- }
- }
- },
- "security": [ { "BearerAuth": [] } ],
- "paths": {
- "/create_new_chat": {
- "post": {
- "summary": "Create new chat",
- "description": "Creates a new chat instance for a user based on a provided API integration. Requires a valid platform token in the headers for authentication. Ensure the apiIntegrationId corresponds to an existing integration.",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": { "$ref": "#/components/schemas/CreateNewChatRequest" }
- }
- }
- },
- "responses": {
- "200": {
- "description": "Chat created successfully. Returns the unique chatId for the new chat.",
- "content": {
- "application/json": {
- "schema": { "$ref": "#/components/schemas/CreateNewChatResponse" }
- }
- }
- },
- "400": {
- "description": "Bad Request. Occurs if the request body is missing required fields or the JSON payload is malformed.",
- "content": {
- "application/json": {
- "schema": { "$ref": "#/components/schemas/ErrorResponse" },
- "example": { "detail": "Your JSON payload is missing required fields. Please consult the documentation." }
- }
- }
- },
- "401": {
- "description": "Unauthorized. Occurs if the Authorization header is missing or contains an invalid token.",
- "content": {
- "application/json": {
- "schema": { "$ref": "#/components/schemas/ErrorResponse" },
- "example": { "detail": "Invalid or missing authorization token." }
- }
- }
- },
- "500": {
- "description": "Internal Server Error. Occurs if there is an issue on the server side while processing the request.",
- "content": {
- "application/json": {
- "schema": { "$ref": "#/components/schemas/ErrorResponse" },
- "example": { "detail": "An unexpected error occurred while processing your request." }
- }
- }
- }
- },
- "security": [ { "BearerAuth": [] } ]
- }
- },
- "/get_response": {
- "post": {
- "summary": "Get response",
- "description": "Processes a message using the specified API integration and returns a response from the agent. Requires a valid platform token. Ensure the apiIntegrationId is valid. Supports continuing existing chats via chatId or aliasChatId and attaching files with tools.",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": { "$ref": "#/components/schemas/GetResponseRequest" }
- }
- }
- },
- "responses": {
- "200": {
- "description": "Successful response. The format varies depending on the `textOnly` mode configured for the API Integration. If `textOnly` is enabled, the response is plain text. Otherwise, it's application/json.",
- "content": {
- "application/json": {
- "schema": { "$ref": "#/components/schemas/GetResponseResponse" }
- },
- "text/plain": {
- "schema": { "type": "string", "example": "This is a final message response from the bot." }
- }
- }
- },
- "400": {
- "description": "Bad Request. Occurs if the request body is missing required fields or the JSON payload is malformed.",
- "content": {
- "application/json": {
- "schema": { "$ref": "#/components/schemas/ErrorResponse" },
- "example": { "detail": "Your JSON payload is missing required fields. Please consult the documentation." }
- }
- }
- },
- "401": {
- "description": "Unauthorized. Occurs if the Authorization header is missing or contains an invalid token.",
- "content": {
- "application/json": {
- "schema": { "$ref": "#/components/schemas/ErrorResponse" },
- "example": { "detail": "Invalid or missing authorization token." }
- }
- }
- },
- "500": {
- "description": "Internal Server Error. Occurs if there is an issue on the server side while processing the request.",
- "content": {
- "application/json": {
- "schema": { "$ref": "#/components/schemas/ErrorResponse" },
- "example": { "detail": "An unexpected error occurred while processing your request." }
- }
- }
- }
- },
- "security": [ { "BearerAuth": [] } ]
- }
- }
- }
- }
|