openapi: 3.2.0 info: title: llm-api Integration API version: 1.0.0 servers: - url: https://llm-api.treasuredata.com - url: https://llm-api.eu01.treasuredata.com - url: https://llm-api.ap02.treasuredata.com - url: https://llm-api.treasuredata.co.jp security: - ApiKeyAuth: [] tags: - name: Integration paths: /api/integrations: get: summary: index tags: - Integration responses: '200': description: allows GET /api/integrations content: application/vnd.api+json: schema: type: object properties: data: type: array items: type: object properties: id: type: string type: type: string links: type: object properties: self: type: string required: - self attributes: type: object properties: createdAt: type: string updatedAt: type: string projectId: type: string isManaged: type: boolean serviceType: type: string actions: type: array items: {} webhookAuthorizationUsername: type: - string - 'null' webhookAuthorizationPassword: type: - string - 'null' webhookAuthorizationHeader: type: string webhookCorsOrigins: type: - array - 'null' items: type: object properties: origin: type: string required: - origin slackSigningSecret: type: - string - 'null' slackMessageMode: type: string chatIgnoreManagedActions: type: boolean chatWelcomeMessage: {} required: - createdAt - updatedAt - projectId - isManaged - serviceType - actions - webhookAuthorizationUsername - webhookAuthorizationPassword - webhookAuthorizationHeader - webhookCorsOrigins - slackSigningSecret - slackMessageMode - chatIgnoreManagedActions - chatWelcomeMessage relationships: type: object properties: createdBy: type: object properties: data: type: object properties: type: type: string id: type: string required: - type - id required: - data updatedBy: type: object properties: data: type: object properties: type: type: string id: type: string required: - type - id required: - data required: - createdBy - updatedBy required: - id - type - links - attributes meta: type: object properties: total: type: integer required: - total links: type: object properties: first: type: string last: type: string required: - first - last included: type: array items: type: object properties: id: type: string type: type: string attributes: type: object properties: name: type: string email: type: string required: - name - email required: - id - type - attributes required: - data - meta - links example: data: - id: 00000000-0000-0000-0000-000000000001 type: integrations links: self: http://www.example.com/api/integrations/00000000-0000-0000-0000-000000000001 attributes: createdAt: '2025-05-01T05:05:14.000Z' updatedAt: '2025-05-01T05:05:14.000Z' projectId: 00000000-0000-0000-0000-000000000001 isManaged: true serviceType: WEBHOOK actions: [] webhookAuthorizationUsername: v0 webhookAuthorizationPassword: webhookAuthorizationHeader: Basic webhookCorsOrigins: null slackSigningSecret: null slackMessageMode: in_channel chatIgnoreManagedActions: false chatWelcomeMessage: null meta: total: 1 links: first: http://www.example.com/api/integrations?page%5Blimit%5D=20&page%5Boffset%5D=0 last: http://www.example.com/api/integrations?page%5Blimit%5D=20&page%5Boffset%5D=0 included: - id: 00000000-0000-0000-0000-000000000001 type: users attributes: name: Admin User email: admin@example.com '401': description: Rejected by 401 content: application/json: schema: type: object properties: status: type: string error: type: string required: - status - error example: status: '401' error: User credentials aren't set on the request parameters: - name: include in: query required: false schema: type: string example: createdBy,updatedBy - name: sort in: query required: false schema: type: string example: id post: summary: create tags: - Integration responses: '201': description: Integration successfully created content: application/vnd.api+json: schema: type: object properties: data: type: object properties: id: type: string type: type: string links: type: object properties: self: type: string required: - self attributes: type: object properties: createdAt: type: string updatedAt: type: string projectId: type: string isManaged: type: boolean serviceType: type: string actions: type: array items: type: object properties: promptId: type: string chatWidgetType: type: - string - 'null' chatWidgetLabel: {} uiTags: type: array items: type: string webhookTextUrl: type: - string - 'null' slackRequestUrl: {} required: - promptId - chatWidgetType - chatWidgetLabel - uiTags - webhookTextUrl - slackRequestUrl webhookAuthorizationUsername: type: - string - 'null' webhookAuthorizationPassword: type: - string - 'null' webhookAuthorizationHeader: type: string webhookCorsOrigins: {} slackSigningSecret: {} slackMessageMode: type: string chatIgnoreManagedActions: type: boolean chatWelcomeMessage: {} required: - createdAt - updatedAt - projectId - isManaged - serviceType - actions - webhookAuthorizationUsername - webhookAuthorizationPassword - webhookAuthorizationHeader - webhookCorsOrigins - slackSigningSecret - slackMessageMode - chatIgnoreManagedActions - chatWelcomeMessage required: - id - type - links - attributes required: - data example: data: id: 00000000-0000-0000-0000-000000000001 type: integrations links: self: http://www.example.com/api/integrations/00000000-0000-0000-0000-000000000001 attributes: createdAt: '2025-05-01T05:05:14.000Z' updatedAt: '2025-05-01T05:05:14.000Z' projectId: 00000000-0000-0000-0000-000000000001 isManaged: false serviceType: WEBHOOK actions: - promptId: 00000000-0000-0000-0000-000000000001 chatWidgetType: null chatWidgetLabel: null uiTags: [] webhookTextUrl: http://localhost:3000/api/actions/00000000-0000-0000-0000-000000000001/text slackRequestUrl: null webhookAuthorizationUsername: v0 webhookAuthorizationPassword: webhookAuthorizationHeader: Basic webhookCorsOrigins: null slackSigningSecret: null slackMessageMode: in_channel chatIgnoreManagedActions: false chatWelcomeMessage: null '400': description: rejects POST /api/integrations content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object properties: title: type: string detail: type: string code: type: string status: type: string required: - title - detail - code - status required: - errors example: errors: - title: Param not allowed detail: isManaged is not allowed. code: '105' status: '400' '401': description: Rejected by 401 content: application/json: schema: type: object properties: status: type: string error: type: string required: - status - error example: status: '401' error: User credentials aren't set on the request '422': description: Validation error - invalid action configuration provided content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object properties: title: type: string detail: type: string code: type: string source: type: object properties: pointer: type: string required: - pointer status: type: string meta: type: object properties: validationCode: type: string required: - validationCode required: - title - detail - code - source - status - meta required: - errors example: errors: - title: is too long (maximum is 10 characters) detail: webhookCorsOrigins - is too long (maximum is 10 characters) code: '100' source: pointer: /data/attributes/webhookCorsOrigins status: '422' meta: validationCode: IS_TOO_LONG requestBody: content: application/json: schema: type: object properties: data: type: object properties: type: type: string attributes: type: object properties: serviceType: type: string projectId: type: string actions: type: array items: type: object properties: promptId: type: string chatWidgetType: type: string uiTags: type: array items: type: string required: - promptId required: - serviceType - projectId - actions required: - type - attributes required: - data example: data: type: integrations attributes: serviceType: WEBHOOK projectId: 00000000-0000-0000-0000-000000000001 actions: - promptId: 00000000-0000-0000-0000-000000000001 /api/integrations/{id}: delete: summary: destroy tags: - Integration parameters: - name: id in: path required: true schema: type: string example: 00000000-0000-0000-0000-000000000001 responses: '204': description: Integration deleted successfully '401': description: Unauthorized - authentication credentials are missing or invalid content: application/json: schema: type: object properties: status: type: string error: type: string required: - status - error example: status: '401' error: User credentials aren't set on the request '403': description: Forbidden - insufficient permissions to delete this integration content: application/json: schema: type: object properties: status: type: string error: type: string required: - status - error example: status: '403' error: Forbidden '404': description: Integration not found content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object properties: title: type: string detail: type: string code: type: string status: type: string required: - title - detail - code - status required: - errors example: errors: - title: Record not found detail: The record identified by 00000000-0000-0000-0000-000000000001 could not be found. code: '404' status: '404' get: summary: show tags: - Integration parameters: - name: id in: path required: true schema: type: string example: 00000000-0000-0000-0000-000000000001 responses: '200': description: allows GET /api/integrations/:id content: application/vnd.api+json: schema: type: object properties: data: type: object properties: id: type: string type: type: string links: type: object properties: self: type: string required: - self attributes: type: object properties: createdAt: type: string updatedAt: type: string projectId: type: string isManaged: type: boolean serviceType: type: string actions: type: array items: type: object properties: promptId: type: string chatWidgetType: {} chatWidgetLabel: {} uiTags: type: array items: type: string webhookTextUrl: type: string slackRequestUrl: {} required: - promptId - chatWidgetType - chatWidgetLabel - uiTags - webhookTextUrl - slackRequestUrl webhookAuthorizationUsername: type: - string - 'null' webhookAuthorizationPassword: type: - string - 'null' webhookAuthorizationHeader: type: string webhookCorsOrigins: type: - array - 'null' items: type: object properties: origin: type: string required: - origin slackSigningSecret: type: - string - 'null' slackMessageMode: type: string chatIgnoreManagedActions: type: boolean chatWelcomeMessage: {} required: - createdAt - updatedAt - projectId - isManaged - serviceType - actions - webhookAuthorizationUsername - webhookAuthorizationPassword - webhookAuthorizationHeader - webhookCorsOrigins - slackSigningSecret - slackMessageMode - chatIgnoreManagedActions - chatWelcomeMessage required: - id - type - links - attributes required: - data example: data: id: 00000000-0000-0000-0000-000000000001 type: integrations links: self: http://www.example.com/api/integrations/00000000-0000-0000-0000-000000000001 attributes: createdAt: '2025-05-01T05:05:14.000Z' updatedAt: '2025-05-01T05:05:14.000Z' projectId: 00000000-0000-0000-0000-000000000001 isManaged: true serviceType: WEBHOOK actions: [] webhookAuthorizationUsername: v0 webhookAuthorizationPassword: webhookAuthorizationHeader: Basic webhookCorsOrigins: null slackSigningSecret: null slackMessageMode: in_channel chatIgnoreManagedActions: false chatWelcomeMessage: null '401': description: Rejected by 401 content: application/json: schema: type: object properties: status: type: string error: type: string required: - status - error example: status: '401' error: User credentials aren't set on the request '404': description: GET /api/integrations/:id returns 404 Not Found content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object properties: title: type: string detail: type: string code: type: string status: type: string required: - title - detail - code - status required: - errors example: errors: - title: Record not found detail: The record identified by 00000000-0000-0000-0000-000000000001 could not be found. code: '404' status: '404' patch: summary: update tags: - Integration parameters: - name: id in: path required: true schema: type: string example: 00000000-0000-0000-0000-000000000001 responses: '200': description: updates an integration's updated_at field when actions are updated content: application/vnd.api+json: schema: type: object properties: data: type: object properties: id: type: string type: type: string links: type: object properties: self: type: string required: - self attributes: type: object properties: createdAt: type: string updatedAt: type: string projectId: type: string isManaged: type: boolean serviceType: type: string actions: type: array items: type: object properties: promptId: type: string chatWidgetType: {} chatWidgetLabel: {} uiTags: type: array items: {} webhookTextUrl: type: string slackRequestUrl: {} required: - promptId - chatWidgetType - chatWidgetLabel - uiTags - webhookTextUrl - slackRequestUrl webhookAuthorizationUsername: type: - string - 'null' webhookAuthorizationPassword: type: - string - 'null' webhookAuthorizationHeader: type: string webhookCorsOrigins: {} slackSigningSecret: type: - string - 'null' slackMessageMode: type: string chatIgnoreManagedActions: type: boolean chatWelcomeMessage: {} required: - createdAt - updatedAt - projectId - isManaged - serviceType - actions - webhookAuthorizationUsername - webhookAuthorizationPassword - webhookAuthorizationHeader - webhookCorsOrigins - slackSigningSecret - slackMessageMode - chatIgnoreManagedActions - chatWelcomeMessage required: - id - type - links - attributes required: - data example: data: id: 00000000-0000-0000-0000-000000000001 type: integrations links: self: http://www.example.com/api/integrations/00000000-0000-0000-0000-000000000001 attributes: createdAt: '2025-05-01T05:05:14.000Z' updatedAt: '2025-05-01T05:05:14.000Z' projectId: 00000000-0000-0000-0000-000000000001 isManaged: false serviceType: WEBHOOK actions: - promptId: 00000000-0000-0000-0000-000000000001 chatWidgetType: null chatWidgetLabel: null uiTags: [] webhookTextUrl: http://localhost:3000/api/actions/00000000-0000-0000-0000-000000000001/text slackRequestUrl: null webhookAuthorizationUsername: v0 webhookAuthorizationPassword: webhookAuthorizationHeader: Basic webhookCorsOrigins: null slackSigningSecret: null slackMessageMode: in_channel chatIgnoreManagedActions: false chatWelcomeMessage: null '400': description: rejects PATCH /api/integrations/:id content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object properties: title: type: string detail: type: string code: type: string status: type: string required: - title - detail - code - status required: - errors example: errors: - title: Param not allowed detail: isManaged is not allowed. code: '105' status: '400' '401': description: Rejected by 401 content: application/json: schema: type: object properties: status: type: string error: type: string required: - status - error example: status: '401' error: User credentials aren't set on the request '404': description: PATCH /api/integrations/:id returns 404 Not Found content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object properties: title: type: string detail: type: string code: type: string status: type: string required: - title - detail - code - status required: - errors example: errors: - title: Record not found detail: The record identified by 00000000-0000-0000-0000-000000000001 could not be found. code: '404' status: '404' '422': description: rejects duplicated unique name content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object properties: title: type: string detail: type: string code: type: string source: type: object properties: pointer: type: string required: - pointer status: type: string meta: type: object properties: validationCode: type: string required: - validationCode required: - title - detail - code - source - status - meta required: - errors example: errors: - title: has already been taken detail: actions/1/promptId - has already been taken code: '100' source: pointer: /data/attributes/actions/1/promptId status: '422' meta: validationCode: VIOLATES_UNIQUENESS_CONSTRAINT requestBody: content: application/json: schema: type: object properties: data: type: object properties: type: type: string id: type: string attributes: type: object properties: serviceType: type: string slackSigningSecret: type: string slackMessageMode: type: string projectId: type: string actions: type: array items: type: object properties: promptId: type: string required: - promptId required: - type - id - attributes required: - data example: data: type: integrations id: 00000000-0000-0000-0000-000000000001 attributes: serviceType: SLACK slackSigningSecret: xxx slackMessageMode: in_channel projectId: 00000000-0000-0000-0000-000000000001 actions: - promptId: 00000000-0000-0000-0000-000000000001 components: securitySchemes: ApiKeyAuth: type: http scheme: TD1