openapi: 3.0.3 info: title: Argilla v1 Authentication records API description: Argilla Server API v1 version: 2.8.0 license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 contact: email: contact@argilla.io url: https://argilla.io servers: - url: https://argilla.io/api/v1 description: Argilla REST API v1 tags: - name: records paths: /records/{record_id}: get: tags: - records summary: Get Record operationId: get_record_records__record_id__get security: - APIKeyHeader: [] - HTTPBearer: [] parameters: - name: record_id in: path required: true schema: type: string format: uuid title: Record Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Record' '400': content: application/json: example: detail: code: argilla.api.errors::MissingDatasetRecordsError params: extra: error parameters description: Bad Request '404': content: application/json: example: detail: code: argilla.api.errors::EntityNotFoundError params: extra: error parameters description: Not Found '403': content: application/json: example: detail: code: argilla.api.errors::ForbiddenOperationError params: extra: error parameters description: Forbidden '409': content: application/json: example: detail: code: argilla.api.errors::EntityAlreadyExistsError params: extra: error parameters description: Conflict '422': content: application/json: example: detail: code: argilla.api.errors::ValidationError params: extra: error parameters description: Unprocessable Content '500': content: application/json: example: detail: code: builtins.TypeError description: Internal Server Error patch: tags: - records summary: Update Record operationId: update_record_records__record_id__patch security: - APIKeyHeader: [] - HTTPBearer: [] parameters: - name: record_id in: path required: true schema: type: string format: uuid title: Record Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RecordUpdate' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Record' '400': content: application/json: example: detail: code: argilla.api.errors::MissingDatasetRecordsError params: extra: error parameters description: Bad Request '404': content: application/json: example: detail: code: argilla.api.errors::EntityNotFoundError params: extra: error parameters description: Not Found '403': content: application/json: example: detail: code: argilla.api.errors::ForbiddenOperationError params: extra: error parameters description: Forbidden '409': content: application/json: example: detail: code: argilla.api.errors::EntityAlreadyExistsError params: extra: error parameters description: Conflict '422': content: application/json: example: detail: code: argilla.api.errors::ValidationError params: extra: error parameters description: Unprocessable Content '500': content: application/json: example: detail: code: builtins.TypeError description: Internal Server Error delete: tags: - records summary: Delete Record operationId: delete_record_records__record_id__delete security: - APIKeyHeader: [] - HTTPBearer: [] parameters: - name: record_id in: path required: true schema: type: string format: uuid title: Record Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Record' '400': content: application/json: example: detail: code: argilla.api.errors::MissingDatasetRecordsError params: extra: error parameters description: Bad Request '404': content: application/json: example: detail: code: argilla.api.errors::EntityNotFoundError params: extra: error parameters description: Not Found '403': content: application/json: example: detail: code: argilla.api.errors::ForbiddenOperationError params: extra: error parameters description: Forbidden '409': content: application/json: example: detail: code: argilla.api.errors::EntityAlreadyExistsError params: extra: error parameters description: Conflict '422': content: application/json: example: detail: code: argilla.api.errors::ValidationError params: extra: error parameters description: Unprocessable Content '500': content: application/json: example: detail: code: builtins.TypeError description: Internal Server Error /records/{record_id}/responses: post: tags: - records summary: Create Record Response operationId: create_record_response_records__record_id__responses_post security: - APIKeyHeader: [] - HTTPBearer: [] parameters: - name: record_id in: path required: true schema: type: string format: uuid title: Record Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ResponseCreate' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Response' '400': content: application/json: example: detail: code: argilla.api.errors::MissingDatasetRecordsError params: extra: error parameters description: Bad Request '404': content: application/json: example: detail: code: argilla.api.errors::EntityNotFoundError params: extra: error parameters description: Not Found '403': content: application/json: example: detail: code: argilla.api.errors::ForbiddenOperationError params: extra: error parameters description: Forbidden '409': content: application/json: example: detail: code: argilla.api.errors::EntityAlreadyExistsError params: extra: error parameters description: Conflict '422': content: application/json: example: detail: code: argilla.api.errors::ValidationError params: extra: error parameters description: Unprocessable Content '500': content: application/json: example: detail: code: builtins.TypeError description: Internal Server Error /records/{record_id}/suggestions: get: tags: - records summary: Get Record Suggestions operationId: get_record_suggestions_records__record_id__suggestions_get security: - APIKeyHeader: [] - HTTPBearer: [] parameters: - name: record_id in: path required: true schema: type: string format: uuid title: Record Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Suggestions' '400': content: application/json: example: detail: code: argilla.api.errors::MissingDatasetRecordsError params: extra: error parameters description: Bad Request '404': content: application/json: example: detail: code: argilla.api.errors::EntityNotFoundError params: extra: error parameters description: Not Found '403': content: application/json: example: detail: code: argilla.api.errors::ForbiddenOperationError params: extra: error parameters description: Forbidden '409': content: application/json: example: detail: code: argilla.api.errors::EntityAlreadyExistsError params: extra: error parameters description: Conflict '422': content: application/json: example: detail: code: argilla.api.errors::ValidationError params: extra: error parameters description: Unprocessable Content '500': content: application/json: example: detail: code: builtins.TypeError description: Internal Server Error put: tags: - records summary: Create or update a suggestion operationId: upsert_suggestion_records__record_id__suggestions_put security: - APIKeyHeader: [] - HTTPBearer: [] parameters: - name: record_id in: path required: true schema: type: string format: uuid title: Record Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SuggestionCreate' responses: '201': description: Suggestion created content: application/json: schema: $ref: '#/components/schemas/Suggestion' '400': content: application/json: example: detail: code: argilla.api.errors::MissingDatasetRecordsError params: extra: error parameters description: Bad Request '404': content: application/json: example: detail: code: argilla.api.errors::EntityNotFoundError params: extra: error parameters description: Not Found '403': content: application/json: example: detail: code: argilla.api.errors::ForbiddenOperationError params: extra: error parameters description: Forbidden '409': content: application/json: example: detail: code: argilla.api.errors::EntityAlreadyExistsError params: extra: error parameters description: Conflict '422': content: application/json: example: detail: code: argilla.api.errors::ValidationError params: extra: error parameters description: Unprocessable Content '500': content: application/json: example: detail: code: builtins.TypeError description: Internal Server Error '200': description: Suggestion updated content: application/json: schema: $ref: '#/components/schemas/Suggestion' delete: tags: - records summary: Delete suggestions for a record operationId: delete_record_suggestions_records__record_id__suggestions_delete security: - APIKeyHeader: [] - HTTPBearer: [] parameters: - name: record_id in: path required: true schema: type: string format: uuid title: Record Id - name: ids in: query required: true schema: type: string description: A comma separated list with the IDs of the suggestions to be removed title: Ids description: A comma separated list with the IDs of the suggestions to be removed responses: '204': description: Successful Response '400': content: application/json: example: detail: code: argilla.api.errors::MissingDatasetRecordsError params: extra: error parameters description: Bad Request '404': content: application/json: example: detail: code: argilla.api.errors::EntityNotFoundError params: extra: error parameters description: Not Found '403': content: application/json: example: detail: code: argilla.api.errors::ForbiddenOperationError params: extra: error parameters description: Forbidden '409': content: application/json: example: detail: code: argilla.api.errors::EntityAlreadyExistsError params: extra: error parameters description: Conflict '422': content: application/json: example: detail: code: argilla.api.errors::ValidationError params: extra: error parameters description: Unprocessable Content '500': content: application/json: example: detail: code: builtins.TypeError description: Internal Server Error components: schemas: ChatFieldValue: properties: role: type: string maxLength: 20 minLength: 1 title: Role content: type: string maxLength: 20000 minLength: 1 title: Content type: object required: - role - content title: ChatFieldValue SuggestionType: type: string enum: - model - human title: SuggestionType RecordStatus: type: string enum: - pending - completed title: RecordStatus Record: properties: id: type: string format: uuid title: Id status: $ref: '#/components/schemas/RecordStatus' fields: type: object title: Fields metadata: title: Metadata type: object nullable: true external_id: title: External Id type: string nullable: true responses: title: Responses items: $ref: '#/components/schemas/Response' type: array nullable: true suggestions: title: Suggestions items: $ref: '#/components/schemas/Suggestion' type: array nullable: true vectors: title: Vectors additionalProperties: items: type: number type: array type: object nullable: true dataset_id: type: string format: uuid title: Dataset Id inserted_at: type: string format: date-time title: Inserted At updated_at: type: string format: date-time title: Updated At type: object required: - id - status - fields - dataset_id - inserted_at - updated_at title: Record SpanQuestionResponseValueItem: properties: label: type: string title: Label start: type: integer minimum: 0.0 title: Start end: type: integer minimum: 1.0 title: End type: object required: - label - start - end title: SpanQuestionResponseValueItem Suggestion: properties: question_id: type: string format: uuid title: Question Id type: $ref: '#/components/schemas/SuggestionType' nullable: true value: title: Value agent: title: Agent type: string nullable: true score: title: Score anyOf: - type: number - items: type: number type: array nullable: true id: type: string format: uuid title: Id inserted_at: type: string format: date-time title: Inserted At updated_at: type: string format: date-time title: Updated At type: object required: - question_id - value - id - inserted_at - updated_at title: Suggestion SuggestionCreate: properties: question_id: type: string format: uuid title: Question Id type: $ref: '#/components/schemas/SuggestionType' nullable: true value: anyOf: - items: $ref: '#/components/schemas/SpanQuestionResponseValueItem' type: array maxItems: 10000 - items: $ref: '#/components/schemas/RankingQuestionResponseValueItem' type: array - items: type: string type: array - type: integer - type: string title: Value agent: title: Agent description: Agent used to generate the suggestion type: string maxLength: 200 minLength: 1 pattern: ^[a-zA-Z0-9-_:\.\/\s]*[a-zA-Z0-9][a-zA-Z0-9-_:\.\/\s]*$ nullable: true score: title: Score description: The score assigned to the suggestion anyOf: - type: number - items: type: number type: array nullable: true type: object required: - question_id - value title: SuggestionCreate Response: properties: id: type: string format: uuid title: Id values: title: Values additionalProperties: $ref: '#/components/schemas/ResponseValue' type: object nullable: true status: $ref: '#/components/schemas/ResponseStatus' record_id: type: string format: uuid title: Record Id user_id: type: string format: uuid title: User Id inserted_at: type: string format: date-time title: Inserted At updated_at: type: string format: date-time title: Updated At type: object required: - id - status - record_id - user_id - inserted_at - updated_at title: Response ResponseValueCreate: properties: value: anyOf: - items: $ref: '#/components/schemas/SpanQuestionResponseValueItem' type: array maxItems: 10000 - items: $ref: '#/components/schemas/RankingQuestionResponseValueItem' type: array - items: type: string type: array - type: integer - type: string title: Value type: object required: - value title: ResponseValueCreate RankingQuestionResponseValueItem: properties: value: type: string title: Value rank: title: Rank type: integer nullable: true type: object required: - value title: RankingQuestionResponseValueItem ResponseValue: properties: value: title: Value type: object required: - value title: ResponseValue RecordUpdate: properties: fields: title: Fields additionalProperties: anyOf: - type: string - items: $ref: '#/components/schemas/ChatFieldValue' type: array - type: object nullable: true type: object nullable: true metadata: title: Metadata type: object nullable: true suggestions: title: Suggestions items: $ref: '#/components/schemas/SuggestionCreate' type: array nullable: true vectors: title: Vectors additionalProperties: items: type: number type: array type: object nullable: true type: object title: RecordUpdate Suggestions: properties: items: items: $ref: '#/components/schemas/Suggestion' type: array title: Items type: object required: - items title: Suggestions ResponseCreate: properties: values: title: Values additionalProperties: $ref: '#/components/schemas/ResponseValueCreate' type: object nullable: true status: $ref: '#/components/schemas/ResponseStatus' type: object required: - status title: ResponseCreate ResponseStatus: type: string enum: - draft - submitted - discarded title: ResponseStatus securitySchemes: APIKeyHeader: type: apiKey in: header name: X-Argilla-Api-Key HTTPBearer: type: http scheme: bearer