{"openapi":"3.1.0","info":{"title":"Albert API","summary":"Platforme d'inférence interministérielle pour l'IA générative, portée par la Direction interministérielle du numérique (DINUM).","description":"[See documentation](https://github.com/etalab-ia/opengaterag/blob/main/README.md)","contact":{"url":"https://ia.numerique.gouv.fr/outils-ia/albert-api/","email":"albert.api@numerique.gouv.fr"},"license":{"name":"MIT Licence","identifier":"MIT","url":"https://raw.githubusercontent.com/etalab-ia/opengaterag/refs/heads/main/LICENSE"},"version":"latest"},"paths":{"/v1/collections":{"post":{"tags":["Collections"],"summary":"Create Collection","description":"Create a new collection.","operationId":"create_collection_v1_collections_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Collections"],"summary":"Get Collections","description":"Get list of collections.","operationId":"get_collections_v1_collections_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string","description":"Filter by collection name.","title":"Name"},"description":"Filter by collection name."},{"name":"visibility","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CollectionVisibility"},{"type":"null"}],"description":"Filter by collection visibility.","title":"Visibility"},"description":"Filter by collection visibility."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"The offset of the collections to get.","default":0,"title":"Offset"},"description":"The offset of the collections to get."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"The limit of the collections to get.","default":10,"title":"Limit"},"description":"The limit of the collections to get."},{"name":"order_by","in":"query","required":false,"schema":{"enum":["id","name","created","updated"],"type":"string","description":"The order by field to sort the collections by.","default":"id","title":"Order By"},"description":"The order by field to sort the collections by."},{"name":"order_direction","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"The direction to order the collections by.","default":"asc","title":"Order Direction"},"description":"The direction to order the collections by."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Collections"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/collections/{collection_id}":{"get":{"tags":["Collections"],"summary":"Get Collection","description":"Get a collection by ID.","operationId":"get_collection_v1_collections__collection_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"integer","description":"The collection ID","title":"Collection Id"},"description":"The collection ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Collection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Collections"],"summary":"Delete Collection","description":"Delete a collection.","operationId":"delete_collection_v1_collections__collection_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"integer","description":"The collection ID","title":"Collection Id"},"description":"The collection ID"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Collections"],"summary":"Update Collection","description":"Update a collection.","operationId":"update_collection_v1_collections__collection_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"integer","description":"The collection ID","title":"Collection Id"},"description":"The collection ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionUpdateRequest","description":"The collection to update."}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/documents":{"post":{"tags":["Documents"],"summary":"Create Document","description":"Upload a file, parse and split it into chunks, then create a document. If no file is provided, the document will be created without content, use POST `/v1/documents/{document_id}/chunks` to fill it.","operationId":"create_document_v1_documents_post","security":[{"HTTPBearer":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_document_v1_documents_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Documents"],"summary":"Get Documents","description":"Get all documents ID from a collection.","operationId":"get_documents_v1_documents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter documents by name","title":"Name"},"description":"Filter documents by name"},{"name":"collection_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"Filter documents by collection ID","title":"Collection Id"},"description":"Filter documents by collection ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"The number of documents to return","default":10,"title":"Limit"},"description":"The number of documents to return"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","description":"The offset of the first document to return","default":0,"title":"Offset"},"description":"The offset of the first document to return"},{"name":"order_by","in":"query","required":false,"schema":{"enum":["id","name","created"],"type":"string","description":"The order by field to sort the documents by.","default":"id","title":"Order By"},"description":"The order by field to sort the documents by."},{"name":"order_direction","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"The direction to order the documents by.","default":"asc","title":"Order Direction"},"description":"The direction to order the documents by."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/documents/{document_id}":{"get":{"tags":["Documents"],"summary":"Get Document","description":"Get a document by ID.","operationId":"get_document_v1_documents__document_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","minimum":0,"description":"The document ID","title":"Document Id"},"description":"The document ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Document"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Documents"],"summary":"Delete Document","description":"Delete a document.","operationId":"delete_document_v1_documents__document_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"The document ID","title":"Document Id"},"description":"The document ID"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/documents/{document_id}/chunks":{"post":{"tags":["Documents"],"summary":"Create Document Chunks","description":"Fill document with chunks.","operationId":"create_document_chunks_v1_documents__document_id__chunks_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"The document ID","title":"Document Id"},"description":"The document ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateChunks"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Documents"],"summary":"Get Document Chunks","description":"Get chunks of a document.","operationId":"get_document_chunks_v1_documents__document_id__chunks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"The document ID","title":"Document Id"},"description":"The document ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"The number of chunks to return","default":10,"title":"Limit"},"description":"The number of chunks to return"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","description":"The offset of the first chunk to return","default":0,"title":"Offset"},"description":"The offset of the first chunk to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/documents/{document_id}/chunks/{chunk_id}":{"delete":{"tags":["Documents"],"summary":"Delete Document Chunk","description":"Delete a chunk of a document.","operationId":"delete_document_chunk_v1_documents__document_id__chunks__chunk_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"The document ID","title":"Document Id"},"description":"The document ID"},{"name":"chunk_id","in":"path","required":true,"schema":{"type":"integer","minimum":0,"description":"The chunk ID","title":"Chunk Id"},"description":"The chunk ID"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Documents"],"summary":"Get Document Chunk","description":"Get a chunk of a document.","operationId":"get_document_chunk_v1_documents__document_id__chunks__chunk_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"The document ID","title":"Document Id"},"description":"The document ID"},{"name":"chunk_id","in":"path","required":true,"schema":{"type":"integer","minimum":0,"description":"The chunk ID","title":"Chunk Id"},"description":"The chunk ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/search":{"post":{"tags":["Search"],"summary":"Search","description":"Get relevant chunks from the collections and a query.","operationId":"search_v1_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSearch"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Searches"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/metrics":{"get":{"tags":["Monitoring"],"summary":"Get Metrics","operationId":"get_metrics_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}],"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/health":{"get":{"tags":["Health"],"summary":"Get Health","description":"Get the health of the API.","operationId":"get_health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/audio/transcriptions":{"post":{"tags":["Audio"],"summary":"Audio Transcriptions","description":"Transcribes audio into the input language.","operationId":"audio_transcriptions_v1_audio_transcriptions_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_audio_transcriptions_v1_audio_transcriptions_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioTranscription"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/chat/completions":{"post":{"tags":["Chat"],"summary":"Chat Completions","description":"Creates a model response for the given chat conversation.","operationId":"chat_completions_v1_chat_completions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateChatCompletion"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletion"},{"$ref":"#/components/schemas/ChatCompletionChunk"}],"title":"Response Chat Completions V1 Chat Completions Post"}}}},"404":{"description":"Model not found. Collection not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__schemas__exception__HTTPExceptionModel"}}}},"422":{"description":"Wrong model type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__schemas__exception__HTTPExceptionModel"}}}},"503":{"description":"Model is too busy, please try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__schemas__exception__HTTPExceptionModel"}}}}},"security":[{"HTTPBearer":[]}],"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/embeddings":{"post":{"tags":["Embeddings"],"summary":"Create Embeddings","operationId":"create_embeddings_v1_embeddings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEmbeddingsBody","description":"The embeddings creation request."}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbeddingsResponse"}}}},"503":{"description":"Model is too busy, please try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"404":{"description":"Model {name} not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"429":{"description":"Token/request limit per minute/day exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"422":{"description":"Model has wrong type. Expected: {expected_type}. Actual: {actual_type}.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"400":{"description":"Insufficient budget.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"401":{"description":"Invalid authentication scheme.<br>Invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"403":{"description":"Your account has expired. Please contact support to renew your account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}}},"security":[{"HTTPBearer":[]}],"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/health/models":{"get":{"tags":["Health"],"summary":"Get Health Models","description":"Get the health of the models.","operationId":"get_health_models_health_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid authentication scheme.<br>Invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"403":{"description":"Your account has expired. Please contact support to renew your account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}}},"security":[{"HTTPBearer":[]}],"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/me/info":{"get":{"tags":["Me"],"summary":"Get User","description":"Get information about the current user.","operationId":"get_user_v1_me_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserInfo"}}}}},"security":[{"HTTPBearer":[]}],"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]},"patch":{"tags":["Me"],"summary":"Update User","description":"Update information about the current user.","operationId":"update_user_v1_me_info_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserInfo","description":"The user update request."}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/me/keys":{"post":{"tags":["Me"],"summary":"Create Key","description":"Create a new API key.","operationId":"create_key_v1_me_keys_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKey","description":"The token creation request."}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]},"get":{"tags":["Me"],"summary":"Get Keys","description":"Get all your tokens.","operationId":"get_keys_v1_me_keys_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"The offset of the tokens to get.","default":0,"title":"Offset"},"description":"The offset of the tokens to get."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"The limit of the tokens to get.","default":10,"title":"Limit"},"description":"The limit of the tokens to get."},{"name":"order_by","in":"query","required":false,"schema":{"enum":["id","name","created"],"type":"string","description":"The field to order the tokens by.","default":"id","title":"Order By"},"description":"The field to order the tokens by."},{"name":"order_direction","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"The direction to order the tokens by.","default":"asc","title":"Order Direction"},"description":"The direction to order the tokens by."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Keys"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/me/keys/{key}":{"delete":{"tags":["Me"],"summary":"Delete Key","description":"Delete a API key.","operationId":"delete_key_v1_me_keys__key__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"integer","description":"The key ID of the key to delete.","title":"Key"},"description":"The key ID of the key to delete."}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]},"get":{"tags":["Me"],"summary":"Get Key","description":"Get your token by id.","operationId":"get_key_v1_me_keys__key__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"integer","description":"The key ID of the key to get.","title":"Key"},"description":"The key ID of the key to get."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Key"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/me/usage":{"get":{"tags":["Me"],"summary":"Get Usage","description":"Get usage for the current user.","operationId":"get_usage_v1_me_usage_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"The offset of the usages to get.","default":0,"title":"Offset"},"description":"The offset of the usages to get."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"The limit of the usages to get.","default":10,"title":"Limit"},"description":"The limit of the usages to get."},{"name":"start_time","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Start time as Unix timestamp (if not provided, will be set to 30 days ago)","title":"Start Time"},"description":"Start time as Unix timestamp (if not provided, will be set to 30 days ago)"},{"name":"end_time","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"End time as Unix timestamp (if not provided, will be set to now)","title":"End Time"},"description":"End time as Unix timestamp (if not provided, will be set to now)"},{"name":"endpoint","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/EndpointUsage"},{"type":"null"}],"description":"The endpoint to get usage for.","title":"Endpoint"},"description":"The endpoint to get usage for."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Usages"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/models":{"get":{"tags":["Models"],"summary":"Get Models","description":"Lists the currently available models and provides basic information.","operationId":"get_models_v1_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsResponse"}}}},"401":{"description":"Invalid authentication scheme.<br>Invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"403":{"description":"Your account has expired. Please contact support to renew your account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}}},"security":[{"HTTPBearer":[]}],"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/models/{model}":{"get":{"tags":["Models"],"summary":"Get Model","description":"Get a model by name and provide basic information.","operationId":"get_model_v1_models__model__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"type":"string","description":"The name of the model to get.","title":"Model"},"description":"The name of the model to get."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Model"}}}},"404":{"description":"Model {name} not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"401":{"description":"Invalid authentication scheme.<br>Invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"403":{"description":"Your account has expired. Please contact support to renew your account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/ocr":{"post":{"tags":["OCR"],"summary":"Ocr","description":"Extracts text from files using OCR.","operationId":"ocr_v1_ocr_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOCR"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OCR"}}}},"404":{"description":"Model not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__schemas__exception__HTTPExceptionModel"}}}},"422":{"description":"Wrong model type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__schemas__exception__HTTPExceptionModel"}}}},"503":{"description":"Model is too busy, please try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__schemas__exception__HTTPExceptionModel"}}}}},"security":[{"HTTPBearer":[]}],"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}},"/v1/rerank":{"post":{"tags":["Rerank"],"summary":"Create Rerank","operationId":"create_rerank_v1_rerank_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRerankBody","description":"The rerank creation request."}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RerankResponse"}}}},"503":{"description":"Model is too busy, please try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"404":{"description":"Model {name} not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"429":{"description":"Token/request limit per minute/day exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"422":{"description":"Model has wrong type. Expected: {expected_type}. Actual: {actual_type}.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"400":{"description":"Insufficient budget.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"401":{"description":"Invalid authentication scheme.<br>Invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}},"403":{"description":"Your account has expired. Please contact support to renew your account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__infrastructure__fastapi__documentation__HTTPExceptionModel"}}}}},"security":[{"HTTPBearer":[]}],"servers":[{"url":"https://albert.api.etalab.gouv.fr"}]}}},"components":{"schemas":{"Body_create_document_v1_documents_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File","description":"The file to create a document from. If not provided, the document will be created without content, use POST `/v1/documents/{document_id}/chunks` to fill it."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Name of document if no file is provided or to override file name."},"collection_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Collection Id","description":"The collection ID to use for the file upload. The file will be vectorized with model defined by the collection."},"disable_chunking":{"type":"boolean","title":"Disable Chunking","description":"Whether to disable `RecursiveCharacterTextSplitter` chunking for the upload file.","default":false},"chunk_size":{"type":"integer","minimum":0.0,"title":"Chunk Size","description":"The size in characters of the chunks to use for the upload file. If not provided, the document will not be split into chunks.","default":2048},"chunk_min_size":{"type":"integer","minimum":0.0,"title":"Chunk Min Size","description":"The minimum size in characters of the chunks to use for the upload file.","default":0},"chunk_overlap":{"type":"integer","minimum":0.0,"title":"Chunk Overlap","description":"The overlap in characters of the chunks to use for the upload file.","default":0},"is_separator_regex":{"type":"boolean","title":"Is Separator Regex","description":"Whether the separator is a regex to use for the upload file.","default":false},"separators":{"items":{"type":"string"},"type":"array","minItems":0,"title":"Separators","description":"Delimiters used by RecursiveCharacterTextSplitter for further splitting. If provided, `preset_separators` is ignored.","default":[]},"preset_separators":{"$ref":"#/components/schemas/PresetSeparators","description":"Preset separators used by RecursiveCharacterTextSplitter for further splitting. See [implemented details](https://github.com/langchain-ai/langchain/blob/eb122945832eae9b9df7c70ccd8d51fcd7a1899b/libs/text-splitters/langchain_text_splitters/character.py#L164).","default":"markdown"},"metadata":{"type":"string","title":"Metadata","description":"Optional additional metadata to add to each chunk if a file is provided. Provide a stringified JSON object matching the Metadata schema.","default":"","examples":["{\"source_date\": \"2026-01-05\", \"source_tags\": [\"tag1\", \"tag2\"]}"]}},"type":"object","title":"Body_create_document_v1_documents_post"},"Chunk":{"properties":{"object":{"type":"string","const":"chunk","title":"Object","description":"The type of the object.","default":"chunk"},"id":{"type":"integer","minimum":0.0,"title":"Id","description":"The ID of the chunk."},"collection_id":{"type":"integer","minimum":0.0,"title":"Collection Id","description":"The ID of the collection the chunk belongs to."},"document_id":{"type":"integer","minimum":0.0,"title":"Document Id","description":"The ID of the document the chunk belongs to."},"content":{"type":"string","minLength":1,"title":"Content","description":"The content of the chunk."},"metadata":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"integer","maximum":1e+16,"minimum":-1e+16},{"type":"number","maximum":1e+16,"minimum":-1e+16},{"type":"boolean"}]},"propertyNames":{"maxLength":255,"minLength":1},"type":"object","maxProperties":10,"minProperties":1,"description":"Extra metadata for the source"},{"type":"null"}],"title":"Metadata","description":"Metadata of the chunk"},"created":{"type":"integer","title":"Created","description":"The date of the chunk creation."}},"additionalProperties":true,"type":"object","required":["id","collection_id","document_id","content"],"title":"Chunk"},"Collection":{"properties":{"object":{"type":"string","const":"collection","title":"Object","default":"collection"},"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"owner":{"type":"string","title":"Owner"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"visibility":{"anyOf":[{"$ref":"#/components/schemas/CollectionVisibility"},{"type":"null"}]},"created":{"type":"integer","title":"Created"},"updated":{"type":"integer","title":"Updated"},"documents":{"type":"integer","title":"Documents","default":0},"size":{"type":"integer","title":"Size","default":0}},"additionalProperties":true,"type":"object","required":["id","name","owner","created","updated"],"title":"Collection"},"CollectionRequest":{"properties":{"name":{"type":"string","minLength":1,"title":"Name","description":"The name of the collection."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"The description of the collection."},"visibility":{"$ref":"#/components/schemas/CollectionVisibility","description":"The type of the collection. Public collections are available to all users, private collections are only available to the user who created them.","default":"private"}},"additionalProperties":true,"type":"object","required":["name"],"title":"CollectionRequest"},"CollectionUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name","description":"The name of the collection."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"The description of the collection."},"visibility":{"anyOf":[{"$ref":"#/components/schemas/CollectionVisibility"},{"type":"null"}],"description":"The type of the collection. Public collections are available to all users, private collections are only available to the user who created them."}},"additionalProperties":true,"type":"object","title":"CollectionUpdateRequest"},"CollectionVisibility":{"type":"string","enum":["private","public"],"title":"CollectionVisibility"},"Collections":{"properties":{"object":{"type":"string","const":"list","title":"Object","default":"list"},"data":{"items":{"$ref":"#/components/schemas/Collection"},"type":"array","title":"Data"}},"additionalProperties":true,"type":"object","required":["data"],"title":"Collections"},"ComparisonFilter":{"properties":{"key":{"type":"string","maxLength":255,"minLength":1,"title":"Key"},"type":{"$ref":"#/components/schemas/ComparisonFilterType"},"value":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"integer","maximum":1e+16,"minimum":-1e+16},{"type":"number","maximum":1e+16,"minimum":-1e+16},{"type":"boolean"}],"title":"Value"}},"additionalProperties":true,"type":"object","required":["key","type","value"],"title":"ComparisonFilter"},"ComparisonFilterType":{"type":"string","enum":["eq","sw","ew","co"],"title":"ComparisonFilterType","description":"Comparison filter type for metadata filters.","x-enumDescriptions":{"co":"Contains the value provided.","eq":"Equal to the value provided.","ew":"Ends with the value provided.","sw":"Starts with the value provided."}},"CompoundFilter":{"properties":{"filters":{"items":{"$ref":"#/components/schemas/ComparisonFilter"},"type":"array","maxItems":4,"minItems":2,"title":"Filters","description":"List of filters to apply to the search."},"operator":{"$ref":"#/components/schemas/CompoundFilterOperator","description":"Operator to use for the compound filter."}},"additionalProperties":true,"type":"object","required":["filters","operator"],"title":"CompoundFilter"},"CompoundFilterOperator":{"type":"string","enum":["and","or"],"title":"CompoundFilterOperator","description":"Compound filter operator for metadata filters.","x-enumDescriptions":{"and":"AND operator","or":"OR operator"}},"CreateChunks":{"properties":{"chunks":{"items":{"$ref":"#/components/schemas/InputChunk"},"type":"array","maxItems":64,"minItems":1,"title":"Chunks","description":"The list of chunks to create."}},"additionalProperties":true,"type":"object","required":["chunks"],"title":"CreateChunks"},"CreateSearch":{"properties":{"collection_ids":{"items":{"type":"integer","exclusiveMinimum":0.0},"type":"array","maxItems":100,"minItems":0,"title":"Collection Ids","description":"List of collections ID.","default":[]},"document_ids":{"items":{"type":"integer","exclusiveMinimum":0.0},"type":"array","maxItems":100,"minItems":0,"title":"Document Ids","description":"List of document IDs","default":[]},"metadata_filters":{"anyOf":[{"$ref":"#/components/schemas/ComparisonFilter"},{"$ref":"#/components/schemas/CompoundFilter"},{"type":"null"}],"title":"Metadata Filters","description":"Metadata filters to apply to the search."},"limit":{"type":"integer","maximum":100.0,"exclusiveMinimum":0.0,"title":"Limit","description":"Number of results to return.","default":10},"offset":{"type":"integer","minimum":0.0,"title":"Offset","description":"Offset for pagination, specifying how many results to skip from the beginning.","default":0},"method":{"$ref":"#/components/schemas/SearchMethod","description":"Search method to use.","default":"semantic"},"rff_k":{"type":"integer","maximum":16384.0,"minimum":0.0,"title":"Rff K","description":"Smoothing constant for Reciprocal Rank Fusion (RRF) algorithm in hybrid search (recommended: from 10 to 100).","default":60},"score_threshold":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Score Threshold","description":"Score of cosine similarity threshold for filtering results, only available for semantic search method.","default":0.0},"query":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Query","description":"Query related to the search."}},"additionalProperties":true,"type":"object","title":"CreateSearch"},"Document":{"properties":{"object":{"type":"string","const":"document","title":"Object","description":"The type of the object.","default":"document"},"id":{"type":"integer","exclusiveMinimum":0.0,"title":"Id","description":"The ID of the document."},"name":{"type":"string","minLength":1,"title":"Name","description":"The name of the document."},"collection_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Collection Id","description":"The ID of the collection the document belongs to."},"created":{"type":"integer","title":"Created","description":"The date of the document creation."},"chunks":{"type":"integer","minimum":0.0,"title":"Chunks","description":"The number of chunks the document has.","default":0},"size":{"type":"integer","minimum":0.0,"title":"Size","description":"The size of the document in tokens.","default":0}},"additionalProperties":true,"type":"object","required":["id","name","collection_id","created"],"title":"Document"},"DocumentResponse":{"properties":{"id":{"type":"integer","minimum":0.0,"title":"Id","description":"The ID of the document created."}},"additionalProperties":true,"type":"object","required":["id"],"title":"DocumentResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InputChunk":{"properties":{"content":{"type":"string","title":"Content","description":"The content of the chunk."},"metadata":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"integer","maximum":1e+16,"minimum":-1e+16},{"type":"number","maximum":1e+16,"minimum":-1e+16},{"type":"boolean"}]},"propertyNames":{"maxLength":255,"minLength":1},"type":"object","maxProperties":10,"minProperties":1,"description":"Extra metadata for the source"},{"type":"null"}],"title":"Metadata","description":"Metadata of the chunk"}},"additionalProperties":true,"type":"object","required":["content"],"title":"InputChunk"},"PresetSeparators":{"type":"string","enum":["cpp","go","java","kotlin","js","ts","php","proto","python","r","rst","ruby","rust","scala","swift","markdown","latex","html","sol","csharp","cobol","c","lua","perl","haskell","elixir","powershell","visualbasic6"],"title":"PresetSeparators"},"Search":{"properties":{"method":{"$ref":"#/components/schemas/SearchMethod","description":"Search method used."},"score":{"type":"number","title":"Score","description":"Score of the search result."},"chunk":{"$ref":"#/components/schemas/Chunk","description":"Chunk of the search result."}},"additionalProperties":true,"type":"object","required":["method","score","chunk"],"title":"Search"},"SearchMethod":{"type":"string","enum":["hybrid","semantic","lexical"],"title":"SearchMethod"},"Searches":{"properties":{"object":{"type":"string","const":"list","title":"Object","description":"The type of the object.","default":"list"},"data":{"items":{"$ref":"#/components/schemas/Search"},"type":"array","title":"Data","description":"List of search results."}},"additionalProperties":true,"type":"object","required":["data"],"title":"Searches"},"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"},"Annotation":{"properties":{"type":{"type":"string","const":"url_citation","title":"Type"},"url_citation":{"$ref":"#/components/schemas/AnnotationURLCitation"}},"additionalProperties":true,"type":"object","required":["type","url_citation"],"title":"Annotation","description":"A URL citation when using web search."},"AnnotationURLCitation":{"properties":{"end_index":{"type":"integer","title":"End Index"},"start_index":{"type":"integer","title":"Start Index"},"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"}},"additionalProperties":true,"type":"object","required":["end_index","start_index","title","url"],"title":"AnnotationURLCitation","description":"A URL citation when using web search."},"AudioTranscription":{"properties":{"id":{"type":"string","title":"Id","description":"A unique identifier for the audio transcription."},"text":{"type":"string","title":"Text","description":"The transcription text."},"model":{"type":"string","title":"Model","description":"The model used to generate the transcription."},"segments":{"anyOf":[{"items":{"$ref":"#/components/schemas/Segment"},"type":"array"},{"type":"null"}],"title":"Segments","description":"Diarized segments, only set when `response_format=diarized_json`."},"usage":{"$ref":"#/components/schemas/api__schemas__usage__Usage","description":"Usage information for the request."}},"additionalProperties":true,"type":"object","required":["id","text","model"],"title":"AudioTranscription"},"AudioTranscriptionLanguage":{"type":"string","enum":["af","afrikaans","albanian","am","amharic","ar","arabic","armenian","as","assamese","az","azerbaijani","ba","bashkir","basque","be","belarusian","bengali","bg","bn","bo","bosnian","br","breton","bs","bulgarian","burmese","ca","cantonese","castilian","catalan","chinese","croatian","cs","cy","czech","da","danish","de","dutch","el","en","english","es","estonian","et","eu","fa","faroese","fi","finnish","flemish","fo","fr","french","galician","georgian","german","gl","greek","gu","gujarati","ha","haitian","haitian creole","hausa","haw","hawaiian","he","hebrew","hi","hindi","hr","ht","hu","hungarian","hy","icelandic","id","indonesian","is","it","italian","ja","japanese","javanese","jw","ka","kannada","kazakh","khmer","kk","km","kn","ko","korean","la","lao","latin","latvian","lb","letzeburgesch","lingala","lithuanian","ln","lo","lt","luxembourgish","lv","macedonian","malagasy","malay","malayalam","maltese","mandarin","maori","marathi","mg","mi","mk","ml","mn","moldavian","moldovan","mongolian","mr","ms","mt","my","myanmar","ne","nepali","nl","nn","no","norwegian","nynorsk","oc","occitan","pa","panjabi","pashto","persian","pl","polish","portuguese","ps","pt","punjabi","pushto","ro","romanian","ru","russian","sa","sanskrit","sd","serbian","shona","si","sindhi","sinhala","sinhalese","sk","sl","slovak","slovenian","sn","so","somali","spanish","sq","sr","su","sundanese","sv","sw","swahili","swedish","ta","tagalog","tajik","tamil","tatar","te","telugu","tg","th","thai","tibetan","tk","tl","tr","tt","turkish","turkmen","uk","ukrainian","ur","urdu","uz","uzbek","valencian","vi","vietnamese","welsh","yi","yiddish","yo","yoruba","yue","zh"],"title":"AudioTranscriptionLanguage"},"AudioTranscriptionResponseFormat":{"type":"string","enum":["json","text","verbose_json","diarized_json","srt","vtt"],"title":"AudioTranscriptionResponseFormat"},"Body_audio_transcriptions_v1_audio_transcriptions_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"The audio file object (not file name) to transcribe, in one of these formats: mp3 or wav."},"model":{"type":"string","title":"Model","description":"ID of the model to use. Call `/v1/models` endpoint to get the list of available models, only `automatic-speech-recognition` model type is supported."},"language":{"anyOf":[{"$ref":"#/components/schemas/AudioTranscriptionLanguage"},{"type":"null"}],"description":"The language of the output audio. If the output language is different than the audio language, the audio language will be translated into the output language. Output language must be supplied in ISO-639-1 format (e.g. en, fr) format."},"prompt":{"type":"string","title":"Prompt","description":"An optional text to tell the model what to do with the input audio.","default":""},"response_format":{"$ref":"#/components/schemas/AudioTranscriptionResponseFormat","description":"The format of the transcript output: `json` (default), `text`, `diarized_json` to return per-segment speaker labels, `srt` or `vtt` for subtitle formats.","default":"json"},"temperature":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Temperature","description":"The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.","default":0.0}},"type":"object","required":["file","model"],"title":"Body_audio_transcriptions_v1_audio_transcriptions_post"},"CarbonFootprintUsage":{"properties":{"kWh":{"$ref":"#/components/schemas/CarbonFootprintUsageKWh","deprecated":true},"kgCO2eq":{"$ref":"#/components/schemas/CarbonFootprintUsageKgCO2eq","deprecated":true}},"additionalProperties":true,"type":"object","title":"CarbonFootprintUsage"},"CarbonFootprintUsageKWh":{"properties":{"min":{"type":"number","title":"Min","description":"Minimum carbon footprint in kWh.","default":0.0,"deprecated":true},"max":{"type":"number","title":"Max","description":"Maximum carbon footprint in kWh.","default":0.0,"deprecated":true}},"additionalProperties":true,"type":"object","title":"CarbonFootprintUsageKWh"},"CarbonFootprintUsageKgCO2eq":{"properties":{"min":{"type":"number","title":"Min","description":"Minimum carbon footprint in kgCO2eq (global warming potential).","default":0.0,"deprecated":true},"max":{"type":"number","title":"Max","description":"Maximum carbon footprint in kgCO2eq (global warming potential).","default":0.0,"deprecated":true}},"additionalProperties":true,"type":"object","title":"CarbonFootprintUsageKgCO2eq"},"ChatCompletion":{"properties":{"id":{"type":"string","title":"Id","description":"A unique identifier for the chat completion."},"choices":{"items":{"$ref":"#/components/schemas/openai__types__chat__chat_completion__Choice"},"type":"array","title":"Choices"},"created":{"type":"integer","title":"Created"},"model":{"type":"string","title":"Model"},"object":{"type":"string","const":"chat.completion","title":"Object"},"service_tier":{"anyOf":[{"type":"string","enum":["auto","default","flex","scale","priority"]},{"type":"null"}],"title":"Service Tier"},"system_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Fingerprint"},"usage":{"$ref":"#/components/schemas/api__schemas__usage__Usage","description":"Usage information for the request."}},"additionalProperties":true,"type":"object","required":["choices","created","model","object"],"title":"ChatCompletion"},"ChatCompletionAudio":{"properties":{"id":{"type":"string","title":"Id"},"data":{"type":"string","title":"Data"},"expires_at":{"type":"integer","title":"Expires At"},"transcript":{"type":"string","title":"Transcript"}},"additionalProperties":true,"type":"object","required":["id","data","expires_at","transcript"],"title":"ChatCompletionAudio","description":"If the audio output modality is requested, this object contains data\nabout the audio response from the model. [Learn more](https://platform.openai.com/docs/guides/audio)."},"ChatCompletionChunk":{"properties":{"id":{"type":"string","title":"Id"},"choices":{"items":{"$ref":"#/components/schemas/openai__types__chat__chat_completion_chunk__Choice"},"type":"array","title":"Choices"},"created":{"type":"integer","title":"Created"},"model":{"type":"string","title":"Model"},"object":{"type":"string","const":"chat.completion.chunk","title":"Object"},"service_tier":{"anyOf":[{"type":"string","enum":["auto","default","flex","scale","priority"]},{"type":"null"}],"title":"Service Tier"},"system_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Fingerprint"},"usage":{"anyOf":[{"$ref":"#/components/schemas/CompletionUsage"},{"type":"null"}]}},"additionalProperties":true,"type":"object","required":["id","choices","created","model","object"],"title":"ChatCompletionChunk"},"ChatCompletionContentPartImageParam":{"properties":{"image_url":{"$ref":"#/components/schemas/openai__types__chat__chat_completion_content_part_image_param__ImageURL"},"type":{"type":"string","const":"image_url","title":"Type"}},"additionalProperties":true,"type":"object","required":["image_url","type"],"title":"ChatCompletionContentPartImageParam","description":"Learn about [image inputs](https://platform.openai.com/docs/guides/vision)."},"ChatCompletionContentPartInputAudioParam":{"properties":{"input_audio":{"$ref":"#/components/schemas/InputAudio"},"type":{"type":"string","const":"input_audio","title":"Type"}},"additionalProperties":true,"type":"object","required":["input_audio","type"],"title":"ChatCompletionContentPartInputAudioParam","description":"Learn about [audio inputs](https://platform.openai.com/docs/guides/audio)."},"ChatCompletionContentPartTextParam":{"properties":{"text":{"type":"string","title":"Text"},"type":{"type":"string","const":"text","title":"Type"}},"additionalProperties":true,"type":"object","required":["text","type"],"title":"ChatCompletionContentPartTextParam","description":"Learn about [text inputs](https://platform.openai.com/docs/guides/text-generation)."},"ChatCompletionMessage":{"properties":{"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"refusal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refusal"},"role":{"type":"string","const":"assistant","title":"Role"},"annotations":{"anyOf":[{"items":{"$ref":"#/components/schemas/Annotation"},"type":"array"},{"type":"null"}],"title":"Annotations"},"audio":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionAudio"},{"type":"null"}]},"function_call":{"anyOf":[{"$ref":"#/components/schemas/FunctionCall"},{"type":"null"}]},"tool_calls":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionMessageFunctionToolCall"},{"$ref":"#/components/schemas/ChatCompletionMessageCustomToolCall"}]},"type":"array"},{"type":"null"}],"title":"Tool Calls"}},"additionalProperties":true,"type":"object","required":["role"],"title":"ChatCompletionMessage","description":"A chat completion message generated by the model."},"ChatCompletionMessageCustomToolCall":{"properties":{"id":{"type":"string","title":"Id"},"custom":{"$ref":"#/components/schemas/Custom"},"type":{"type":"string","const":"custom","title":"Type"}},"additionalProperties":true,"type":"object","required":["id","custom","type"],"title":"ChatCompletionMessageCustomToolCall","description":"A call to a custom tool created by the model."},"ChatCompletionMessageFunctionToolCall":{"properties":{"id":{"type":"string","title":"Id"},"function":{"$ref":"#/components/schemas/Function"},"type":{"type":"string","const":"function","title":"Type"}},"additionalProperties":true,"type":"object","required":["id","function","type"],"title":"ChatCompletionMessageFunctionToolCall","description":"A call to a function tool created by the model."},"ChatCompletionTokenLogprob":{"properties":{"token":{"type":"string","title":"Token"},"bytes":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Bytes"},"logprob":{"type":"number","title":"Logprob"},"top_logprobs":{"items":{"$ref":"#/components/schemas/TopLogprob"},"type":"array","title":"Top Logprobs"}},"additionalProperties":true,"type":"object","required":["token","logprob","top_logprobs"],"title":"ChatCompletionTokenLogprob"},"ChoiceDelta":{"properties":{"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"function_call":{"anyOf":[{"$ref":"#/components/schemas/ChoiceDeltaFunctionCall"},{"type":"null"}]},"refusal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refusal"},"role":{"anyOf":[{"type":"string","enum":["developer","system","user","assistant","tool"]},{"type":"null"}],"title":"Role"},"tool_calls":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChoiceDeltaToolCall"},"type":"array"},{"type":"null"}],"title":"Tool Calls"}},"additionalProperties":true,"type":"object","title":"ChoiceDelta","description":"A chat completion delta generated by streamed model responses."},"ChoiceDeltaFunctionCall":{"properties":{"arguments":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Arguments"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"additionalProperties":true,"type":"object","title":"ChoiceDeltaFunctionCall","description":"Deprecated and replaced by `tool_calls`.\n\nThe name and arguments of a function that should be called, as generated by the model."},"ChoiceDeltaToolCall":{"properties":{"index":{"type":"integer","title":"Index"},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"function":{"anyOf":[{"$ref":"#/components/schemas/ChoiceDeltaToolCallFunction"},{"type":"null"}]},"type":{"anyOf":[{"type":"string","const":"function"},{"type":"null"}],"title":"Type"}},"additionalProperties":true,"type":"object","required":["index"],"title":"ChoiceDeltaToolCall"},"ChoiceDeltaToolCallFunction":{"properties":{"arguments":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Arguments"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"additionalProperties":true,"type":"object","title":"ChoiceDeltaToolCallFunction"},"ChoiceLogprobs":{"properties":{"content":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionTokenLogprob"},"type":"array"},{"type":"null"}],"title":"Content"},"refusal":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionTokenLogprob"},"type":"array"},{"type":"null"}],"title":"Refusal"}},"additionalProperties":true,"type":"object","title":"ChoiceLogprobs","description":"Log probability information for the choice."},"CompletionTokensDetails":{"properties":{"accepted_prediction_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Accepted Prediction Tokens"},"audio_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audio Tokens"},"reasoning_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reasoning Tokens"},"rejected_prediction_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rejected Prediction Tokens"}},"additionalProperties":true,"type":"object","title":"CompletionTokensDetails","description":"Breakdown of tokens used in a completion."},"CompletionUsage":{"properties":{"completion_tokens":{"type":"integer","title":"Completion Tokens"},"prompt_tokens":{"type":"integer","title":"Prompt Tokens"},"total_tokens":{"type":"integer","title":"Total Tokens"},"completion_tokens_details":{"anyOf":[{"$ref":"#/components/schemas/CompletionTokensDetails"},{"type":"null"}]},"prompt_tokens_details":{"anyOf":[{"$ref":"#/components/schemas/PromptTokensDetails"},{"type":"null"}]}},"additionalProperties":true,"type":"object","required":["completion_tokens","prompt_tokens","total_tokens"],"title":"CompletionUsage","description":"Usage statistics for the completion request."},"CreateChatCompletion":{"properties":{"messages":{"items":{},"type":"array","title":"Messages","description":"A list of messages comprising the conversation so far."},"model":{"type":"string","title":"Model","description":"ID of the model to use. Call `/v1/models` endpoint to get the list of available models, only `text-generation` model type is supported."},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Frequency Penalty","description":"Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.","default":0.0},"logit_bias":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"title":"Logit Bias","description":"Modify the likelihood of specified tokens appearing in the completion. Accepts a JSON object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token."},"logprobs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Logprobs","description":"Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`.","default":false},"top_logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top Logprobs","description":"An integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability. `logprobs` must be set to `true` if this parameter is used."},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Presence Penalty","description":"Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.","default":0.0},"max_completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Completion Tokens","description":"An upper bound for the number of tokens that can be generated for a completion."},"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N","description":"How many chat completion choices to generate for each input message. Note that you will be charged based on the number of generated tokens across all of the choices. Keep `n` as `1` to minimize costs.","default":1},"response_format":{"anyOf":[{},{"type":"null"}],"title":"Response Format","description":"Setting to `{ \"type\": \"json_schema\", \"json_schema\": {...} }` enables Structured Outputs which ensures the model will match your supplied JSON schema. Learn more in the Structured Outputs guide. Setting to `{ \"type\": \"json_object\" }` enables JSON mode, which ensures the message the model generates is valid JSON.<br>**Important**: when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly \"stuck\" request. Also note that the message content may be partially cut off if `finish_reason=\"length\"`, which indicates the generation exceeded `max_tokens` or the conversation exceeded the max context length."},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"If specified, our system will make a best effort to sample deterministically, such that repeated requests with the same `seed` and parameters should return the same result. Determinism is not guaranteed, and you should refer to the system_fingerprint response parameter to monitor changes in the backend."},"stop":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Stop","description":"Up to 4 sequences where the API will stop generating further tokens."},"stream":{"anyOf":[{"type":"boolean","enum":[true,false]},{"type":"null"}],"title":"Stream","description":"If set, partial message deltas will be sent. Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a data: [DONE] message.","default":false},"stream_options":{"anyOf":[{},{"type":"null"}],"title":"Stream Options","description":"Options for streaming response. Only set this when you set `stream: true`."},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature","description":"What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both."},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Top P","description":"An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.<br>We generally recommend altering this or `temperature` but not both."},"tools":{"anyOf":[{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"description":"A list of tools the model may call. Currently, only functions are supported as a tool."},{"type":"null"}],"title":"Tools"},"tool_choice":{"title":"Tool Choice","description":"Controls which (if any) tool is called by the model. `none` means the model will not call any tool and instead generates a message. `auto` means the model can pick between generating a message or calling one or more tools. `required` means the model must call one or more tools. Specifying a particular tool via `{\"type\": \"function\", \"function\": {\"name\": \"my_function\"}}` forces the model to call that tool.<br>`none` is the default when no tools are present. `auto` is the default if tools are present.","default":"none"},"parallel_tool_calls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Parallel Tool Calls","description":"Whether to call tools in parallel or sequentially. If true, the model will call tools in parallel. If false, the model will call tools sequentially. If None, the model will call tools in parallel if the model supports it, otherwise it will call tools sequentially.","default":false},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User","description":"A unique identifier representing the user."}},"additionalProperties":true,"type":"object","required":["messages","model"],"title":"CreateChatCompletion"},"CreateEmbeddingsBody":{"properties":{"model":{"type":"string","minLength":1,"title":"Model","description":"ID of the model to use. Call `/v1/models` endpoint to get the list of available models, only `text-embeddings-inference` model type is supported."},"input":{"anyOf":[{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"items":{"items":{"type":"integer"},"type":"array","minItems":1},"type":"array"},{"type":"string"},{"items":{"type":"string"},"type":"array"}],"minLength":1},{"type":"null"}],"title":"Input","description":"Input text to embed, encoded as a string or array of tokens. To embed multiple inputs in a single request, pass an array of strings or array of token arrays. The input must not exceed the max input tokens for the model (call `/v1/models` endpoint to get the `max_context_length` by model) and cannot be an empty string."},"dimensions":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Dimensions","description":"The number of dimensions the resulting output embeddings should have."},"encoding_format":{"$ref":"#/components/schemas/EncodingFormat","description":"The format of the output embeddings.","default":"float"}},"additionalProperties":true,"type":"object","required":["model"],"title":"CreateEmbeddingsBody"},"CreateKey":{"properties":{"name":{"type":"string","title":"Name"},"expires":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires","description":"Timestamp in seconds"}},"additionalProperties":true,"type":"object","required":["name"],"title":"CreateKey"},"CreateKeyResponse":{"properties":{"id":{"type":"integer","title":"Id"},"token":{"type":"string","title":"Token"}},"additionalProperties":true,"type":"object","required":["id","token"],"title":"CreateKeyResponse"},"CreateOCR":{"properties":{"bbox_annotation_format":{"anyOf":[{"$ref":"#/components/schemas/ResponseFormat"},{"type":"null"}],"description":"Specify the format that the model must output for the bounding boxes. By default it will use `{ \"type\": \"text\" }`. Setting to `{ \"type\": \"json_object\" }` enables JSON mode, which guarantees the message the model generates is in JSON. When using JSON mode you MUST also instruct the model to produce JSON yourself with a system or a user message. Setting to `{ \"type\": \"json_schema\" }` enables JSON schema mode, which guarantees the message the model generates is in JSON and follows the schema you provide."},"document":{"anyOf":[{"$ref":"#/components/schemas/DocumentURLChunk"},{"$ref":"#/components/schemas/ImageURLChunk"}],"title":"Document","description":"Document to run OCR on."},"document_annotation_format":{"anyOf":[{"$ref":"#/components/schemas/ResponseFormat"},{"type":"null"}],"description":"Specify the format that the model must output for the document. By default it will use `{ \"type\": \"text\" }`. Setting to `{ \"type\": \"json_object\" }` enables JSON mode, which guarantees the message the model generates is in JSON. When using JSON mode you MUST also instruct the model to produce JSON yourself with a system or a user message. Setting to `{ \"type\": \"json_schema\" }` enables JSON schema mode, which guarantees the message the model generates is in JSON and follows the schema you provide."},"document_annotation_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Annotation Prompt","description":"Optional prompt to guide the model in extracting structured output from the entire document. A document_annotation_format must be provided."},"extract_footer":{"type":"boolean","title":"Extract Footer","description":"Whether to extract the footer of the document.","default":false},"extract_header":{"type":"boolean","title":"Extract Header","description":"Whether to extract the header of the document.","default":false},"image_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Image Limit","description":"Max images to extract"},"image_min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Image Min Size","description":"Minimum height and width of image to extract"},"include_image_base64":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Image Base64","description":"Include image URLs in response"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"The model to use for the OCR."},"pages":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Pages","description":"Specific pages to process. Accepts a list of integers or a string of comma-separated numbers and ranges (e.g. '0,1,2' or '0-5' or '0,2-4'). Page numbers start from 0."},"table_format":{"anyOf":[{"type":"string","enum":["markdown","html"]},{"type":"null"}],"title":"Table Format","description":"Format for table extraction: 'markdown' (default) or 'html'."}},"additionalProperties":true,"type":"object","required":["document"],"title":"CreateOCR"},"CreateRerankBody":{"properties":{"query":{"type":"string","minLength":1,"title":"Query","description":"The search query to use for the reranking. `query` and `prompt` cannot both be provided."},"documents":{"items":{"type":"string","minLength":1},"type":"array","title":"Documents"},"model":{"type":"string","minLength":1,"title":"Model","description":"The model to use for the reranking, call `/v1/models` endpoint to get the list of available models, only `text-classification` model type is supported."},"top_n":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Top N","description":"The number of top results to return. If set to None, all results will be returned."}},"additionalProperties":true,"type":"object","required":["query","documents","model"],"title":"CreateRerankBody"},"Custom":{"properties":{"input":{"type":"string","title":"Input"},"name":{"type":"string","title":"Name"}},"additionalProperties":true,"type":"object","required":["input","name"],"title":"Custom","description":"The custom tool that the model called."},"DocumentURLChunk":{"properties":{"document_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Name","description":"The filename of the document."},"document_url":{"type":"string","title":"Document Url","description":"The URL of the document."},"type":{"type":"string","const":"document_url","title":"Type","description":"The type of the document.","default":"document_url"}},"additionalProperties":true,"type":"object","required":["document_url"],"title":"DocumentURLChunk"},"Embedding":{"properties":{"embedding":{"items":{"type":"number"},"type":"array","title":"Embedding"},"index":{"type":"integer","title":"Index"},"object":{"type":"string","const":"embedding","title":"Object"}},"additionalProperties":true,"type":"object","required":["embedding","index","object"],"title":"Embedding","description":"Represents an embedding vector returned by embedding endpoint."},"EmbeddingMessage":{"properties":{"role":{"type":"string","enum":["system","user","assistant","developer","function","tool"],"title":"Role","description":"The role of the message."},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionContentPartTextParam"},{"$ref":"#/components/schemas/ChatCompletionContentPartImageParam"},{"$ref":"#/components/schemas/ChatCompletionContentPartInputAudioParam"},{"$ref":"#/components/schemas/File"}]},"type":"array"}],"title":"Content","description":"The content of the message."}},"additionalProperties":true,"type":"object","required":["role","content"],"title":"EmbeddingMessage"},"EmbeddingsResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Embedding"},"type":"array","title":"Data"},"model":{"type":"string","title":"Model"},"object":{"type":"string","const":"list","title":"Object","description":"The type of object returned.","default":"list"},"usage":{"$ref":"#/components/schemas/api__domain__usage__entities__Usage","description":"Usage information for the request."},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"A unique identifier for the request."}},"additionalProperties":true,"type":"object","required":["data","model"],"title":"EmbeddingsResponse"},"EncodingFormat":{"type":"string","enum":["float","base64"],"title":"EncodingFormat"},"EndpointUsage":{"type":"string","enum":["/v1/audio/transcriptions","/v1/chat/completions","/v1/embeddings","/v1/ocr","/v1/rerank","/v1/search"],"title":"EndpointUsage"},"File":{"properties":{"file":{"$ref":"#/components/schemas/FileFile"},"type":{"type":"string","const":"file","title":"Type"}},"additionalProperties":true,"type":"object","required":["file","type"],"title":"File","description":"Learn about [file inputs](https://platform.openai.com/docs/guides/text) for text generation."},"FileFile":{"properties":{"file_data":{"type":"string","title":"File Data"},"file_id":{"type":"string","title":"File Id"},"filename":{"type":"string","title":"Filename"}},"additionalProperties":true,"type":"object","title":"FileFile"},"Function":{"properties":{"arguments":{"type":"string","title":"Arguments"},"name":{"type":"string","title":"Name"}},"additionalProperties":true,"type":"object","required":["arguments","name"],"title":"Function","description":"The function that the model called."},"FunctionCall":{"properties":{"arguments":{"type":"string","title":"Arguments"},"name":{"type":"string","title":"Name"}},"additionalProperties":true,"type":"object","required":["arguments","name"],"title":"FunctionCall","description":"Deprecated and replaced by `tool_calls`.\n\nThe name and arguments of a function that should be called, as generated by the model."},"ImageURLChunk":{"properties":{"image_url":{"anyOf":[{"$ref":"#/components/schemas/api__schemas__ocr__ImageURL"},{"type":"string"}],"title":"Image Url","description":"The URL of the image to OCR."},"type":{"type":"string","const":"image_url","title":"Type","description":"The type of the image.","default":"image_url"}},"additionalProperties":true,"type":"object","required":["image_url"],"title":"ImageURLChunk"},"InputAudio":{"properties":{"data":{"type":"string","title":"Data"},"format":{"type":"string","enum":["wav","mp3"],"title":"Format"}},"additionalProperties":true,"type":"object","required":["data","format"],"title":"InputAudio"},"JsonSchema":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the JSON schema."},"schema":{"additionalProperties":true,"type":"object","title":"Schema","description":"The JSON schema definition."},"strict":{"type":"boolean","title":"Strict","description":"Whether to use strict mode.","default":false},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Optional description of the schema."}},"additionalProperties":true,"type":"object","required":["name","schema"],"title":"JsonSchema"},"Key":{"properties":{"object":{"type":"string","const":"key","title":"Object","default":"key"},"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"token":{"type":"string","title":"Token"},"expires":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires"},"created":{"type":"integer","title":"Created"}},"additionalProperties":true,"type":"object","required":["id","name","token","created"],"title":"Key"},"Keys":{"properties":{"object":{"type":"string","const":"list","title":"Object","default":"list"},"data":{"items":{"$ref":"#/components/schemas/Key"},"type":"array","title":"Data"}},"additionalProperties":true,"type":"object","required":["data"],"title":"Keys"},"Limit":{"properties":{"router_id":{"type":"integer","title":"Router Id","description":"The router ID."},"type":{"$ref":"#/components/schemas/LimitType","description":"The limit type."},"value":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Value","description":"The limit value."}},"additionalProperties":true,"type":"object","required":["router_id","type"],"title":"Limit"},"LimitType":{"type":"string","enum":["tpm","tpd","rpm","rpd"],"title":"LimitType"},"MetricsUsage":{"properties":{"latency":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latency"},"ttft":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ttft"}},"additionalProperties":true,"type":"object","title":"MetricsUsage"},"Model":{"properties":{"object":{"type":"string","const":"model","title":"Object","description":"Type of the object.","default":"model"},"id":{"type":"string","title":"Id","description":"The model identifier, which can be referenced in the API endpoints."},"type":{"anyOf":[{"$ref":"#/components/schemas/ModelType"},{"type":"null"}],"description":"The type of the model, which can be used to identify the model type.","examples":["text-generation"]},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"Aliases of the model. It will be used to identify the model by users.","examples":[["model-alias","model-alias-2"]]},"created":{"type":"integer","title":"Created","description":"Time of creation, as Unix timestamp."},"owned_by":{"type":"string","title":"Owned By","description":"The organization that owns the model."},"max_context_length":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Context Length","description":"Maximum amount of tokens a context could contains. Makes sure it is the same for all models."},"costs":{"$ref":"#/components/schemas/ModelCosts","description":"Costs of the model."}},"additionalProperties":true,"type":"object","required":["id","created","owned_by"],"title":"Model"},"ModelCosts":{"properties":{"prompt_tokens":{"type":"number","minimum":0.0,"title":"Prompt Tokens","description":"Cost of a million prompt tokens (decrease user budget)","default":0.0},"completion_tokens":{"type":"number","minimum":0.0,"title":"Completion Tokens","description":"Cost of a million completion tokens (decrease user budget)","default":0.0}},"additionalProperties":true,"type":"object","title":"ModelCosts"},"ModelType":{"type":"string","enum":["automatic-speech-recognition","image-text-to-text","image-to-text","text-classification","text-embeddings-inference","text-generation"],"title":"ModelType"},"ModelsResponse":{"properties":{"object":{"type":"string","const":"list","title":"Object","description":"Type of the object.","default":"list"},"data":{"items":{"$ref":"#/components/schemas/Model"},"type":"array","title":"Data","description":"List of models."}},"additionalProperties":true,"type":"object","required":["data"],"title":"ModelsResponse"},"Nullable_OCRPageDimensions_":{"anyOf":[{"$ref":"#/components/schemas/OCRPageDimensions"},{"type":"null"}]},"Nullable_int_":{"anyOf":[{"type":"integer"},{"type":"null"}]},"Nullable_str_":{"anyOf":[{"type":"string"},{"type":"null"}]},"OCR":{"properties":{"pages":{"items":{"$ref":"#/components/schemas/OCRPageObject"},"type":"array","title":"Pages"},"model":{"type":"string","title":"Model"},"usage_info":{"$ref":"#/components/schemas/OCRUsageInfo"},"document_annotation":{"$ref":"#/components/schemas/OptionalNullable_str_","default":"~?~unset~?~sentinel~?~"},"id":{"type":"string","title":"Id","description":"The ID of the OCR request."},"usage":{"anyOf":[{"$ref":"#/components/schemas/api__schemas__usage__Usage"},{"type":"null"}],"description":"Usage information for the request."}},"type":"object","required":["pages","model","usage_info","id"],"title":"OCR"},"OCRImageObject":{"properties":{"id":{"type":"string","title":"Id"},"top_left_x":{"$ref":"#/components/schemas/Nullable_int_"},"top_left_y":{"$ref":"#/components/schemas/Nullable_int_"},"bottom_right_x":{"$ref":"#/components/schemas/Nullable_int_"},"bottom_right_y":{"$ref":"#/components/schemas/Nullable_int_"},"image_base64":{"$ref":"#/components/schemas/OptionalNullable_str_","default":"~?~unset~?~sentinel~?~"},"image_annotation":{"$ref":"#/components/schemas/OptionalNullable_str_","default":"~?~unset~?~sentinel~?~"}},"type":"object","required":["id","top_left_x","top_left_y","bottom_right_x","bottom_right_y"],"title":"OCRImageObject"},"OCRPageDimensions":{"properties":{"dpi":{"type":"integer","title":"Dpi"},"height":{"type":"integer","title":"Height"},"width":{"type":"integer","title":"Width"}},"type":"object","required":["dpi","height","width"],"title":"OCRPageDimensions"},"OCRPageObject":{"properties":{"index":{"type":"integer","title":"Index"},"markdown":{"type":"string","title":"Markdown"},"images":{"items":{"$ref":"#/components/schemas/OCRImageObject"},"type":"array","title":"Images"},"dimensions":{"$ref":"#/components/schemas/Nullable_OCRPageDimensions_"},"tables":{"anyOf":[{"items":{"$ref":"#/components/schemas/OCRTableObject"},"type":"array"},{"type":"null"}],"title":"Tables"},"hyperlinks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Hyperlinks"},"header":{"$ref":"#/components/schemas/OptionalNullable_str_","default":"~?~unset~?~sentinel~?~"},"footer":{"$ref":"#/components/schemas/OptionalNullable_str_","default":"~?~unset~?~sentinel~?~"}},"type":"object","required":["index","markdown","images","dimensions"],"title":"OCRPageObject"},"OCRTableObject":{"properties":{"id":{"type":"string","title":"Id"},"content":{"type":"string","title":"Content"},"format":{"type":"string","enum":["markdown","html"],"title":"Format"}},"type":"object","required":["id","content","format"],"title":"OCRTableObject"},"OCRUsageInfo":{"properties":{"pages_processed":{"type":"integer","title":"Pages Processed"},"doc_size_bytes":{"$ref":"#/components/schemas/OptionalNullable_int_","default":"~?~unset~?~sentinel~?~"}},"type":"object","required":["pages_processed"],"title":"OCRUsageInfo"},"OptionalNullable_int_":{"anyOf":[{"$ref":"#/components/schemas/Nullable_int_"},{"$ref":"#/components/schemas/Unset"},{"type":"null"}]},"OptionalNullable_str_":{"anyOf":[{"$ref":"#/components/schemas/Nullable_str_"},{"$ref":"#/components/schemas/Unset"},{"type":"null"}]},"PermissionType":{"type":"string","enum":["admin","create_public_collection","read_metric","provide_models"],"title":"PermissionType"},"PromptTokensDetails":{"properties":{"audio_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audio Tokens"},"cached_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cached Tokens"}},"additionalProperties":true,"type":"object","title":"PromptTokensDetails","description":"Breakdown of tokens used in the prompt."},"RerankResponse":{"properties":{"object":{"type":"string","const":"list","title":"Object","default":"list"},"id":{"type":"string","title":"Id","description":"A unique identifier for the request."},"results":{"items":{"$ref":"#/components/schemas/RerankResult"},"type":"array","title":"Results","description":"The list of reranked texts."},"model":{"type":"string","title":"Model","description":"The model used to generate the reranking."},"usage":{"$ref":"#/components/schemas/api__domain__usage__entities__Usage","description":"Usage information for the request."}},"additionalProperties":true,"type":"object","required":["id","results","model"],"title":"RerankResponse"},"RerankResult":{"properties":{"relevance_score":{"type":"number","title":"Relevance Score","description":"The relevance score of the reranked text."},"index":{"type":"integer","title":"Index","description":"The index of the reranked text."}},"additionalProperties":true,"type":"object","required":["relevance_score","index"],"title":"RerankResult"},"ResponseFormat":{"properties":{"type":{"type":"string","enum":["text","json_object","json_schema"],"title":"Type","description":"Specify the format that the model must output. By default it will use `{ \"type\": \"text\" }`. Setting to `{ \"type\": \"json_object\" }` enables JSON mode, which guarantees the message the model generates is in JSON. When using JSON mode you MUST also instruct the model to produce JSON yourself with a system or a user message. Setting to `{ \"type\": \"json_schema\" }` enables JSON schema mode, which guarantees the message the model generates is in JSON and follows the schema you provide.","default":"text"},"json_schema":{"anyOf":[{"$ref":"#/components/schemas/JsonSchema"},{"type":"null"}],"description":"The JSON schema definition. Required when type is 'json_schema'."}},"additionalProperties":true,"type":"object","title":"ResponseFormat"},"Segment":{"properties":{"id":{"type":"integer","title":"Id","description":"A unique identifier for the segment."},"type":{"type":"string","title":"Type","description":"The type of the segment.","default":"transcript.text.segment"},"text":{"type":"string","title":"Text","description":"The segment text."},"start":{"type":"number","title":"Start","description":"Start time of the segment in seconds."},"end":{"type":"number","title":"End","description":"End time of the segment in seconds."},"speaker":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Speaker","description":"Speaker label assigned by diarization, if available."}},"additionalProperties":true,"type":"object","required":["id","text","start","end"],"title":"Segment"},"TopLogprob":{"properties":{"token":{"type":"string","title":"Token"},"bytes":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Bytes"},"logprob":{"type":"number","title":"Logprob"}},"additionalProperties":true,"type":"object","required":["token","logprob"],"title":"TopLogprob"},"Unset":{"properties":{},"type":"object","title":"Unset"},"UpdateUserInfo":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"The user name."},"email":{"anyOf":[{"type":"string","maxLength":254},{"type":"null"}],"title":"Email","description":"The user email."},"current_password":{"anyOf":[{"type":"string","maxLength":72},{"type":"null"}],"title":"Current Password","description":"The current user password."},"password":{"anyOf":[{"type":"string","maxLength":72},{"type":"null"}],"title":"Password","description":"The new user password. If None, the user password is not changed."}},"additionalProperties":true,"type":"object","title":"UpdateUserInfo"},"UsageDetail":{"properties":{"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Prompt Tokens","description":"Number of prompt tokens (e.g. input tokens)."},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Completion Tokens","description":"Number of completion tokens (e.g. output tokens)."},"total_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Tokens","description":"Total number of tokens (e.g. input and output tokens)."},"cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost","description":"Total cost of the request."},"impacts":{"$ref":"#/components/schemas/api__schemas__usage__EnvironmentalImpacts"},"metrics":{"$ref":"#/components/schemas/MetricsUsage"}},"additionalProperties":true,"type":"object","title":"UsageDetail"},"Usages":{"properties":{"object":{"type":"string","const":"list","title":"Object","description":"Object type.","default":"list"},"data":{"items":{"$ref":"#/components/schemas/api__schemas__me__usage__Usage"},"type":"array","title":"Data","description":"List of usages."}},"additionalProperties":true,"type":"object","required":["data"],"title":"Usages"},"UserInfo":{"properties":{"object":{"type":"string","const":"userInfo","title":"Object","description":"The user info object type.","default":"userInfo"},"id":{"type":"integer","title":"Id","description":"The user ID."},"email":{"type":"string","title":"Email","description":"The user email."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"The user name."},"organization":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Organization","description":"The user organization ID."},"budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Budget","description":"The user budget. If None, the user has unlimited budget."},"permissions":{"items":{"$ref":"#/components/schemas/PermissionType"},"type":"array","title":"Permissions","description":"The user permissions."},"limits":{"items":{"$ref":"#/components/schemas/Limit"},"type":"array","title":"Limits","description":"The user rate limits."},"expires":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires","description":"The user expiration timestamp. If None, the user will never expire."},"priority":{"type":"integer","title":"Priority","description":"The user priority (higher = higher priority). This value influences scheduling/queue priority for non-streaming model invocations.","default":0},"created":{"type":"integer","title":"Created","description":"The user creation timestamp."},"updated":{"type":"integer","title":"Updated","description":"The user update timestamp."}},"additionalProperties":true,"type":"object","required":["id","email","permissions","limits","created","updated"],"title":"UserInfo"},"api__domain__usage__entities__EnvironmentalImpacts":{"properties":{"kWh":{"type":"number","title":"Kwh","default":0.0},"kgCO2eq":{"type":"number","title":"Kgco2Eq","default":0.0}},"additionalProperties":true,"type":"object","title":"EnvironmentalImpacts"},"api__domain__usage__entities__Usage":{"properties":{"prompt_tokens":{"type":"integer","title":"Prompt Tokens","default":0},"completion_tokens":{"type":"integer","title":"Completion Tokens","default":0},"total_tokens":{"type":"integer","title":"Total Tokens","default":0},"cost":{"type":"number","title":"Cost","default":0.0},"impacts":{"$ref":"#/components/schemas/api__domain__usage__entities__EnvironmentalImpacts","default":{"kWh":0.0,"kgCO2eq":0.0}}},"additionalProperties":true,"type":"object","title":"Usage"},"api__infrastructure__fastapi__documentation__HTTPExceptionModel":{"properties":{"status_code":{"type":"integer","title":"Status Code"},"detail":{"type":"string","title":"Detail"},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Headers"}},"type":"object","required":["status_code","detail"],"title":"HTTPExceptionModel"},"api__schemas__exception__HTTPExceptionModel":{"properties":{"status_code":{"type":"integer","maximum":599.0,"minimum":100.0,"title":"Status Code","description":"HTTP status code to send to the client."},"detail":{"title":"Detail","description":"Any data to be sent to the client in the `detail` key of the JSON response."},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Headers","description":"Any headers to send to the client in the response."}},"type":"object","required":["status_code","detail","headers"],"title":"HTTPExceptionModel"},"api__schemas__me__usage__Usage":{"properties":{"object":{"type":"string","const":"me.usage","title":"Object","description":"Object type.","default":"me.usage"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Model used for the request."},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key","description":"Key used for the request."},"endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint","description":"Endpoint used for the request."},"method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Method","description":"Method used for the request."},"status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Status","description":"Status code of the response."},"usage":{"$ref":"#/components/schemas/UsageDetail"},"created":{"type":"integer","title":"Created","description":"Timestamp in seconds"}},"additionalProperties":true,"type":"object","required":["created"],"title":"Usage"},"api__schemas__ocr__ImageURL":{"properties":{"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail","description":"The detail of the image."},"url":{"type":"string","title":"Url","description":"The URL of the image."}},"additionalProperties":true,"type":"object","required":["url"],"title":"ImageURL"},"api__schemas__usage__EnvironmentalImpacts":{"properties":{"kWh":{"type":"number","title":"Kwh","description":"Carbon footprint in kWh.","default":0.0},"kgCO2eq":{"type":"number","title":"Kgco2Eq","description":"Carbon footprint in kgCO2eq (global warming potential).","default":0.0}},"additionalProperties":true,"type":"object","title":"EnvironmentalImpacts"},"api__schemas__usage__Usage":{"properties":{"prompt_tokens":{"type":"integer","title":"Prompt Tokens","description":"Number of prompt tokens (e.g. input tokens).","default":0},"completion_tokens":{"type":"integer","title":"Completion Tokens","description":"Number of completion tokens (e.g. output tokens).","default":0},"total_tokens":{"type":"integer","title":"Total Tokens","description":"Total number of tokens (e.g. input and output tokens).","default":0},"cost":{"type":"number","title":"Cost","description":"Total cost of the request.","default":0.0},"carbon":{"$ref":"#/components/schemas/CarbonFootprintUsage","deprecated":true},"impacts":{"$ref":"#/components/schemas/api__schemas__usage__EnvironmentalImpacts"},"requests":{"type":"integer","title":"Requests","description":"Number of model requests.","default":0}},"additionalProperties":true,"type":"object","title":"Usage"},"openai__types__chat__chat_completion__Choice":{"properties":{"finish_reason":{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"],"title":"Finish Reason"},"index":{"type":"integer","title":"Index"},"logprobs":{"anyOf":[{"$ref":"#/components/schemas/ChoiceLogprobs"},{"type":"null"}]},"message":{"$ref":"#/components/schemas/ChatCompletionMessage"}},"additionalProperties":true,"type":"object","required":["finish_reason","index","message"],"title":"Choice"},"openai__types__chat__chat_completion_chunk__Choice":{"properties":{"delta":{"$ref":"#/components/schemas/ChoiceDelta"},"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"null"}],"title":"Finish Reason"},"index":{"type":"integer","title":"Index"},"logprobs":{"anyOf":[{"$ref":"#/components/schemas/ChoiceLogprobs"},{"type":"null"}]}},"additionalProperties":true,"type":"object","required":["delta","index"],"title":"Choice"},"openai__types__chat__chat_completion_content_part_image_param__ImageURL":{"properties":{"url":{"type":"string","title":"Url"},"detail":{"type":"string","enum":["auto","low","high"],"title":"Detail"}},"additionalProperties":true,"type":"object","required":["url"],"title":"ImageURL"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"tags":[{"name":"Audio"},{"name":"Chat"},{"name":"Collections"},{"name":"Documents"},{"name":"Embeddings"},{"name":"Health"},{"name":"Me"},{"name":"Models"},{"name":"Monitoring"},{"name":"OCR"},{"name":"Rerank"},{"name":"Search"}]}