Rapidata ValidationSet API

The ValidationSet API from Rapidata — 13 operation(s) for validationset.

OpenAPI Specification

rapidata-validationset-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Rapidata Asset ValidationSet API
  description: The API for the Rapidata Asset service
  version: v1
servers:
- url: https://api.rapidata.ai/
tags:
- name: ValidationSet
  x-displayName: ValidationSet
paths:
  /validation-set/{validationSetId}/rapid:
    post:
      tags:
      - ValidationSet
      summary: Adds a new validation rapid to a validation set using a JSON body.
      parameters:
      - name: validationSetId
        in: path
        description: The validation set to add a rapid to.
        required: true
        schema:
          type: string
      requestBody:
        description: The validation rapid data including asset, payload, and metadata.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddValidationRapidEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-set:
    post:
      tags:
      - ValidationSet
      summary: Creates a new empty validation set.
      requestBody:
        description: The body describing the validation set to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateValidationSetEndpoint_Input'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateValidationSetEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-set/{validationSetId}:
    delete:
      tags:
      - ValidationSet
      summary: Deletes a validation set by id.
      parameters:
      - name: validationSetId
        in: path
        description: The id of the validation set to delete.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
    get:
      tags:
      - ValidationSet
      summary: Gets a validation set by id.
      parameters:
      - name: validationSetId
        in: path
        description: The id of the validation set to get.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetValidationSetByIdEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
    patch:
      tags:
      - ValidationSet
      summary: Updates different characteristics of a validation set using patch semantics.
      parameters:
      - name: validationSetId
        in: path
        description: The id of the validation set to update.
        required: true
        schema:
          type: string
      requestBody:
        description: The patch payload describing which fields should change.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateValidationSetEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-set/{validationSetId}/export:
    get:
      tags:
      - ValidationSet
      summary: Exports all rapids of a validation set to a file.
      parameters:
      - name: validationSetId
        in: path
        description: The id of the validation set to export.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-sets/available:
    get:
      tags:
      - ValidationSet
      summary: Gets the available validation sets for the current user.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAvailableValidationSetsEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-sets/compatible:
    get:
      tags:
      - ValidationSet
      summary: Gets all validation sets available to the user that a rapid with the provided parameters can be added to.
      description: "Matching is strict: a validation set is only returned when its asset type, modality, and prompt type\n equal the provided parameters exactly — the same constraint enforced when actually adding a rapid.\n This differs from /validation-set/recommended, which uses loose overlap matching and may return\n sets that then reject the rapid. Returns an empty array when no compatible set exists."
      parameters:
      - name: assetType
        in: query
        description: "The asset type that the validation set must contain.\n An asset type can be an image, video, audio, text, or any combination of these."
        schema:
          $ref: '#/components/schemas/AssetType'
      - name: modality
        in: query
        description: "The rapid modality that the validation set must contain.\n The modality is the type of rapid such as classify, compare, locate, etc."
        schema:
          $ref: '#/components/schemas/RapidModality'
      - name: promptType
        in: query
        description: "The prompt type that the validation set must contain.\n A prompt type is the additional information that is presented to the user when solving a rapid.\n For example, a prompt type can be either text or an asset if the context is an image or video."
        schema:
          $ref: '#/components/schemas/PromptType'
      - name: instruction
        in: query
        description: "An instruction used to find validation sets that have the same instruction.\n An instruction is a text that is presented to the user when solving a rapid that explains how to solve the rapid."
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCompatibleValidationSetsEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-set/recommended:
    get:
      tags:
      - ValidationSet
      summary: Gets a validation set that is available to the user and best matches the provided parameters.
      parameters:
      - name: assetType
        in: query
        description: "The types of assets that the validation set should contain.\n An asset type can be an image, video, audio, text, or any combination of these.\n \n This parameter is a flag, meaning that it can be null or contain multiple values.\n If multiple values are provided, a validation set will be chosen that contains at least one of the specified asset types."
        schema:
          $ref: '#/components/schemas/AssetType'
      - name: modality
        in: query
        description: "The rapid modalities that the validation set should contain.\n The modality is the type of rapid such as classify, compare, locate, etc.\n \n This parameter is a flag, meaning that it can be null or contain multiple values.\n If multiple values are provided, a validation set will be chosen that contains at least one of the specified modalities."
        schema:
          $ref: '#/components/schemas/RapidModality'
      - name: promptType
        in: query
        description: "The prompt types that the validation set should contain.\n A prompt type is the additional information that is presented to the user when solving a rapid.\n For example, a prompt type can be either text or an asset if the context is an image or video.\n \n This parameter is a flag, meaning that it can be null or contain multiple values.\n If multiple values are provided, a validation set will be chosen that contains at least one of the specified prompt types."
        schema:
          $ref: '#/components/schemas/PromptType'
      - name: instruction
        in: query
        description: "An instruction used to find validation sets that have similar instructions.\n An instruction is a text that is presented to the user when solving a rapid that explains how to solve the rapid."
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRecommendedValidationSetEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-set/{validationSetId}/rapids:
    get:
      tags:
      - ValidationSet
      summary: Queries the validation rapids for a specific validation set.
      parameters:
      - name: validationSetId
        in: path
        description: The validation set to query.
        required: true
        schema:
          type: string
      - name: page
        in: query
        description: The 1-based page index.
        schema:
          type: integer
        x-parameter-group: page
      - name: page_size
        in: query
        description: The number of items per page.
        schema:
          type: integer
        x-parameter-group: page
      - name: sort
        in: query
        description: Sort fields. Prefix with - for descending order (e.g. -created_at).
        schema:
          type: array
          items:
            enum:
            - id
            - -id
            - correct_validation_count
            - -correct_validation_count
            - invalid_validation_count
            - -invalid_validation_count
            type: string
        x-parameter-group: sort
      - name: id
        in: query
        description: Filter by id.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: type
        in: query
        description: Filter by type.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: state
        in: query
        description: Filter by state.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: logic
        in: query
        description: 'How to combine the field filters: "and" (default) requires every filter to match, "or" requires any of them to match.'
        schema:
          enum:
          - and
          - or
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetValidationRapidsEndpoint_PagedResultOfOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-sets:
    get:
      tags:
      - ValidationSet
      summary: Queries available validation sets based on the provided filter, paging and sorting criteria.
      parameters:
      - name: page
        in: query
        description: The 1-based page index.
        schema:
          type: integer
        x-parameter-group: page
      - name: page_size
        in: query
        description: The number of items per page.
        schema:
          type: integer
        x-parameter-group: page
      - name: sort
        in: query
        description: Sort fields. Prefix with - for descending order (e.g. -created_at).
        schema:
          type: array
          items:
            enum:
            - name
            - -name
            - created_at
            - -created_at
            type: string
        x-parameter-group: sort
      - name: id
        in: query
        description: Filter by id.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: name
        in: query
        description: Filter by name.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: asset_type
        in: query
        description: Filter by asset_type.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: modality
        in: query
        description: Filter by modality.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: prompt_type
        in: query
        description: Filter by prompt_type.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: is_public
        in: query
        description: Filter by is_public.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: owner_id
        in: query
        description: Filter by owner_id.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: owner_mail
        in: query
        description: Filter by owner_mail.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: created_at
        in: query
        description: Filter by created_at.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: logic
        in: query
        description: 'How to combine the field filters: "and" (default) requires every filter to match, "or" requires any of them to match.'
        schema:
          enum:
          - and
          - or
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryValidationSetsEndpoint_PagedResultOfOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-set/{validationSetId}/update-labeling-hints:
    post:
      tags:
      - ValidationSet
      summary: Refreshes the labeling hints for a validation set.
      description: This endpoint is a no-op. Labeling hints are now managed automatically.
      parameters:
      - name: validationSetId
        in: path
        description: The id of the validation set to update the labeling hints for.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-set/{validationSetId}/dimensions:
    patch:
      tags:
      - ValidationSet
      summary: Updates the dimensions of all rapids within a validation set.
      parameters:
      - name: validationSetId
        in: path
        description: The id of the validation set to update the dimensions for.
        required: true
        schema:
          type: string
      requestBody:
        description: The body describing the new dimensions.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateValidationSetDimensionsEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-set/{validationSetId}/shouldAlert:
    patch:
      tags:
      - ValidationSet
      summary: Updates the shouldAlert field on all rapids within a validation set.
      parameters:
      - name: validationSetId
        in: path
        description: The id of the validation set to update.
        required: true
        schema:
          type: string
      requestBody:
        description: The body describing the new shouldAlert value.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateValidationSetShouldAlertEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /validation-set/{validationSetId}/visibility:
    patch:
      tags:
      - ValidationSet
      summary: Updates the visibility of a validation set.
      description: Public validation sets are used to automatically add a validation set to an order if no validation set is specified.
      parameters:
      - name: validationSetId
        in: path
        description: The id of the validation set to update the visibility for.
        required: true
        schema:
          type: string
      - name: isPublic
        in: query
        description: Whether the validation set should be public or private.
        required: true
        schema:
          type: boolean
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
components:
  schemas:
    IMetadataModelFileTypeMetadataModel:
      required:
      - fileType
      - _t
      properties:
        _t:
          enum:
          - FileTypeMetadata
          type: string
        fileType:
          $ref: '#/components/schemas/FileType'
    IMetadataModel:
      required:
      - _t
      type: object
      oneOf:
      - $ref: '#/components/schemas/IMetadataModelClassificationMetadataModel'
      - $ref: '#/components/schemas/IMetadataModelCountMetadataModel'
      - $ref: '#/components/schemas/IMetadataModelFileTypeMetadataModel'
      - $ref: '#/components/schemas/IMetadataModelImageDimensionMetadataModel'
      - $ref: '#/components/schemas/IMetadataModelLocationMetadataModel'
      - $ref: '#/components/schemas/IMetadataModelOriginalFilenameMetadataModel'
      - $ref: '#/components/schemas/IMetadataModelSourceUrlMetadataModel'
      - $ref: '#/components/schemas/IMetadataModelStreamsMetadataModel'
      - $ref: '#/components/schemas/IMetadataModelTextMetadataModel'
      - $ref: '#/components/schemas/IMetadataModelVideoDurationMetadataModel'
      discriminator:
        propertyName: _t
        mapping:
          ClassificationMetadata: '#/components/schemas/IMetadataModelClassificationMetadataModel'
          CountMetadata: '#/components/schemas/IMetadataModelCountMetadataModel'
          FileTypeMetadata: '#/components/schemas/IMetadataModelFileTypeMetadataModel'
          ImageDimensionMetadata: '#/components/schemas/IMetadataModelImageDimensionMetadataModel'
          LocationMetadata: '#/components/schemas/IMetadataModelLocationMetadataModel'
          OriginalFilenameMetadata: '#/components/schemas/IMetadataModelOriginalFilenameMetadataModel'
          SourceUrlMetadataModel: '#/components/schemas/IMetadataModelSourceUrlMetadataModel'
          StreamsMetadata: '#/components/schemas/IMetadataModelStreamsMetadataModel'
          TextMetadata: '#/components/schemas/IMetadataModelTextMetadataModel'
          VideoDurationMetadata: '#/components/schemas/IMetadataModelVideoDurationMetadataModel'
    GetAvailableValidationSetsEndpoint_ValidationSetOverviewOutputModel:
      required:
      - id
      - name
      - ownerId
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        ownerId:
          type: string
          format: uuid
    LocateBoxTruthModel_Box:
      type: object
      properties:
        xMin:
          type: number
          format: double
          nullable: true
        yMin:
          type: number
          format: double
          nullable: true
        xMax:
          type: number
          format: double
          nullable: true
        yMax:
          type: number
          format: double
          nullable: true
    TranscriptionPayloadModel_TranscriptionWord:
      required:
      - word
      - wordIndex
      type: object
      properties:
        word:
          type: string
        wordIndex:
          type: integer
          format: int32
    IValidationTruthModelEmptyValidationTruthModel:
      required:
      - _t
      properties:
        _t:
          enum:
          - EmptyValidationTruth
          type: string
    IMetadataInputTextMetadataInput:
      required:
      - text
      - visibilities
      - _t
      properties:
        _t:
          enum:
          - TextMetadataInput
          type: string
        text:
          type: string
          nullable: true
        visibilities:
          $ref: '#/components/schemas/MetadataVisibilities'
    ClassifyPayloadModel_Category:
      required:
      - label
      type: object
      properties:
        label:
          type: string
        value:
          type: string
          nullable: true
    IAssetModel:
      required:
      - _t
      type: object
      oneOf:
      - $ref: '#/components/schemas/IAssetModelFileAssetModel'
      - $ref: '#/components/schemas/IAssetModelMultiAssetModel'
      - $ref: '#/components/schemas/IAssetModelNullAssetModel'
      - $ref: '#/components/schemas/IAssetModelTextAssetModel'
      discriminator:
        propertyName: _t
        mapping:
  

# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rapidata/refs/heads/main/openapi/rapidata-validationset-api-openapi.yml