openapi: 3.2.0 info: description: Credo AI server API title: Credo AI server Tasks API servers: - url: /api/v2/credoai tags: - name: tasks description: Operations related to task management paths: /tasks: get: description: Retrieve the list of all tasks. operationId: CredoAIWeb.API.V2.TaskController.index parameters: - description: status match filter in: query name: filter[status] required: false x-example: in_progress schema: type: string - description: sort options in: query name: sort required: false x-example: -inserted_at,status schema: type: string responses: '200': description: OK content: application/vnd.api+json: schema: $ref: '#/components/schemas/TasksResponse' '401': description: Unauthorized content: application/vnd.api+json: schema: $ref: '#/components/schemas/AuthError' '404': description: Not Found content: application/vnd.api+json: schema: $ref: '#/components/schemas/NotFoundError' security: - Bearer: [] summary: '' tags: - tasks /tasks/{id}: delete: description: Delete a specific task identified by its unique ID. operationId: CredoAIWeb.API.V2.TaskController.delete parameters: - description: Unique ID of the task. in: path name: id required: true schema: type: string responses: '204': description: No Content '401': description: Unauthorized content: application/vnd.api+json: schema: $ref: '#/components/schemas/AuthError' '403': description: Forbidden content: application/vnd.api+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/vnd.api+json: schema: $ref: '#/components/schemas/NotFoundError' security: - Bearer: [] summary: '' tags: - tasks get: description: Fetch detailed information about a specific task using its unique ID. operationId: CredoAIWeb.API.V2.TaskController.show parameters: - description: Unique ID of the task. in: path name: id required: true schema: type: string responses: '200': description: OK content: application/vnd.api+json: schema: $ref: '#/components/schemas/TaskResponse' '401': description: Unauthorized content: application/vnd.api+json: schema: $ref: '#/components/schemas/AuthError' '404': description: Not Found content: application/vnd.api+json: schema: $ref: '#/components/schemas/NotFoundError' security: - Bearer: [] summary: '' tags: - tasks patch: description: Update the details of a specific task identified by its unique ID. operationId: CredoAIWeb.API.V2.TaskController.update parameters: - description: Unique ID of the task to update. in: path name: id required: true schema: type: string responses: '204': description: OK '401': description: Unauthorized content: application/vnd.api+json: schema: $ref: '#/components/schemas/AuthError' '403': description: Forbidden content: application/vnd.api+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/vnd.api+json: schema: $ref: '#/components/schemas/NotFoundError' security: - Bearer: [] summary: '' tags: - tasks requestBody: content: application/vnd.api+json: schema: $ref: '#/components/schemas/TaskUpdateRequest' description: Attributes to update the task with. /tasks/bulk_delete: post: description: Delete multiple tasks in a single request. operationId: CredoAIWeb.API.V2.TaskController.bulk_delete responses: '204': description: No Content '401': description: Unauthorized content: application/vnd.api+json: schema: $ref: '#/components/schemas/AuthError' '403': description: Forbidden content: application/vnd.api+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/vnd.api+json: schema: $ref: '#/components/schemas/NotFoundError' security: - Bearer: [] summary: '' tags: - tasks requestBody: content: application/vnd.api+json: schema: $ref: '#/components/schemas/TaskBulkDeleteRequest' description: Array of task IDs to delete /use_cases/{use_case_id}/questionnaire_sections/{section_id}/tasks: post: description: Creates a new task associated with a specific questionnaire section of a use case. operationId: CredoAIWeb.API.V2.UseCase.Questionnaire.SectionController.create_task parameters: - description: The unique ID of the use case. in: path name: use_case_id required: true schema: type: string - description: The unique ID of the questionnaire section. in: path name: section_id required: true schema: type: string responses: '201': description: Created content: application/vnd.api+json: schema: $ref: '#/components/schemas/TaskResponse' '401': description: Unauthorized content: application/vnd.api+json: schema: $ref: '#/components/schemas/AuthError' '403': description: Forbidden content: application/vnd.api+json: schema: $ref: '#/components/schemas/ForbiddenError' security: - Bearer: [] summary: '' tags: - tasks requestBody: content: application/vnd.api+json: schema: $ref: '#/components/schemas/UseCaseControlTaskCreateRequest' description: The details of the task to be created. /use_case_reviews/{review_id}/tasks: post: description: Create a new task associated with a specific use case review. operationId: CredoAIWeb.API.V2.UseCase.ReviewController.create_task parameters: - description: The unique ID of the use case review. in: path name: review_id required: true schema: type: string responses: '201': description: OK content: application/vnd.api+json: schema: $ref: '#/components/schemas/TaskResponse' '401': description: Unauthorized content: application/vnd.api+json: schema: $ref: '#/components/schemas/AuthError' '403': description: Forbidden content: application/vnd.api+json: schema: $ref: '#/components/schemas/ForbiddenError' security: - Bearer: [] summary: '' tags: - tasks requestBody: content: application/vnd.api+json: schema: $ref: '#/components/schemas/UseCaseControlTaskCreateRequest' description: The attributes for the new task. components: schemas: TasksResponse: description: A collection of [TaskResource](#taskresource) properties: data: description: Content with [TaskResource](#taskresource) objects items: $ref: '#/components/schemas/TaskResource' type: array required: - data type: object TaskResource: description: '' properties: attributes: properties: assigner_id: description: '' type: string completed_at: description: '' type: string due_date: description: '' type: string entity_questionnaire_section_id: description: '' type: string inserted_at: description: '' type: string model_id: description: '' type: string status: description: '' type: string sub_status: description: '' type: string team_ids: description: '' type: string timezone: description: '' type: string type: description: '' type: string updated_at: description: '' type: string use_case_control_id: description: '' type: string use_case_id: description: '' type: string use_case_review_id: description: '' type: string user_ids: description: '' type: string vendor_id: description: '' type: string type: object id: description: The JSON-API resource ID example: 64YUaLWSviHgibJaRWr3ZE type: string relationships: properties: assigner: properties: data: properties: id: description: Related assigner resource id type: string type: description: Type of related assigner resource type: string type: object type: object entity_questionnaire_section: properties: data: properties: id: description: Related entity_questionnaire_section resource id type: string type: description: Type of related entity_questionnaire_section resource type: string type: object type: object model: properties: data: properties: id: description: Related model resource id type: string type: description: Type of related model resource type: string type: object type: object teams: properties: data: properties: id: description: Related teams resource id type: string type: description: Type of related teams resource type: string type: object type: object use_case: properties: data: properties: id: description: Related use_case resource id type: string type: description: Type of related use_case resource type: string type: object type: object use_case_control: properties: data: properties: id: description: Related use_case_control resource id type: string type: description: Type of related use_case_control resource type: string type: object type: object use_case_review: properties: data: properties: id: description: Related use_case_review resource id type: string type: description: Type of related use_case_review resource type: string type: object type: object users: properties: data: properties: id: description: Related users resource id type: string type: description: Type of related users resource type: string type: object type: object vendor: properties: data: properties: id: description: Related vendor resource id type: string type: description: Type of related vendor resource type: string type: object type: object type: object type: description: The JSON-API resource type example: tasks type: string type: object AuthError: properties: errors: description: Errors items: properties: code: description: an application-specific error code, expressed as a string value. type: integer detail: description: a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized. type: string title: description: a short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization. type: string type: object type: array type: object TaskResponse: description: A JSON-API document with a single [TaskResource](#taskresource) resource properties: data: $ref: '#/components/schemas/TaskResource' included: description: Included resources items: properties: id: description: The JSON-API resource ID type: string type: description: The JSON-API resource type type: string type: object type: array required: - data type: object TaskBulkDeleteRequest: type: object required: - ids properties: ids: type: array description: Array of task IDs to delete items: type: string UseCaseControlTaskCreateRequest: description: '' properties: data: description: '' properties: attributes: properties: team_ids: description: team ids example: '[8zA2nPjVSenyvcc429LPDT]' type: array user_ids: description: user ids example: '[8zA2nPjVSenyvcc429LPDT]' type: array type: object id: description: The JSON-API resource ID example: 64YUaLWSviHgibJaRWr3ZE type: string type: description: The JSON-API resource type example: resource-type type: string type: object type: object ForbiddenError: properties: errors: description: Errors items: properties: code: description: an application-specific error code, expressed as a string value. type: integer detail: description: a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized. type: string title: description: a short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization. type: string type: object type: array type: object NotFoundError: properties: errors: description: Errors items: properties: code: description: an application-specific error code, expressed as a string value. type: integer detail: description: a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized. type: string title: description: a short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization. type: string type: object type: array type: object TaskUpdateRequest: description: '' properties: data: description: '' properties: attributes: properties: due_date: description: due date example: '2024-01-30T17:00:00.000Z' type: string status: description: status enum: - todo - in_progress - done type: string sub_status: description: sub status enum: - none - change_request - approve - reject - cancel - ready_for_validation type: string team_ids: description: team ids example: - 1 - 2 type: array timezone: description: due date timezone example: America/New_York type: string user_ids: description: user ids example: - 1 - 2 type: array type: object id: description: The JSON-API resource ID example: 64YUaLWSviHgibJaRWr3ZE type: string type: description: The JSON-API resource type example: resource-type type: string type: object type: object securitySchemes: Bearer: in: header name: Authorization type: apiKey