openapi: 3.2.0 info: title: llm-api Form Interface 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: FormInterface paths: /api/form_interfaces: get: summary: index tags: - FormInterface responses: '200': description: List of form interfaces with input validation applied 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 agentId: type: string name: type: string promptTemplate: type: string formJsonSchema: type: string formUiSchema: type: - string - 'null' useTextResource: type: boolean required: - createdAt - updatedAt - projectId - agentId - name - promptTemplate - formJsonSchema - formUiSchema - useTextResource 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 project: type: object properties: data: type: object properties: type: type: string id: type: string required: - type - id required: - data 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 createdAt: type: string updatedAt: type: string description: {} useRuntimeTextResource: type: boolean useParentSegment: type: boolean useWorkflowExecutor: type: boolean isManaged: type: boolean managedType: type: string required: - name links: type: object properties: self: type: string required: - self relationships: type: object properties: formInterfaces: type: object properties: data: type: array items: type: object properties: type: type: string id: type: string required: - type - id required: - data required: - formInterfaces required: - id - type - attributes required: - data - meta - links example: data: [] meta: total: 0 links: first: http://www.example.com/api/form_interfaces?filter%5Bname%5D=clean_nameinjection&filter%5Bproject_id%5D=00000000-0000-0000-0000-000000000001&page%5Blimit%5D=20&page%5Boffset%5D=0 last: http://www.example.com/api/form_interfaces?filter%5Bname%5D=clean_nameinjection&filter%5Bproject_id%5D=00000000-0000-0000-0000-000000000001&page%5Blimit%5D=20&page%5Boffset%5D=0 included: - id: 00000000-0000-0000-0000-000000000001 type: projects links: self: http://www.example.com/api/projects/00000000-0000-0000-0000-000000000001 attributes: createdAt: '2025-05-01T05:05:14.000Z' updatedAt: '2025-05-01T05:05:14.000Z' name: schfbjqu description: null useRuntimeTextResource: false useParentSegment: false useWorkflowExecutor: false isManaged: false managedType: NONE relationships: formInterfaces: data: - type: formInterfaces id: 00000000-0000-0000-0000-000000000001 - id: 00000000-0000-0000-0000-000000000001 type: projects links: self: http://www.example.com/api/projects/00000000-0000-0000-0000-000000000001 attributes: createdAt: '2025-05-01T05:05:14.000Z' updatedAt: '2025-05-01T05:05:14.000Z' name: amdfoeyh description: null useRuntimeTextResource: false useParentSegment: false useWorkflowExecutor: false isManaged: false managedType: NONE relationships: formInterfaces: data: - type: formInterfaces id: 00000000-0000-0000-0000-000000000001 '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 parameters: - name: filter[name] in: query required: false schema: type: string example: clean_nameinjection - name: filter[project_id] in: query required: false schema: type: string example: 00000000-0000-0000-0000-000000000001 - name: include in: query required: false schema: type: string example: project - name: sort in: query required: false schema: type: string example: id post: summary: create tags: - FormInterface responses: '201': description: Form interface 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 agentId: type: string name: type: string promptTemplate: type: string formJsonSchema: type: string formUiSchema: type: - string - 'null' useTextResource: type: boolean required: - createdAt - updatedAt - projectId - agentId - name - promptTemplate - formJsonSchema - formUiSchema - useTextResource required: - id - type - links - attributes required: - data example: data: id: 00000000-0000-0000-0000-000000000001 type: formInterfaces links: self: http://www.example.com/api/form_interfaces/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 agentId: 00000000-0000-0000-0000-000000000001 name: clean name promptTemplate: test prompt formJsonSchema: '{"type": "object", "properties": {"name": {"type": "string"}}}' formUiSchema: null useTextResource: false '400': description: POST /api/form_interfaces rejects {"createdAt":1} 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: createdAt is not allowed. code: '105' status: '400' '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 '422': description: POST /api/form_interfaces rejects {"formUiSchema":"{ }"} 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 15000 characters) detail: formUiSchema - is too long (maximum is 15000 characters) code: '100' source: pointer: /data/attributes/formUiSchema 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: projectId: type: string agentId: type: string name: type: string promptTemplate: type: string formJsonSchema: type: string formUiSchema: type: string required: - projectId - agentId - name - promptTemplate - formJsonSchema required: - type - attributes required: - data example: data: type: form_interfaces attributes: projectId: 00000000-0000-0000-0000-000000000001 agentId: 00000000-0000-0000-0000-000000000001 name: clean name promptTemplate: test prompt formJsonSchema: '{"type": "object", "properties": {"name": {"type": "string"}}}' formUiSchema: '{"ui:title": "Title", "ui:description": "Description", "ui:classNames": "my-class", "ui:submitButtonOptions": {"props": {"disabled": false,"className": "btn btn-info"}}}' /api/form_interfaces/{id}: delete: summary: destroy tags: - FormInterface parameters: - name: id in: path required: true schema: type: string example: 00000000-0000-0000-0000-000000000001 responses: '204': description: Form interface 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 '404': description: Form interface 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: - FormInterface parameters: - name: id in: path required: true schema: type: string example: 00000000-0000-0000-0000-000000000001 responses: '200': description: Form interface details and configuration 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 agentId: type: string name: type: string promptTemplate: type: string formJsonSchema: type: string formUiSchema: type: - string - 'null' useTextResource: type: boolean required: - createdAt - updatedAt - projectId - agentId - name - promptTemplate - formJsonSchema - formUiSchema - useTextResource required: - id - type - links - attributes required: - data example: data: id: 00000000-0000-0000-0000-000000000001 type: formInterfaces links: self: http://www.example.com/api/form_interfaces/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 agentId: 00000000-0000-0000-0000-000000000001 name: eaxhrdyr promptTemplate: 'This is a test prompt template that parses arguments. subject: {{subject}}. topic: {{topic}}.' formJsonSchema: '{"type":"object","properties":{"subject":{"type":"string","title":"Subject"},"topic":{"title":"Topic","type":"string"}},"required":[]}' formUiSchema: null useTextResource: false '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 '404': description: Form interface 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: - FormInterface parameters: - name: id in: path required: true schema: type: string example: 00000000-0000-0000-0000-000000000001 responses: '200': description: Form interface updated successfully 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 agentId: type: string name: type: string promptTemplate: type: string formJsonSchema: type: string formUiSchema: type: - string - 'null' useTextResource: type: boolean required: - createdAt - updatedAt - projectId - agentId - name - promptTemplate - formJsonSchema - formUiSchema - useTextResource required: - id - type - links - attributes required: - data example: data: id: 00000000-0000-0000-0000-000000000001 type: formInterfaces links: self: http://www.example.com/api/form_interfaces/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 agentId: 00000000-0000-0000-0000-000000000001 name: updated name promptTemplate: update_prompt_template formJsonSchema: '{"type":"object","properties":{"subject":{"type":"string","title":"Subject"},"topic":{"title":"Topic","type":"string"}},"required":[]}' formUiSchema: null useTextResource: false '400': description: PATCH /api/form_interfaces rejects {"createdAt":1} 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: createdAt 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/form_interfaces/: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: Validation error - invalid request body 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 15000 characters) detail: formUiSchema - is too long (maximum is 15000 characters) code: '100' source: pointer: /data/attributes/formUiSchema status: '422' meta: validationCode: IS_TOO_LONG requestBody: content: application/json: schema: type: object properties: data: type: object properties: type: type: string id: type: string attributes: type: object properties: projectId: type: string agentId: type: string name: type: string promptTemplate: type: string formJsonSchema: type: string formUiSchema: type: string required: - projectId - agentId - name - promptTemplate required: - type - id - attributes required: - data example: data: type: form_interfaces id: 00000000-0000-0000-0000-000000000001 attributes: projectId: 00000000-0000-0000-0000-000000000001 agentId: 00000000-0000-0000-0000-000000000001 name: updated name promptTemplate: update_prompt_template formJsonSchema: '{"type": "object", "properties": {"name": {"type": "string"}}}' formUiSchema: '{"ui:title": "Title", "ui:description": "Description", "ui:classNames": "my-class", "ui:submitButtonOptions": {"props": {"disabled": false,"className": "btn btn-info"}}}' components: securitySchemes: ApiKeyAuth: type: http scheme: TD1