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: properties: connection_check_outcome: $ref: '#/components/schemas/ConnectionCheckOutcome' description: Result of the connection check. failure_reason: anyOf: - type: string - type: 'null' title: Failure Reason description: Explainer of the connection check failure result. type: object required: - connection_check_outcome title: ConnectionCheckResult ConnectionCheckOutcome: type: string enum: - passed - failed title: ConnectionCheckOutcome SearchRagProviderCollectionsResponse: properties: count: type: integer title: Count description: The total number of RAG provider collections matching the parameters. rag_provider_collections: items: $ref: '#/components/schemas/RagProviderCollectionResponse' type: array title: Rag Provider Collections type: object required: - count - rag_provider_collections title: SearchRagProviderCollectionsResponse HybridFusion: type: string enum: - FUSION_TYPE_RANKED - FUSION_TYPE_RELATIVE_SCORE title: HybridFusion description: Define how the query's hybrid fusion operation should be performed. RagProviderConfigurationUpdateRequest: properties: authentication_config: anyOf: - $ref: '#/components/schemas/ApiKeyRagAuthenticationConfigUpdateRequest' - type: 'null' description: Configuration of the authentication strategy. name: anyOf: - type: string - type: 'null' title: Name description: Name of RAG provider configuration. description: anyOf: - type: string - type: 'null' title: Description description: Description of RAG provider configuration. type: object title: RagProviderConfigurationUpdateRequest RagProviderConfigurationRequest: properties: authentication_config: $ref: '#/components/schemas/ApiKeyRagAuthenticationConfigRequest' 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. type: object required: - authentication_config - name title: RagProviderConfigurationRequest RagProviderCollectionResponse: properties: identifier: type: string title: Identifier description: Unique identifier of the collection. description: anyOf: - type: string - type: 'null' title: Description description: Description of the collection. type: object required: - identifier title: RagProviderCollectionResponse WeaviateKeywordSearchSettingsRequest: 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 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. 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 query: type: string title: Query description: Input text to find objects with keyword matches. type: object required: - collection_name - query title: WeaviateKeywordSearchSettingsRequest WeaviateQueryResult: properties: uuid: type: string format: uuid title: Uuid description: Unique identifier of the result metadata: anyOf: - $ref: '#/components/schemas/WeaviateQueryResultMetadata' - type: 'null' description: Search metadata including distance, score, etc. properties: additionalProperties: true type: object title: Properties description: Properties of the result object vector: anyOf: - additionalProperties: anyOf: - items: type: number type: array - items: items: type: number type: array type: array type: object - type: 'null' title: Vector description: Vector representation type: object required: - uuid - properties title: WeaviateQueryResult description: Individual search result from Weaviate RagHybridSearchSettingRequest: properties: settings: $ref: '#/components/schemas/WeaviateHybridSearchSettingsRequest' description: Settings for the hybrid search request to the vector database. type: object required: - settings title: RagHybridSearchSettingRequest RagProviderTestConfigurationRequest: properties: authentication_config: $ref: '#/components/schemas/ApiKeyRagAuthenticationConfigRequest' description: Configuration of the authentication strategy. type: object required: - authentication_config title: RagProviderTestConfigurationRequest securitySchemes: API Key: type: http description: Bearer token authentication with an API key scheme: bearer