openapi: 3.1.0 info: title: AskUI Workspaces access-tokens agents API version: 0.2.15 tags: - name: agents paths: /api/v1/agents: get: tags: - agents summary: List Agents description: List all agents matching the query parameters sorted anti-chronologically by when they were last updated (`updated_at`). operationId: list_agents_api_v1_agents_get security: - Bearer: [] - Basic: [] parameters: - name: agent_id in: query required: false schema: anyOf: - type: array items: type: string format: uuid4 - type: 'null' title: Agent Id - name: workspace_id in: query required: false schema: anyOf: - type: array items: type: string format: uuid4 - type: 'null' title: Workspace Id - name: status in: query required: false schema: anyOf: - type: array items: enum: - ACTIVE - ARCHIVED type: string - type: 'null' title: Status - name: skip in: query required: false schema: type: integer minimum: 0 default: 0 title: Skip - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 default: 100 title: Limit - name: expand in: query required: false schema: anyOf: - type: array items: const: total_count type: string - type: 'null' description: 'total_count: Include the total number of agents that match the query, only accurate up to 100.' title: Expand description: 'total_count: Include the total number of agents that match the query, only accurate up to 100.' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentsListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - agents summary: Create Agent operationId: create_agent_api_v1_agents_post security: - Bearer: [] - Basic: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AgentCreateCommand' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Agent' '409': description: Conflict '500': description: Internal server error '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/agents/{agent_id}: patch: tags: - agents summary: Update Agent operationId: update_agent_api_v1_agents__agent_id__patch security: - Bearer: [] - Basic: [] parameters: - name: agent_id in: path required: true schema: type: string format: uuid4 title: Agent Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AgentUpdateCommand' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Agent' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/agents/templates: get: tags: - agents summary: List Agent Templates description: List all available agent templates. operationId: list_agent_templates_api_v1_agents_templates_get responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ListAgentTemplatesResponse' '500': description: Internal server error security: - Bearer: [] - Basic: [] components: schemas: ListAgentTemplatesResponse: properties: data: items: $ref: '#/components/schemas/AgentTemplate' type: array title: Data type: object required: - data title: ListAgentTemplatesResponse DataDestinationWebhook: properties: type: type: string const: WEBHOOK title: Type default: WEBHOOK url: type: string maxLength: 2083 minLength: 1 format: uri title: Url headers: additionalProperties: type: string type: object title: Headers type: object required: - url - headers title: DataDestinationWebhook ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError AgentsListResponse: properties: data: items: $ref: '#/components/schemas/Agent' type: array title: Data hasMore: type: boolean title: Hasmore description: Whether there are more agents that match the query that were not included in this response. default: false totalCount: anyOf: - type: integer - type: 'null' title: Totalcount description: The total number of agents that match the query, only accurate up to 100. type: object required: - data title: AgentsListResponse AgentTemplate: properties: id: type: string maxLength: 64 minLength: 1 pattern: ^[a-zA-Z0-9-_.]{0,64}$ title: Id name: type: string pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-_. ]{0,62}[a-zA-Z0-9])?$ title: Name description: 'The name of the agent. The name must only contain the following characters: a-z, A-Z, 0-9, -, _, and space. The name must not be empty. The name must start and end with a letter or a number. The name must not be longer than 64 characters.' description: type: string maxLength: 1024 title: Description default: '' url: type: string maxLength: 2083 minLength: 1 format: uri title: Url lastModified: type: string format: date-time title: Lastmodified type: object required: - id - name - url - lastModified title: AgentTemplate JsonSchema: properties: title: type: string pattern: ^[a-zA-Z0-9_-]+$ title: Title default: DataToExtract description: type: string title: Description default: '' type: type: string const: object title: Type default: object properties: additionalProperties: additionalProperties: true type: object type: object minProperties: 1 title: Properties required: items: type: string type: array title: Required type: object required: - properties title: JsonSchema EmailAgentTriggerUpdate: properties: active: anyOf: - type: boolean - type: 'null' title: Active allowedSenders: anyOf: - items: type: string type: array uniqueItems: true - type: 'null' title: Allowedsenders localPart: anyOf: - type: string pattern: ^[a-zA-Z0-9-_.+]+$ - type: 'null' title: Localpart type: object title: EmailAgentTriggerUpdate DataDestinationAskUiWorkflow: properties: type: type: string const: ASKUI_WORKFLOW title: Type default: ASKUI_WORKFLOW host: $ref: '#/components/schemas/AskUiRunnerHost' runnerTags: items: type: string type: array title: Runnertags workflows: items: type: string type: array minItems: 1 title: Workflows type: object required: - host - runnerTags - workflows title: DataDestinationAskUiWorkflow HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError DataDestinationWebhookCreate: properties: type: type: string const: WEBHOOK title: Type default: WEBHOOK url: type: string maxLength: 2083 minLength: 1 format: uri title: Url headers: additionalProperties: type: string type: object title: Headers type: object required: - url title: DataDestinationWebhookCreate AgentUpdateCommand: properties: name: anyOf: - type: string pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-_. ]{0,62}[a-zA-Z0-9])?$ description: 'The name of the agent. The name must only contain the following characters: a-z, A-Z, 0-9, -, _, and space. The name must not be empty. The name must start and end with a letter or a number. The name must not be longer than 64 characters.' - type: 'null' title: Name description: anyOf: - type: string maxLength: 1024 default: '' - type: 'null' title: Description status: anyOf: - type: string enum: - ACTIVE - ARCHIVED - type: 'null' title: Status emailTrigger: anyOf: - $ref: '#/components/schemas/EmailAgentTriggerUpdate' - type: 'null' autoConfirm: anyOf: - type: boolean - type: 'null' title: Autoconfirm type: object title: AgentUpdateCommand EmailAgentTriggerCreate: properties: active: type: boolean title: Active description: If false, no emails can be send to trigger agent. default: true allowedSenders: items: type: string type: array uniqueItems: true title: Allowedsenders description: The email addresses that are allowed to send emails to trigger the agent. If empty, no emails can be send to trigger agent. localPart: anyOf: - type: string pattern: ^[a-zA-Z0-9-_.+]+$ - type: 'null' title: Localpart description: Defaults to a unique email string if not provided. type: object title: EmailAgentTriggerCreate AskUiRunnerHost: type: string enum: - SELF - ASKUI title: AskUiRunnerHost EmailAgentTrigger: properties: active: type: boolean title: Active description: If false, no emails can be send to trigger agent. default: true allowedSenders: items: type: string type: array uniqueItems: true title: Allowedsenders description: The email addresses that are allowed to send emails to trigger the agent. If empty, no emails can be send to trigger agent. email: type: string pattern: ^[a-zA-Z0-9-_.+]+@.*$ title: Email description: 'The email address of the agent to send emails to to trigger the agent. The email address must be unique for each agent. The domain of the email address is fixed. The local part of the email address must be between 1 and 64 characters long and can only contain the following characters: a-z, A-Z, 0-9, -, _, . and +.' type: object required: - email title: EmailAgentTrigger AgentCreateCommand: properties: name: type: string pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-_. ]{0,62}[a-zA-Z0-9])?$ title: Name description: 'The name of the agent. The name must only contain the following characters: a-z, A-Z, 0-9, -, _, and space. The name must not be empty. The name must start and end with a letter or a number. The name must not be longer than 64 characters.' description: type: string maxLength: 1024 title: Description default: '' dataSchema: anyOf: - $ref: '#/components/schemas/JsonSchema' - type: 'null' description: The JSON schema of the data that the agent is going to extract from documents uploaded. The schema must comply with Draft 2020-12. The schema (root) must be an object with at least one property. The size of the schema must not exceed 15 MB. autoConfirm: type: boolean title: Autoconfirm description: If true, the agent will automatically confirm the data extracted, i.e., no review is necessary. default: false dataDestinations: items: oneOf: - $ref: '#/components/schemas/DataDestinationAskUiWorkflowCreate' - $ref: '#/components/schemas/DataDestinationWebhookCreate' discriminator: propertyName: type mapping: ASKUI_WORKFLOW: '#/components/schemas/DataDestinationAskUiWorkflowCreate' WEBHOOK: '#/components/schemas/DataDestinationWebhookCreate' type: array title: Datadestinations parentId: anyOf: - type: string format: uuid4 - type: 'null' title: Parentid description: The ID of an agent that this agent is created from, i.e., of the previous version of this agent. Parent is going to be archived as part of the creation of the new (active) agent. emailTrigger: $ref: '#/components/schemas/EmailAgentTriggerCreate' workspaceId: type: string format: uuid4 title: Workspaceid templateId: type: string pattern: ^[a-zA-Z0-9-_.]{1,64}$ title: Templateid description: The ID of the template to copy files from. type: object required: - name - workspaceId - templateId title: AgentCreateCommand Agent: properties: id: type: string format: uuid4 title: Id createdAt: type: string format: date-time title: Createdat updatedAt: type: string format: date-time title: Updatedat name: type: string pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-_. ]{0,62}[a-zA-Z0-9])?$ title: Name description: 'The name of the agent. The name must only contain the following characters: a-z, A-Z, 0-9, -, _, and space. The name must not be empty. The name must start and end with a letter or a number. The name must not be longer than 64 characters.' status: type: string enum: - ACTIVE - ARCHIVED title: Status autoConfirm: type: boolean title: Autoconfirm description: If true, the agent will automatically confirm the data extracted, i.e., no review is necessary. description: type: string maxLength: 1024 title: Description default: '' emailTrigger: $ref: '#/components/schemas/EmailAgentTrigger' dataSchema: anyOf: - $ref: '#/components/schemas/JsonSchema' - type: 'null' description: "\n The data schema describes the data to extract in form of a [JSON schema draft 2020-12](https://json-schema.org/draft/2020-12/release-notes). Use the [\"description\" keyword](https://json-schema.org/understanding-json-schema/reference/annotations) of each property to provide additional information about the field, e.g., the prompt for extraction from sources. \n " dataDestinations: items: oneOf: - $ref: '#/components/schemas/DataDestinationAskUiWorkflow' - $ref: '#/components/schemas/DataDestinationWebhook' discriminator: propertyName: type mapping: ASKUI_WORKFLOW: '#/components/schemas/DataDestinationAskUiWorkflow' WEBHOOK: '#/components/schemas/DataDestinationWebhook' type: array title: Datadestinations workspaceId: type: string format: uuid4 title: Workspaceid folderPath: anyOf: - type: string - type: 'null' title: Folderpath type: object required: - name - status - autoConfirm - emailTrigger - dataDestinations - workspaceId title: Agent DataDestinationAskUiWorkflowCreate: properties: type: type: string const: ASKUI_WORKFLOW title: Type default: ASKUI_WORKFLOW host: $ref: '#/components/schemas/AskUiRunnerHost' default: ASKUI runnerTags: items: type: string type: array title: Runnertags workflows: items: type: string type: array minItems: 1 title: Workflows type: object title: DataDestinationAskUiWorkflowCreate securitySchemes: Bearer: type: http scheme: bearer Basic: type: apiKey in: header name: Authorization