openapi: 3.0.3 info: title: Arize-Phoenix REST annotation_configs API description: Schema for Arize-Phoenix REST API version: '1.0' tags: - name: annotation_configs paths: /v1/annotation_configs: get: tags: - annotation_configs summary: List annotation configurations description: Retrieve a paginated list of all annotation configurations in the system. operationId: list_annotation_configs_v1_annotation_configs_get parameters: - name: cursor in: query required: false schema: type: string nullable: true description: Cursor for pagination (base64-encoded annotation config ID) title: Cursor description: Cursor for pagination (base64-encoded annotation config ID) - name: limit in: query required: false schema: type: integer exclusiveMinimum: 0 description: Maximum number of configs to return default: 100 title: Limit description: Maximum number of configs to return responses: '200': description: A list of annotation configurations with pagination information content: application/json: schema: $ref: '#/components/schemas/GetAnnotationConfigsResponseBody' '403': content: text/plain: schema: type: string description: Forbidden '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - annotation_configs summary: Create an annotation configuration operationId: create_annotation_config_v1_annotation_configs_post requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAnnotationConfigData' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CreateAnnotationConfigResponseBody' '403': content: text/plain: schema: type: string description: Forbidden '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/annotation_configs/{config_identifier}: get: tags: - annotation_configs summary: Get an annotation configuration by ID or name operationId: get_annotation_config_by_name_or_id_v1_annotation_configs__config_identifier__get parameters: - name: config_identifier in: path required: true schema: type: string description: ID or name of the annotation configuration title: Config Identifier description: ID or name of the annotation configuration responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetAnnotationConfigResponseBody' '403': content: text/plain: schema: type: string description: Forbidden '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/annotation_configs/{config_id}: put: tags: - annotation_configs summary: Update an annotation configuration operationId: update_annotation_config_v1_annotation_configs__config_id__put parameters: - name: config_id in: path required: true schema: type: string description: ID of the annotation configuration title: Config Id description: ID of the annotation configuration requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAnnotationConfigData' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UpdateAnnotationConfigResponseBody' '403': content: text/plain: schema: type: string description: Forbidden '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - annotation_configs summary: Delete an annotation configuration operationId: delete_annotation_config_v1_annotation_configs__config_id__delete parameters: - name: config_id in: path required: true schema: type: string description: ID of the annotation configuration title: Config Id description: ID of the annotation configuration responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DeleteAnnotationConfigResponseBody' '403': content: text/plain: schema: type: string description: Forbidden '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: ContinuousAnnotationConfigData: properties: name: type: string title: Name type: type: string const: CONTINUOUS title: Type description: type: string nullable: true title: Description optimization_direction: $ref: '#/components/schemas/OptimizationDirection' lower_bound: type: number nullable: true title: Lower Bound upper_bound: type: number nullable: true title: Upper Bound type: object required: - name - type - optimization_direction title: ContinuousAnnotationConfigData CreateAnnotationConfigData: oneOf: - $ref: '#/components/schemas/CategoricalAnnotationConfigData' - $ref: '#/components/schemas/ContinuousAnnotationConfigData' - $ref: '#/components/schemas/FreeformAnnotationConfigData' title: CreateAnnotationConfigData discriminator: propertyName: type mapping: CATEGORICAL: '#/components/schemas/CategoricalAnnotationConfigData' CONTINUOUS: '#/components/schemas/ContinuousAnnotationConfigData' FREEFORM: '#/components/schemas/FreeformAnnotationConfigData' OptimizationDirection: type: string enum: - MINIMIZE - MAXIMIZE - NONE title: OptimizationDirection ContinuousAnnotationConfig: properties: name: type: string title: Name type: type: string const: CONTINUOUS title: Type description: type: string nullable: true title: Description optimization_direction: $ref: '#/components/schemas/OptimizationDirection' lower_bound: type: number nullable: true title: Lower Bound upper_bound: type: number nullable: true title: Upper Bound id: type: string title: Id type: object required: - name - type - optimization_direction - id title: ContinuousAnnotationConfig GetAnnotationConfigsResponseBody: properties: data: items: oneOf: - $ref: '#/components/schemas/CategoricalAnnotationConfig' - $ref: '#/components/schemas/ContinuousAnnotationConfig' - $ref: '#/components/schemas/FreeformAnnotationConfig' discriminator: propertyName: type mapping: CATEGORICAL: '#/components/schemas/CategoricalAnnotationConfig' CONTINUOUS: '#/components/schemas/ContinuousAnnotationConfig' FREEFORM: '#/components/schemas/FreeformAnnotationConfig' type: array title: Data next_cursor: type: string nullable: true title: Next Cursor type: object required: - data - next_cursor title: GetAnnotationConfigsResponseBody FreeformAnnotationConfig: properties: name: type: string title: Name type: type: string const: FREEFORM title: Type description: type: string nullable: true title: Description optimization_direction: $ref: '#/components/schemas/OptimizationDirection' nullable: true threshold: type: number nullable: true title: Threshold lower_bound: type: number nullable: true title: Lower Bound upper_bound: type: number nullable: true title: Upper Bound id: type: string title: Id type: object required: - name - type - id title: FreeformAnnotationConfig UpdateAnnotationConfigResponseBody: properties: data: oneOf: - $ref: '#/components/schemas/CategoricalAnnotationConfig' - $ref: '#/components/schemas/ContinuousAnnotationConfig' - $ref: '#/components/schemas/FreeformAnnotationConfig' title: Data discriminator: propertyName: type mapping: CATEGORICAL: '#/components/schemas/CategoricalAnnotationConfig' CONTINUOUS: '#/components/schemas/ContinuousAnnotationConfig' FREEFORM: '#/components/schemas/FreeformAnnotationConfig' type: object required: - data title: UpdateAnnotationConfigResponseBody DeleteAnnotationConfigResponseBody: properties: data: oneOf: - $ref: '#/components/schemas/CategoricalAnnotationConfig' - $ref: '#/components/schemas/ContinuousAnnotationConfig' - $ref: '#/components/schemas/FreeformAnnotationConfig' title: Data discriminator: propertyName: type mapping: CATEGORICAL: '#/components/schemas/CategoricalAnnotationConfig' CONTINUOUS: '#/components/schemas/ContinuousAnnotationConfig' FREEFORM: '#/components/schemas/FreeformAnnotationConfig' type: object required: - data title: DeleteAnnotationConfigResponseBody ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError CategoricalAnnotationValue: properties: label: type: string title: Label score: type: number nullable: true title: Score type: object required: - label title: CategoricalAnnotationValue GetAnnotationConfigResponseBody: properties: data: oneOf: - $ref: '#/components/schemas/CategoricalAnnotationConfig' - $ref: '#/components/schemas/ContinuousAnnotationConfig' - $ref: '#/components/schemas/FreeformAnnotationConfig' title: Data discriminator: propertyName: type mapping: CATEGORICAL: '#/components/schemas/CategoricalAnnotationConfig' CONTINUOUS: '#/components/schemas/ContinuousAnnotationConfig' FREEFORM: '#/components/schemas/FreeformAnnotationConfig' type: object required: - data title: GetAnnotationConfigResponseBody CategoricalAnnotationConfigData: properties: name: type: string title: Name type: type: string const: CATEGORICAL title: Type description: type: string nullable: true title: Description optimization_direction: $ref: '#/components/schemas/OptimizationDirection' values: items: $ref: '#/components/schemas/CategoricalAnnotationValue' type: array title: Values type: object required: - name - type - optimization_direction - values title: CategoricalAnnotationConfigData CategoricalAnnotationConfig: properties: name: type: string title: Name type: type: string const: CATEGORICAL title: Type description: type: string nullable: true title: Description optimization_direction: $ref: '#/components/schemas/OptimizationDirection' values: items: $ref: '#/components/schemas/CategoricalAnnotationValue' type: array title: Values id: type: string title: Id type: object required: - name - type - optimization_direction - values - id title: CategoricalAnnotationConfig CreateAnnotationConfigResponseBody: properties: data: oneOf: - $ref: '#/components/schemas/CategoricalAnnotationConfig' - $ref: '#/components/schemas/ContinuousAnnotationConfig' - $ref: '#/components/schemas/FreeformAnnotationConfig' title: Data discriminator: propertyName: type mapping: CATEGORICAL: '#/components/schemas/CategoricalAnnotationConfig' CONTINUOUS: '#/components/schemas/ContinuousAnnotationConfig' FREEFORM: '#/components/schemas/FreeformAnnotationConfig' type: object required: - data title: CreateAnnotationConfigResponseBody FreeformAnnotationConfigData: properties: name: type: string title: Name type: type: string const: FREEFORM title: Type description: type: string nullable: true title: Description optimization_direction: $ref: '#/components/schemas/OptimizationDirection' nullable: true threshold: type: number nullable: true title: Threshold lower_bound: type: number nullable: true title: Lower Bound upper_bound: type: number nullable: true title: Upper Bound type: object required: - name - type title: FreeformAnnotationConfigData HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError