ArthurAI RAG Providers API

Endpoints for RAG provider management

OpenAPI Specification

arthurai-rag-providers-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Arthur GenAI Engine Agent Discovery RAG Providers API
  version: 2.1.688
  description: Endpoints for RAG provider management
tags:
- name: RAG Providers
  description: Endpoints for RAG provider management
paths:
  /api/v1/tasks/{task_id}/rag_providers:
    post:
      tags:
      - RAG Providers
      summary: Create Rag Provider
      description: Register a new RAG provider connection configuration.
      operationId: create_rag_provider_api_v1_tasks__task_id__rag_providers_post
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          description: ID of the task to register a new provider connection for. Should be formatted as a UUID.
          title: Task Id
        description: ID of the task to register a new provider connection for. Should be formatted as a UUID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RagProviderConfigurationRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RagProviderConfigurationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - RAG Providers
      summary: Get Rag Providers
      description: Get list of RAG provider connection configurations for the task.
      operationId: get_rag_providers_api_v1_tasks__task_id__rag_providers_get
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the task to fetch the provider connections for.
          title: Task Id
        description: ID of the task to fetch the provider connections for.
      - name: config_name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: RAG Provider configuration name substring to search for.
          title: Config Name
        description: RAG Provider configuration name substring to search for.
      - name: authentication_method
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/RagProviderAuthenticationMethodEnum'
          - type: 'null'
          description: RAG Provider authentication method to filter by.
          title: Authentication Method
        description: RAG Provider authentication method to filter by.
      - name: rag_provider_name
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/RagAPIKeyAuthenticationProviderEnum'
          - type: 'null'
          description: RAG provider name to filter by.
          title: Rag Provider Name
        description: RAG provider name to filter by.
      - name: sort
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/PaginationSortMethod'
          description: Sort the results (asc/desc)
          default: desc
        description: Sort the results (asc/desc)
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          description: Page size. Default is 10. Must be greater than 0 and less than 5000.
          default: 10
          title: Page Size
        description: Page size. Default is 10. Must be greater than 0 and less than 5000.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: Page number
          default: 0
          title: Page
        description: Page number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchRagProviderConfigurationsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/rag_providers/{provider_id}:
    get:
      tags:
      - RAG Providers
      summary: Get Rag Provider
      description: Get a single RAG provider connection configuration.
      operationId: get_rag_provider_api_v1_rag_providers__provider_id__get
      security:
      - API Key: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of RAG provider configuration.
          title: Provider Id
        description: ID of RAG provider configuration.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RagProviderConfigurationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - RAG Providers
      summary: Update Rag Provider
      description: Update a single RAG provider connection configuration.
      operationId: update_rag_provider_api_v1_rag_providers__provider_id__patch
      security:
      - API Key: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the RAG provider to update the connection configuration for.
          title: Provider Id
        description: ID of the RAG provider to update the connection configuration for.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RagProviderConfigurationUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RagProviderConfigurationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - RAG Providers
      summary: Delete Rag Provider
      description: Delete a RAG provider connection configuration.
      operationId: delete_rag_provider_api_v1_rag_providers__provider_id__delete
      security:
      - API Key: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the RAG provider configuration to delete.
          title: Provider Id
        description: ID of the RAG provider configuration to delete.
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/rag_providers/{provider_id}/collections:
    get:
      tags:
      - RAG Providers
      summary: List Rag Provider Collections
      description: Lists all available vector database collections.
      operationId: list_rag_provider_collections_api_v1_rag_providers__provider_id__collections_get
      security:
      - API Key: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of RAG provider configuration to use for authentication with the vector store.
          title: Provider Id
        description: ID of RAG provider configuration to use for authentication with the vector store.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchRagProviderCollectionsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/tasks/{task_id}/rag_providers/test_connection:
    post:
      tags:
      - RAG Providers
      summary: Test Rag Provider Connection
      description: Test a new RAG provider connection configuration.
      operationId: test_rag_provider_connection_api_v1_tasks__task_id__rag_providers_test_connection_post
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          description: ID of the task to test the new provider connection for. Should be formatted as a UUID.
          title: Task Id
        description: ID of the task to test the new provider connection for. Should be formatted as a UUID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RagProviderTestConfigurationRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionCheckResult'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/rag_providers/{provider_id}/similarity_text_search:
    post:
      tags:
      - RAG Providers
      summary: Execute Similarity Text Search
      description: Execute a RAG Provider Similarity Text Search.
      operationId: execute_similarity_text_search_api_v1_rag_providers__provider_id__similarity_text_search_post
      security:
      - API Key: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the RAG provider configuration to use for the vector database connection.
          title: Provider Id
        description: ID of the RAG provider configuration to use for the vector database connection.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RagVectorSimilarityTextSearchSettingRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RagProviderQueryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/rag_providers/{provider_id}/keyword_search:
    post:
      tags:
      - RAG Providers
      summary: Execute Keyword Search
      description: Execute a RAG Provider Keyword (BM25/Sparse Vector) Search.
      operationId: execute_keyword_search_api_v1_rag_providers__provider_id__keyword_search_post
      security:
      - API Key: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the RAG provider configuration to use for the vector database connection.
          title: Provider Id
        description: ID of the RAG provider configuration to use for the vector database connection.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RagKeywordSearchSettingRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RagProviderQueryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/rag_providers/{provider_id}/hybrid_search:
    post:
      tags:
      - RAG Providers
      summary: Execute Hybrid Search
      description: Execute a RAG provider hybrid (keyword and vector similarity) search.
      operationId: execute_hybrid_search_api_v1_rag_providers__provider_id__hybrid_search_post
      security:
      - API Key: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the RAG provider configuration to use for the vector database connection.
          title: Provider Id
        description: ID of the RAG provider configuration to use for the vector database connection.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RagHybridSearchSettingRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RagProviderQueryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    RagAPIKeyAuthenticationProviderEnum:
      type: string
      enum:
      - weaviate
      title: RagAPIKeyAuthenticationProviderEnum
    ApiKeyRagAuthenticationConfigResponse:
      properties:
        authentication_method:
          type: string
          const: api_key
          title: Authentication Method
          default: api_key
        host_url:
          type: string
          minLength: 1
          format: uri
          title: Host Url
          description: URL of host instance to authenticate with.
        rag_provider:
          $ref: '#/components/schemas/RagAPIKeyAuthenticationProviderEnum'
          description: Name of RAG provider to authenticate with.
      type: object
      required:
      - host_url
      - rag_provider
      title: ApiKeyRagAuthenticationConfigResponse
    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
    WeaviateQueryResults:
      properties:
        rag_provider:
          type: string
          const: weaviate
          title: Rag Provider
          default: weaviate
        objects:
          items:
            $ref: '#/components/schemas/WeaviateQueryResult'
          type: array
          title: Objects
          description: List of search result objects
      type: object
      required:
      - objects
      title: WeaviateQueryResults
      description: Response from Weaviate similarity text search
    RagProviderQueryResponse:
      properties:
        response:
          $ref: '#/components/schemas/WeaviateQueryResults'
      type: object
      required:
      - response
      title: RagProviderQueryResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ApiKeyRagAuthenticationConfigRequest:
      properties:
        authentication_method:
          type: string
          const: api_key
          title: Authentication Method
          default: api_key
        api_key:
          type: string
          format: password
          title: Api Key
          description: API key to use for authentication.
          writeOnly: true
        host_url:
          type: string
          minLength: 1
          format: uri
          title: Host Url
          description: URL of host instance to authenticate with.
        rag_provider:
          $ref: '#/components/schemas/RagAPIKeyAuthenticationProviderEnum'
          description: Name of RAG provider to authenticate with.
      type: object
      required:
      - api_key
      - host_url
      - rag_provider
      title: ApiKeyRagAuthenticationConfigRequest
    RagKeywordSearchSettingRequest:
      properties:
        settings:
          $ref: '#/components/schemas/WeaviateKeywordSearchSettingsRequest'
          description: Settings for the keyword search request to the vector database.
      type: object
      required:
      - settings
      title: RagKeywordSearchSettingRequest
    RagProviderConfigurationResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Unique identifier of the RAG provider configuration.
        task_id:
          type: string
          title: Task Id
          description: ID of parent task.
        authentication_config:
          $ref: '#/components/schemas/ApiKeyRagAuthenticationConfigResponse'
          description: Configuration of the authentication strategy.
        name:
          type: string
          title: Name
          description: Name of RAG provider configuration.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Description of RAG provider configuration.
        created_at:
          type: integer
          title: Created At
          description: Time the RAG provider configuration was created in unix milliseconds
        updated_at:
          type: integer
          title: Updated At
          description: Time the RAG provider configuration was updated in unix milliseconds
      type: object
      required:
      - id
      - task_id
      - authentication_config
      - name
      - created_at
      - updated_at
      title: RagProviderConfigurationResponse
    WeaviateVectorSimilarityTextSearchSettingsRequest:
      properties:
        collection_name:
          type: string
          title: Collection Name
          description: Name of the vector collection used for the search.
        limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Limit
          description: Maximum number of objects to return.
        include_vector:
          anyOf:
          - type: boolean
          - type: string
          - items:
              type: string
            type: array
          - type: 'null'
          title: Include Vector
          description: Boolean value whether to include vector embeddings in the response or can be used to specify the names of the vectors to include in the response if your collection uses named vectors. Will be included as a dictionary in the vector property in the response.
          default: false
        offset:
          anyOf:
          - type: integer
          - type: 'null'
          title: Offset
          description: Skips first N results in similarity response. Useful for pagination.
        auto_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Auto Limit
          description: Automatically limit search results to groups of objects with similar distances, stopping after auto_limit number of significant jumps.
        return_metadata:
          anyOf:
          - items:
              type: string
              enum:
              - creation_time
              - last_update_time
              - distance
              - certainty
              - score
              - explain_score
              - is_consistent
              - query_profile
            type: array
          - $ref: '#/components/schemas/MetadataQuery'
          - type: 'null'
          title: Return Metadata
          description: Specify metadata fields to return.
        return_properties:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Return Properties
          description: Specify which properties to return for each object.
        rag_provider:
          type: string
          const: weaviate
          title: Rag Provider
          default: weaviate
        certainty:
          anyOf:
          - type: number
            maximum: 1.0
            minimum: 0.0
          - type: 'null'
          title: Certainty
          description: Minimum similarity score to return. Higher values correspond to more similar results. Only one of distance and certainty can be specified.
        distance:
          anyOf:
          - type: number
          - type: 'null'
          title: Distance
          description: Maximum allowed distance between the query and result vectors. Lower values corresponds to more similar results. Only one of distance and certainty can be specified.
        target_vector:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
          - $ref: '#/components/schemas/_MultiTargetVectorJoin'
          - type: 'null'
          title: Target Vector
          description: Specifies vector to use for similarity search when using named vectors.
        query:
          anyOf:
          - items:
              type: string
            type: array
          - type: string
          title: Query
          description: Input text to find objects with near vectors for.
      type: object
      required:
      - collection_name
      - query
      title: WeaviateVectorSimilarityTextSearchSettingsRequest
    ApiKeyRagAuthenticationConfigUpdateRequest:
      properties:
        authentication_method:
          type: string
          const: api_key
          title: Authentication Method
          default: api_key
        api_key:
          anyOf:
          - type: string
            format: password
            writeOnly: true
          - type: 'null'
          title: Api Key
          description: API key to use for authentication.
        host_url:
          anyOf:
          - type: string
            minLength: 1
            format: uri
          - type: 'null'
          title: Host Url
          description: URL of host instance to authenticate with.
        rag_provider:
          anyOf:
          - $ref: '#/components/schemas/RagAPIKeyAuthenticationProviderEnum'
          - type: 'null'
          description: Name of RAG provider to authenticate with.
      type: object
      title: ApiKeyRagAuthenticationConfigUpdateRequest
    MetadataQuery:
      properties:
        creation_time:
          type: boolean
          title: Creation Time
          default: false
        last_update_time:
          type: boolean
          title: Last Update Time
          default: false
        distance:
          type: boolean
          title: Distance
          default: false
        certainty:
          type: boolean
          title: Certainty
          default: false
        score:
          type: boolean
          title: Score
          default: false
        explain_score:
          type: boolean
          title: Explain Score
          default: false
        is_consistent:
          type: boolean
          title: Is Consistent
          default: false
        query_profile:
          type: boolean
          title: Query Profile
          default: false
      additionalProperties: false
      type: object
      title: MetadataQuery
      description: Define which metadata should be returned in the query's results.
    _MultiTargetVectorJoin:
      properties:
        combination:
          $ref: '#/components/schemas/_MultiTargetVectorJoinEnum'
        target_vectors:
          items:
            type: string
          type: array
          title: Target Vectors
        weights:
          anyOf:
          - additionalProperties:
              anyOf:
              - type: number
              - items:
                  type: number
                type: array
            type: object
          - type: 'null'
          title: Weights
      type: object
      required:
      - combination
      - target_vectors
      title: _MultiTargetVectorJoin
    WeaviateHybridSearchSettingsRequest:
      properties:
        collection_name:
          type: string
          title: Collection Name
          description: Name of the vector collection used for the search.
        limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Limit
          description: Maximum number of objects to return.
        include_vector:
          anyOf:
          - type: boolean
          - type: string
          - items:
              type: string
            type: array
          - type: 'null'
          title: Include Vector
          description: Boolean value whether to include vector embeddings in the response or can be used to specify the names of the vectors to include in the response if your collection uses named vectors. Will be included as a dictionary in the vector property in the response.
          default: false
        offset:
          anyOf:
          - type: integer
          - type: 'null'
          title: Offset
          description: Skips first N results in similarity response. Useful for pagination.
        auto_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Auto Limit
          description: Automatically limit search results to groups of objects with similar distances, stopping after auto_limit number of significant jumps.
        return_metadata:
          anyOf:
          - items:
              type: string
              enum:
              - creation_time
              - last_update_time
              - distance
              - certainty
              - score
              - explain_score
              - is_consistent
              - query_profile
            type: array
          - $ref: '#/components/schemas/MetadataQuery'
          - type: 'null'
          title: Return Metadata
          description: Specify metadata fields to return.
        return_properties:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Return Properties
          description: Specify which properties to return for each object.
        rag_provider:
          type: string
          const: weaviate
          title: Rag Provider
          default: weaviate
        alpha:
          type: number
          title: Alpha
          description: Balance between the relative weights of the keyword and vector search. 1 is pure vector search, 0 is pure keyword search.
          default: 0.7
        query_properties:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Query Properties
          description: Apply keyword search to only a specified subset of object properties.
        fusion_type:
          anyOf:
          - $ref: '#/components/schemas/HybridFusion'
          - type: 'null'
          description: Set the fusion algorithm to use. Default is Relative Score Fusion.
        max_vector_distance:
          anyOf:
          - type: number
          - type: 'null'
          title: Max Vector Distance
          description: Maximum threshold for the vector search component.
        minimum_match_or_operator:
          anyOf:
          - type: integer
          - type: 'null'
          title: Minimum Match Or Operator
          description: Minimum number of keywords that define a match. Objects returned will have to have at least this many matches. Applies to keyword search only.
        and_operator:
          anyOf:
          - type: boolean
          - type: 'null'
          title: And Operator
          description: Search returns objects that contain all tokens in the search string. Cannot be used with minimum_match_or_operator. Applies to keyword search only.
        target_vector:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
          - $ref: '#/components/schemas/_MultiTargetVectorJoin'
          - type: 'null'
          title: Target Vector
          description: Specifies vector to use for vector search when using named vectors.
        query:
          type: string
          title: Query
          description: Input text to find objects with near vectors or keyword matches.
      type: object
      required:
      - collection_name
      - query
      title: WeaviateHybridSearchSettingsRequest
    WeaviateQueryResultMetadata:
      properties:
        creation_time:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Creation Time
          description: Vector object creation time.
        last_update_time:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Update Time
          description: Vector object last update time.
        distance:
          anyOf:
          - type: number
          - type: 'null'
          title: Distance
          description: Raw distance metric used in the vector search. Lower values indicate closer vectors.
        certainty:
          anyOf:
          - type: number
          - type: 'null'
          title: Certainty
          description: Similarity score measure between 0 and 1. Higher values correspond to more similar reesults.
        score:
          anyOf:
          - type: number
          - type: 'null'
          title: Score
          description: Normalized relevance metric that ranks search results.
        explain_score:
          anyOf:
          - type: string
          - type: 'null'
          title: Explain Score
          description: Explanation of how the score was calculated.
        is_consistent:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Consistent
          description: Indicates if the object is consistent across all replicates in a multi-node Weaviate cluster.
      type: object
      title: WeaviateQueryResultMetadata
      description: 'Metadata from weaviate for a vector object:

        https://weaviate-python-client.readthedocs.io/en/latest/weaviate.collections.classes.html#module-weaviate.collections.classes.internal'
    PaginationSortMethod:
      type: string
      enum:
      - asc
      - desc
      title: PaginationSortMethod
    RagVectorSimilarityTextSearchSettingRequest:
      properties:
        settings:
          $ref: '#/components/schemas/WeaviateVectorSimilarityTextSearchSettingsRequest'
          description: Settings for the similarity text search request to the vector database.
      type: object
      required:
      - settings
      title: RagVectorSimilarityTextSearchSettingRequest
    _MultiTargetVectorJoinEnum:
      type: integer
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      title: _MultiTargetVectorJoinEnum
      description: Define how multi target vector searches should be combined.
    SearchRagProviderConfigurationsResponse:
      properties:
        count:
          type: integer
          title: Count
          description: The total number of RAG provider configurations matching the parameters.
        rag_provider_configurations:
          items:
            $ref: '#/components/schemas/RagProviderConfigurationResponse'
          type: array
          title: Rag Provider Configurations
          description: List of RAG provider configurations matching the search filters. Length is less than or equal to page_size parameter
      type: object
      required:
      - count
      - rag_provider_configurations
      title: SearchRagProviderConfigurationsResponse
    RagProviderAuthenticationMethodEnum:
      type: string
      enum:
      - api_key
      title: RagProviderAuthenticationMethodEnum
    ConnectionCheckResult:
      proper

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/arthurai/refs/heads/main/openapi/arthurai-rag-providers-api-openapi.yml