// This file is auto-generated by @hey-api/openapi-ts import { type Client, formDataBodySerializer, type Options as Options2, type TDataShape, } from './client'; import { client } from './client.gen'; import type { ActivateOrganizationCertificatesData, ActivateOrganizationCertificatesResponses, ActivateProjectCertificatesData, ActivateProjectCertificatesResponses, AddUploadPartData, AddUploadPartResponses, AdminApiKeysCreateData, AdminApiKeysCreateResponses, AdminApiKeysDeleteData, AdminApiKeysDeleteResponses, AdminApiKeysGetData, AdminApiKeysGetResponses, AdminApiKeysListData, AdminApiKeysListResponses, ArchiveProjectData, ArchiveProjectResponses, CancelBatchData, CancelBatchResponses, CancelEvalRunData, CancelEvalRunResponses, CancelFineTuningJobData, CancelFineTuningJobResponses, CancelResponseData, CancelResponseErrors, CancelResponseResponses, CancelRunData, CancelRunResponses, CancelUploadData, CancelUploadResponses, CancelVectorStoreFileBatchData, CancelVectorStoreFileBatchResponses, CompleteUploadData, CompleteUploadResponses, CreateAssistantData, CreateAssistantResponses, CreateBatchData, CreateBatchResponses, CreateChatCompletionData, CreateChatCompletionResponses, CreateCompletionData, CreateCompletionResponses, CreateContainerData, CreateContainerFileData, CreateContainerFileResponses, CreateContainerResponses, CreateEmbeddingData, CreateEmbeddingResponses, CreateEvalData, CreateEvalResponses, CreateEvalRunData, CreateEvalRunErrors, CreateEvalRunResponses, CreateFileData, CreateFileResponses, CreateFineTuningCheckpointPermissionData, CreateFineTuningCheckpointPermissionResponses, CreateFineTuningJobData, CreateFineTuningJobResponses, CreateImageData, CreateImageEditData, CreateImageEditResponses, CreateImageResponses, CreateImageVariationData, CreateImageVariationResponses, CreateMessageData, CreateMessageResponses, CreateModerationData, CreateModerationResponses, CreateProjectData, CreateProjectResponses, CreateProjectServiceAccountData, CreateProjectServiceAccountErrors, CreateProjectServiceAccountResponses, CreateProjectUserData, CreateProjectUserErrors, CreateProjectUserResponses, CreateRealtimeSessionData, CreateRealtimeSessionResponses, CreateRealtimeTranscriptionSessionData, CreateRealtimeTranscriptionSessionResponses, CreateResponseData, CreateResponseResponses, CreateRunData, CreateRunResponses, CreateSpeechData, CreateSpeechResponses, CreateThreadAndRunData, CreateThreadAndRunResponses, CreateThreadData, CreateThreadResponses, CreateTranscriptionData, CreateTranscriptionResponses, CreateTranslationData, CreateTranslationResponses, CreateUploadData, CreateUploadResponses, CreateVectorStoreData, CreateVectorStoreFileBatchData, CreateVectorStoreFileBatchResponses, CreateVectorStoreFileData, CreateVectorStoreFileResponses, CreateVectorStoreResponses, DeactivateOrganizationCertificatesData, DeactivateOrganizationCertificatesResponses, DeactivateProjectCertificatesData, DeactivateProjectCertificatesResponses, DeleteAssistantData, DeleteAssistantResponses, DeleteCertificateData, DeleteCertificateResponses, DeleteChatCompletionData, DeleteChatCompletionResponses, DeleteContainerData, DeleteContainerFileData, DeleteContainerFileResponses, DeleteContainerResponses, DeleteEvalData, DeleteEvalErrors, DeleteEvalResponses, DeleteEvalRunData, DeleteEvalRunErrors, DeleteEvalRunResponses, DeleteFileData, DeleteFileResponses, DeleteFineTuningCheckpointPermissionData, DeleteFineTuningCheckpointPermissionResponses, DeleteInviteData, DeleteInviteResponses, DeleteMessageData, DeleteMessageResponses, DeleteModelData, DeleteModelResponses, DeleteProjectApiKeyData, DeleteProjectApiKeyErrors, DeleteProjectApiKeyResponses, DeleteProjectServiceAccountData, DeleteProjectServiceAccountResponses, DeleteProjectUserData, DeleteProjectUserErrors, DeleteProjectUserResponses, DeleteResponseData, DeleteResponseErrors, DeleteResponseResponses, DeleteThreadData, DeleteThreadResponses, DeleteUserData, DeleteUserResponses, DeleteVectorStoreData, DeleteVectorStoreFileData, DeleteVectorStoreFileResponses, DeleteVectorStoreResponses, DownloadFileData, DownloadFileResponses, GetAssistantData, GetAssistantResponses, GetCertificateData, GetCertificateResponses, GetChatCompletionData, GetChatCompletionMessagesData, GetChatCompletionMessagesResponses, GetChatCompletionResponses, GetEvalData, GetEvalResponses, GetEvalRunData, GetEvalRunOutputItemData, GetEvalRunOutputItemResponses, GetEvalRunOutputItemsData, GetEvalRunOutputItemsResponses, GetEvalRunResponses, GetEvalRunsData, GetEvalRunsResponses, GetMessageData, GetMessageResponses, GetResponseData, GetResponseResponses, GetRunData, GetRunResponses, GetRunStepData, GetRunStepResponses, GetThreadData, GetThreadResponses, GetVectorStoreData, GetVectorStoreFileBatchData, GetVectorStoreFileBatchResponses, GetVectorStoreFileData, GetVectorStoreFileResponses, GetVectorStoreResponses, InviteUserData, InviteUserResponses, ListAssistantsData, ListAssistantsResponses, ListAuditLogsData, ListAuditLogsResponses, ListBatchesData, ListBatchesResponses, ListChatCompletionsData, ListChatCompletionsResponses, ListContainerFilesData, ListContainerFilesResponses, ListContainersData, ListContainersResponses, ListEvalsData, ListEvalsResponses, ListFilesData, ListFilesInVectorStoreBatchData, ListFilesInVectorStoreBatchResponses, ListFilesResponses, ListFineTuningCheckpointPermissionsData, ListFineTuningCheckpointPermissionsResponses, ListFineTuningEventsData, ListFineTuningEventsResponses, ListFineTuningJobCheckpointsData, ListFineTuningJobCheckpointsResponses, ListInputItemsData, ListInputItemsResponses, ListInvitesData, ListInvitesResponses, ListMessagesData, ListMessagesResponses, ListModelsData, ListModelsResponses, ListOrganizationCertificatesData, ListOrganizationCertificatesResponses, ListPaginatedFineTuningJobsData, ListPaginatedFineTuningJobsResponses, ListProjectApiKeysData, ListProjectApiKeysResponses, ListProjectCertificatesData, ListProjectCertificatesResponses, ListProjectRateLimitsData, ListProjectRateLimitsResponses, ListProjectsData, ListProjectServiceAccountsData, ListProjectServiceAccountsErrors, ListProjectServiceAccountsResponses, ListProjectsResponses, ListProjectUsersData, ListProjectUsersErrors, ListProjectUsersResponses, ListRunsData, ListRunsResponses, ListRunStepsData, ListRunStepsResponses, ListUsersData, ListUsersResponses, ListVectorStoreFilesData, ListVectorStoreFilesResponses, ListVectorStoresData, ListVectorStoresResponses, ModifyAssistantData, ModifyAssistantResponses, ModifyCertificateData, ModifyCertificateResponses, ModifyMessageData, ModifyMessageResponses, ModifyProjectData, ModifyProjectErrors, ModifyProjectResponses, ModifyProjectUserData, ModifyProjectUserErrors, ModifyProjectUserResponses, ModifyRunData, ModifyRunResponses, ModifyThreadData, ModifyThreadResponses, ModifyUserData, ModifyUserResponses, ModifyVectorStoreData, ModifyVectorStoreResponses, PauseFineTuningJobData, PauseFineTuningJobResponses, ResumeFineTuningJobData, ResumeFineTuningJobResponses, RetrieveBatchData, RetrieveBatchResponses, RetrieveContainerData, RetrieveContainerFileContentData, RetrieveContainerFileContentResponses, RetrieveContainerFileData, RetrieveContainerFileResponses, RetrieveContainerResponses, RetrieveFileData, RetrieveFileResponses, RetrieveFineTuningJobData, RetrieveFineTuningJobResponses, RetrieveInviteData, RetrieveInviteResponses, RetrieveModelData, RetrieveModelResponses, RetrieveProjectApiKeyData, RetrieveProjectApiKeyResponses, RetrieveProjectData, RetrieveProjectResponses, RetrieveProjectServiceAccountData, RetrieveProjectServiceAccountResponses, RetrieveProjectUserData, RetrieveProjectUserResponses, RetrieveUserData, RetrieveUserResponses, RetrieveVectorStoreFileContentData, RetrieveVectorStoreFileContentResponses, RunGraderData, RunGraderResponses, SearchVectorStoreData, SearchVectorStoreResponses, SubmitToolOuputsToRunData, SubmitToolOuputsToRunResponses, UpdateChatCompletionData, UpdateChatCompletionResponses, UpdateEvalData, UpdateEvalResponses, UpdateProjectRateLimitsData, UpdateProjectRateLimitsErrors, UpdateProjectRateLimitsResponses, UpdateVectorStoreFileAttributesData, UpdateVectorStoreFileAttributesResponses, UploadCertificateData, UploadCertificateResponses, UsageAudioSpeechesData, UsageAudioSpeechesResponses, UsageAudioTranscriptionsData, UsageAudioTranscriptionsResponses, UsageCodeInterpreterSessionsData, UsageCodeInterpreterSessionsResponses, UsageCompletionsData, UsageCompletionsResponses, UsageCostsData, UsageCostsResponses, UsageEmbeddingsData, UsageEmbeddingsResponses, UsageImagesData, UsageImagesResponses, UsageModerationsData, UsageModerationsResponses, UsageVectorStoresData, UsageVectorStoresResponses, ValidateGraderData, ValidateGraderResponses, } from './types.gen'; export type Options< TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, > = Options2 & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a * custom client. */ client?: Client; /** * You can pass arbitrary values through the `meta` object. This can be * used to access values that aren't defined as part of the SDK function. */ meta?: Record; }; class HeyApiClient { protected client: Client; constructor(args?: { client?: Client }) { this.client = args?.client ?? client; } } class HeyApiRegistry { private readonly defaultKey = 'default'; private readonly instances: Map = new Map(); get(key?: string): T { const instance = this.instances.get(key ?? this.defaultKey); if (!instance) { throw new Error( `No SDK client found. Create one with "new OpenAi()" to fix this error.`, ); } return instance; } set(value: T, key?: string): void { this.instances.set(key ?? this.defaultKey, value); } } export class OpenAi extends HeyApiClient { public static readonly __registry = new HeyApiRegistry(); constructor(args?: { client?: Client; key?: string }) { super(args); OpenAi.__registry.set(this, args?.key); } /** * List assistants * * Returns a list of assistants. */ public listAssistants( options?: Options, ) { return (options?.client ?? this.client).get< ListAssistantsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/assistants', ...options, }); } /** * Create assistant * * Create an assistant with a model and instructions. */ public createAssistant( options: Options, ) { return (options.client ?? this.client).post< CreateAssistantResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/assistants', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete assistant * * Delete an assistant. */ public deleteAssistant( options: Options, ) { return (options.client ?? this.client).delete< DeleteAssistantResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/assistants/{assistant_id}', ...options, }); } /** * Retrieve assistant * * Retrieves an assistant. */ public getAssistant( options: Options, ) { return (options.client ?? this.client).get< GetAssistantResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/assistants/{assistant_id}', ...options, }); } /** * Modify assistant * * Modifies an assistant. */ public modifyAssistant( options: Options, ) { return (options.client ?? this.client).post< ModifyAssistantResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/assistants/{assistant_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Create speech * * Generates audio from the input text. */ public createSpeech( options: Options, ) { return (options.client ?? this.client).post< CreateSpeechResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/audio/speech', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Create transcription * * Transcribes audio into the input language. */ public createTranscription( options: Options, ) { return (options.client ?? this.client).post< CreateTranscriptionResponses, unknown, ThrowOnError >({ ...formDataBodySerializer, security: [{ scheme: 'bearer', type: 'http' }], url: '/audio/transcriptions', ...options, headers: { 'Content-Type': null, ...options.headers, }, }); } /** * Create translation * * Translates audio into English. */ public createTranslation( options: Options, ) { return (options.client ?? this.client).post< CreateTranslationResponses, unknown, ThrowOnError >({ ...formDataBodySerializer, security: [{ scheme: 'bearer', type: 'http' }], url: '/audio/translations', ...options, headers: { 'Content-Type': null, ...options.headers, }, }); } /** * List batch * * List your organization's batches. */ public listBatches( options?: Options, ) { return (options?.client ?? this.client).get< ListBatchesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/batches', ...options, }); } /** * Create batch * * Creates and executes a batch from an uploaded file of requests */ public createBatch( options: Options, ) { return (options.client ?? this.client).post< CreateBatchResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/batches', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Retrieve batch * * Retrieves a batch. */ public retrieveBatch( options: Options, ) { return (options.client ?? this.client).get< RetrieveBatchResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/batches/{batch_id}', ...options, }); } /** * Cancel batch * * Cancels an in-progress batch. The batch will be in status `cancelling` for up to 10 minutes, before changing to `cancelled`, where it will have partial results (if any) available in the output file. */ public cancelBatch( options: Options, ) { return (options.client ?? this.client).post< CancelBatchResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/batches/{batch_id}/cancel', ...options, }); } /** * List Chat Completions * * List stored Chat Completions. Only Chat Completions that have been stored * with the `store` parameter set to `true` will be returned. * */ public listChatCompletions( options?: Options, ) { return (options?.client ?? this.client).get< ListChatCompletionsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/chat/completions', ...options, }); } /** * Create chat completion * * **Starting a new project?** We recommend trying [Responses](https://platform.openai.com/docs/api-reference/responses) * to take advantage of the latest OpenAI platform features. Compare * [Chat Completions with Responses](https://platform.openai.com/docs/guides/responses-vs-chat-completions?api-mode=responses). * * --- * * Creates a model response for the given chat conversation. Learn more in the * [text generation](https://platform.openai.com/docs/guides/text-generation), [vision](https://platform.openai.com/docs/guides/vision), * and [audio](https://platform.openai.com/docs/guides/audio) guides. * * Parameter support can differ depending on the model used to generate the * response, particularly for newer reasoning models. Parameters that are only * supported for reasoning models are noted below. For the current state of * unsupported parameters in reasoning models, * [refer to the reasoning guide](https://platform.openai.com/docs/guides/reasoning). * */ public createChatCompletion( options: Options, ) { return (options.client ?? this.client).post< CreateChatCompletionResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/chat/completions', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete chat completion * * Delete a stored chat completion. Only Chat Completions that have been * created with the `store` parameter set to `true` can be deleted. * */ public deleteChatCompletion( options: Options, ) { return (options.client ?? this.client).delete< DeleteChatCompletionResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/chat/completions/{completion_id}', ...options, }); } /** * Get chat completion * * Get a stored chat completion. Only Chat Completions that have been created * with the `store` parameter set to `true` will be returned. * */ public getChatCompletion( options: Options, ) { return (options.client ?? this.client).get< GetChatCompletionResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/chat/completions/{completion_id}', ...options, }); } /** * Update chat completion * * Modify a stored chat completion. Only Chat Completions that have been * created with the `store` parameter set to `true` can be modified. Currently, * the only supported modification is to update the `metadata` field. * */ public updateChatCompletion( options: Options, ) { return (options.client ?? this.client).post< UpdateChatCompletionResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/chat/completions/{completion_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Get chat messages * * Get the messages in a stored chat completion. Only Chat Completions that * have been created with the `store` parameter set to `true` will be * returned. * */ public getChatCompletionMessages( options: Options, ) { return (options.client ?? this.client).get< GetChatCompletionMessagesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/chat/completions/{completion_id}/messages', ...options, }); } /** * Create completion * * Creates a completion for the provided prompt and parameters. */ public createCompletion( options: Options, ) { return (options.client ?? this.client).post< CreateCompletionResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/completions', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * List containers * * List Containers */ public listContainers( options?: Options, ) { return (options?.client ?? this.client).get< ListContainersResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/containers', ...options, }); } /** * Create container * * Create Container */ public createContainer( options?: Options, ) { return (options?.client ?? this.client).post< CreateContainerResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/containers', ...options, headers: { 'Content-Type': 'application/json', ...options?.headers, }, }); } /** * Delete a container * * Delete Container */ public deleteContainer( options: Options, ) { return (options.client ?? this.client).delete< DeleteContainerResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/containers/{container_id}', ...options, }); } /** * Retrieve container * * Retrieve Container */ public retrieveContainer( options: Options, ) { return (options.client ?? this.client).get< RetrieveContainerResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/containers/{container_id}', ...options, }); } /** * List container files * * List Container files */ public listContainerFiles( options: Options, ) { return (options.client ?? this.client).get< ListContainerFilesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/containers/{container_id}/files', ...options, }); } /** * Create container file * * Create a Container File * * You can send either a multipart/form-data request with the raw file content, or a JSON request with a file ID. * */ public createContainerFile( options: Options, ) { return (options.client ?? this.client).post< CreateContainerFileResponses, unknown, ThrowOnError >({ ...formDataBodySerializer, security: [{ scheme: 'bearer', type: 'http' }], url: '/containers/{container_id}/files', ...options, headers: { 'Content-Type': null, ...options.headers, }, }); } /** * Delete a container file * * Delete Container File */ public deleteContainerFile( options: Options, ) { return (options.client ?? this.client).delete< DeleteContainerFileResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/containers/{container_id}/files/{file_id}', ...options, }); } /** * Retrieve container file * * Retrieve Container File */ public retrieveContainerFile( options: Options, ) { return (options.client ?? this.client).get< RetrieveContainerFileResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/containers/{container_id}/files/{file_id}', ...options, }); } /** * Retrieve container file content * * Retrieve Container File Content */ public retrieveContainerFileContent( options: Options, ) { return (options.client ?? this.client).get< RetrieveContainerFileContentResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/containers/{container_id}/files/{file_id}/content', ...options, }); } /** * Create embeddings * * Creates an embedding vector representing the input text. */ public createEmbedding( options: Options, ) { return (options.client ?? this.client).post< CreateEmbeddingResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/embeddings', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * List evals * * List evaluations for a project. * */ public listEvals( options?: Options, ) { return (options?.client ?? this.client).get< ListEvalsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals', ...options, }); } /** * Create eval * * Create the structure of an evaluation that can be used to test a model's performance. * An evaluation is a set of testing criteria and the config for a data source, which dictates the schema of the data used in the evaluation. After creating an evaluation, you can run it on different models and model parameters. We support several types of graders and datasources. * For more information, see the [Evals guide](https://platform.openai.com/docs/guides/evals). * */ public createEval( options: Options, ) { return (options.client ?? this.client).post< CreateEvalResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete an eval * * Delete an evaluation. * */ public deleteEval( options: Options, ) { return (options.client ?? this.client).delete< DeleteEvalResponses, DeleteEvalErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals/{eval_id}', ...options, }); } /** * Get an eval * * Get an evaluation by ID. * */ public getEval( options: Options, ) { return (options.client ?? this.client).get< GetEvalResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals/{eval_id}', ...options, }); } /** * Update an eval * * Update certain properties of an evaluation. * */ public updateEval( options: Options, ) { return (options.client ?? this.client).post< UpdateEvalResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals/{eval_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Get eval runs * * Get a list of runs for an evaluation. * */ public getEvalRuns( options: Options, ) { return (options.client ?? this.client).get< GetEvalRunsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals/{eval_id}/runs', ...options, }); } /** * Create eval run * * Kicks off a new run for a given evaluation, specifying the data source, and what model configuration to use to test. The datasource will be validated against the schema specified in the config of the evaluation. * */ public createEvalRun( options: Options, ) { return (options.client ?? this.client).post< CreateEvalRunResponses, CreateEvalRunErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals/{eval_id}/runs', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete eval run * * Delete an eval run. * */ public deleteEvalRun( options: Options, ) { return (options.client ?? this.client).delete< DeleteEvalRunResponses, DeleteEvalRunErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals/{eval_id}/runs/{run_id}', ...options, }); } /** * Get an eval run * * Get an evaluation run by ID. * */ public getEvalRun( options: Options, ) { return (options.client ?? this.client).get< GetEvalRunResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals/{eval_id}/runs/{run_id}', ...options, }); } /** * Cancel eval run * * Cancel an ongoing evaluation run. * */ public cancelEvalRun( options: Options, ) { return (options.client ?? this.client).post< CancelEvalRunResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals/{eval_id}/runs/{run_id}', ...options, }); } /** * Get eval run output items * * Get a list of output items for an evaluation run. * */ public getEvalRunOutputItems( options: Options, ) { return (options.client ?? this.client).get< GetEvalRunOutputItemsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals/{eval_id}/runs/{run_id}/output_items', ...options, }); } /** * Get an output item of an eval run * * Get an evaluation run output item by ID. * */ public getEvalRunOutputItem( options: Options, ) { return (options.client ?? this.client).get< GetEvalRunOutputItemResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/evals/{eval_id}/runs/{run_id}/output_items/{output_item_id}', ...options, }); } /** * List files * * Returns a list of files. */ public listFiles( options?: Options, ) { return (options?.client ?? this.client).get< ListFilesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/files', ...options, }); } /** * Upload file * * Upload a file that can be used across various endpoints. Individual files can be up to 512 MB, and the size of all files uploaded by one organization can be up to 1 TB. * * The Assistants API supports files up to 2 million tokens and of specific file types. See the [Assistants Tools guide](https://platform.openai.com/docs/assistants/tools) for details. * * The Fine-tuning API only supports `.jsonl` files. The input also has certain required formats for fine-tuning [chat](https://platform.openai.com/docs/api-reference/fine-tuning/chat-input) or [completions](https://platform.openai.com/docs/api-reference/fine-tuning/completions-input) models. * * The Batch API only supports `.jsonl` files up to 200 MB in size. The input also has a specific required [format](https://platform.openai.com/docs/api-reference/batch/request-input). * * Please [contact us](https://help.openai.com/) if you need to increase these storage limits. * */ public createFile( options: Options, ) { return (options.client ?? this.client).post< CreateFileResponses, unknown, ThrowOnError >({ ...formDataBodySerializer, security: [{ scheme: 'bearer', type: 'http' }], url: '/files', ...options, headers: { 'Content-Type': null, ...options.headers, }, }); } /** * Delete file * * Delete a file. */ public deleteFile( options: Options, ) { return (options.client ?? this.client).delete< DeleteFileResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/files/{file_id}', ...options, }); } /** * Retrieve file * * Returns information about a specific file. */ public retrieveFile( options: Options, ) { return (options.client ?? this.client).get< RetrieveFileResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/files/{file_id}', ...options, }); } /** * Retrieve file content * * Returns the contents of the specified file. */ public downloadFile( options: Options, ) { return (options.client ?? this.client).get< DownloadFileResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/files/{file_id}/content', ...options, }); } /** * Run grader * * Run a grader. * */ public runGrader( options: Options, ) { return (options.client ?? this.client).post< RunGraderResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/alpha/graders/run', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Validate grader * * Validate a grader. * */ public validateGrader( options: Options, ) { return (options.client ?? this.client).post< ValidateGraderResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/alpha/graders/validate', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * List checkpoint permissions * * **NOTE:** This endpoint requires an [admin API key](../admin-api-keys). * * Organization owners can use this endpoint to view all permissions for a fine-tuned model checkpoint. * */ public listFineTuningCheckpointPermissions< ThrowOnError extends boolean = false, >(options: Options) { return (options.client ?? this.client).get< ListFineTuningCheckpointPermissionsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions', ...options, }); } /** * Create checkpoint permissions * * **NOTE:** Calling this endpoint requires an [admin API key](../admin-api-keys). * * This enables organization owners to share fine-tuned models with other projects in their organization. * */ public createFineTuningCheckpointPermission< ThrowOnError extends boolean = false, >(options: Options) { return (options.client ?? this.client).post< CreateFineTuningCheckpointPermissionResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete checkpoint permission * * **NOTE:** This endpoint requires an [admin API key](../admin-api-keys). * * Organization owners can use this endpoint to delete a permission for a fine-tuned model checkpoint. * */ public deleteFineTuningCheckpointPermission< ThrowOnError extends boolean = false, >(options: Options) { return (options.client ?? this.client).delete< DeleteFineTuningCheckpointPermissionResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions/{permission_id}', ...options, }); } /** * List fine-tuning jobs * * List your organization's fine-tuning jobs * */ public listPaginatedFineTuningJobs( options?: Options, ) { return (options?.client ?? this.client).get< ListPaginatedFineTuningJobsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/jobs', ...options, }); } /** * Create fine-tuning job * * Creates a fine-tuning job which begins the process of creating a new model from a given dataset. * * Response includes details of the enqueued job including job status and the name of the fine-tuned models once complete. * * [Learn more about fine-tuning](https://platform.openai.com/docs/guides/model-optimization) * */ public createFineTuningJob( options: Options, ) { return (options.client ?? this.client).post< CreateFineTuningJobResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/jobs', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Retrieve fine-tuning job * * Get info about a fine-tuning job. * * [Learn more about fine-tuning](https://platform.openai.com/docs/guides/model-optimization) * */ public retrieveFineTuningJob( options: Options, ) { return (options.client ?? this.client).get< RetrieveFineTuningJobResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/jobs/{fine_tuning_job_id}', ...options, }); } /** * Cancel fine-tuning * * Immediately cancel a fine-tune job. * */ public cancelFineTuningJob( options: Options, ) { return (options.client ?? this.client).post< CancelFineTuningJobResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/jobs/{fine_tuning_job_id}/cancel', ...options, }); } /** * List fine-tuning checkpoints * * List checkpoints for a fine-tuning job. * */ public listFineTuningJobCheckpoints( options: Options, ) { return (options.client ?? this.client).get< ListFineTuningJobCheckpointsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/jobs/{fine_tuning_job_id}/checkpoints', ...options, }); } /** * List fine-tuning events * * Get status updates for a fine-tuning job. * */ public listFineTuningEvents( options: Options, ) { return (options.client ?? this.client).get< ListFineTuningEventsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/jobs/{fine_tuning_job_id}/events', ...options, }); } /** * Pause fine-tuning * * Pause a fine-tune job. * */ public pauseFineTuningJob( options: Options, ) { return (options.client ?? this.client).post< PauseFineTuningJobResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/jobs/{fine_tuning_job_id}/pause', ...options, }); } /** * Resume fine-tuning * * Resume a fine-tune job. * */ public resumeFineTuningJob( options: Options, ) { return (options.client ?? this.client).post< ResumeFineTuningJobResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/fine_tuning/jobs/{fine_tuning_job_id}/resume', ...options, }); } /** * Create image edit * * Creates an edited or extended image given one or more source images and a prompt. This endpoint only supports `gpt-image-1` and `dall-e-2`. */ public createImageEdit( options: Options, ) { return (options.client ?? this.client).post< CreateImageEditResponses, unknown, ThrowOnError >({ ...formDataBodySerializer, security: [{ scheme: 'bearer', type: 'http' }], url: '/images/edits', ...options, headers: { 'Content-Type': null, ...options.headers, }, }); } /** * Create image * * Creates an image given a prompt. [Learn more](https://platform.openai.com/docs/guides/images). * */ public createImage( options: Options, ) { return (options.client ?? this.client).post< CreateImageResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/images/generations', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Create image variation * * Creates a variation of a given image. This endpoint only supports `dall-e-2`. */ public createImageVariation( options: Options, ) { return (options.client ?? this.client).post< CreateImageVariationResponses, unknown, ThrowOnError >({ ...formDataBodySerializer, security: [{ scheme: 'bearer', type: 'http' }], url: '/images/variations', ...options, headers: { 'Content-Type': null, ...options.headers, }, }); } /** * List models * * Lists the currently available models, and provides basic information about each one such as the owner and availability. */ public listModels( options?: Options, ) { return (options?.client ?? this.client).get< ListModelsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/models', ...options, }); } /** * Delete a fine-tuned model * * Delete a fine-tuned model. You must have the Owner role in your organization to delete a model. */ public deleteModel( options: Options, ) { return (options.client ?? this.client).delete< DeleteModelResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/models/{model}', ...options, }); } /** * Retrieve model * * Retrieves a model instance, providing basic information about the model such as the owner and permissioning. */ public retrieveModel( options: Options, ) { return (options.client ?? this.client).get< RetrieveModelResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/models/{model}', ...options, }); } /** * Create moderation * * Classifies if text and/or image inputs are potentially harmful. Learn * more in the [moderation guide](https://platform.openai.com/docs/guides/moderation). * */ public createModeration( options: Options, ) { return (options.client ?? this.client).post< CreateModerationResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/moderations', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * List all organization and project API keys. * * List organization API keys */ public adminApiKeysList( options?: Options, ) { return (options?.client ?? this.client).get< AdminApiKeysListResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/admin_api_keys', ...options, }); } /** * Create admin API key * * Create an organization admin API key */ public adminApiKeysCreate( options: Options, ) { return (options.client ?? this.client).post< AdminApiKeysCreateResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/admin_api_keys', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete admin API key * * Delete an organization admin API key */ public adminApiKeysDelete( options: Options, ) { return (options.client ?? this.client).delete< AdminApiKeysDeleteResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/admin_api_keys/{key_id}', ...options, }); } /** * Retrieve admin API key * * Retrieve a single organization API key */ public adminApiKeysGet( options: Options, ) { return (options.client ?? this.client).get< AdminApiKeysGetResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/admin_api_keys/{key_id}', ...options, }); } /** * List audit logs * * List user actions and configuration changes within this organization. */ public listAuditLogs( options?: Options, ) { return (options?.client ?? this.client).get< ListAuditLogsResponses, unknown, ThrowOnError >({ querySerializer: { parameters: { effective_at: { object: { style: 'form' } } }, }, security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/audit_logs', ...options, }); } /** * List organization certificates * * List uploaded certificates for this organization. */ public listOrganizationCertificates( options?: Options, ) { return (options?.client ?? this.client).get< ListOrganizationCertificatesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/certificates', ...options, }); } /** * Upload certificate * * Upload a certificate to the organization. This does **not** automatically activate the certificate. * * Organizations can upload up to 50 certificates. * */ public uploadCertificate( options: Options, ) { return (options.client ?? this.client).post< UploadCertificateResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/certificates', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Activate certificates for organization * * Activate certificates at the organization level. * * You can atomically and idempotently activate up to 10 certificates at a time. * */ public activateOrganizationCertificates( options: Options, ) { return (options.client ?? this.client).post< ActivateOrganizationCertificatesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/certificates/activate', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Deactivate certificates for organization * * Deactivate certificates at the organization level. * * You can atomically and idempotently deactivate up to 10 certificates at a time. * */ public deactivateOrganizationCertificates< ThrowOnError extends boolean = false, >(options: Options) { return (options.client ?? this.client).post< DeactivateOrganizationCertificatesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/certificates/deactivate', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete certificate * * Delete a certificate from the organization. * * The certificate must be inactive for the organization and all projects. * */ public deleteCertificate( options?: Options, ) { return (options?.client ?? this.client).delete< DeleteCertificateResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/certificates/{certificate_id}', ...options, }); } /** * Get certificate * * Get a certificate that has been uploaded to the organization. * * You can get a certificate regardless of whether it is active or not. * */ public getCertificate( options: Options, ) { return (options.client ?? this.client).get< GetCertificateResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/certificates/{certificate_id}', ...options, }); } /** * Modify certificate * * Modify a certificate. Note that only the name can be modified. * */ public modifyCertificate( options: Options, ) { return (options.client ?? this.client).post< ModifyCertificateResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/certificates/{certificate_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Costs * * Get costs details for the organization. */ public usageCosts( options: Options, ) { return (options.client ?? this.client).get< UsageCostsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/costs', ...options, }); } /** * List invites * * Returns a list of invites in the organization. */ public listInvites( options?: Options, ) { return (options?.client ?? this.client).get< ListInvitesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/invites', ...options, }); } /** * Create invite * * Create an invite for a user to the organization. The invite must be accepted by the user before they have access to the organization. */ public inviteUser( options: Options, ) { return (options.client ?? this.client).post< InviteUserResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/invites', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete invite * * Delete an invite. If the invite has already been accepted, it cannot be deleted. */ public deleteInvite( options: Options, ) { return (options.client ?? this.client).delete< DeleteInviteResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/invites/{invite_id}', ...options, }); } /** * Retrieve invite * * Retrieves an invite. */ public retrieveInvite( options: Options, ) { return (options.client ?? this.client).get< RetrieveInviteResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/invites/{invite_id}', ...options, }); } /** * List projects * * Returns a list of projects. */ public listProjects( options?: Options, ) { return (options?.client ?? this.client).get< ListProjectsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects', ...options, }); } /** * Create project * * Create a new project in the organization. Projects can be created and archived, but cannot be deleted. */ public createProject( options: Options, ) { return (options.client ?? this.client).post< CreateProjectResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Retrieve project * * Retrieves a project. */ public retrieveProject( options: Options, ) { return (options.client ?? this.client).get< RetrieveProjectResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}', ...options, }); } /** * Modify project * * Modifies a project in the organization. */ public modifyProject( options: Options, ) { return (options.client ?? this.client).post< ModifyProjectResponses, ModifyProjectErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * List project API keys * * Returns a list of API keys in the project. */ public listProjectApiKeys( options: Options, ) { return (options.client ?? this.client).get< ListProjectApiKeysResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/api_keys', ...options, }); } /** * Delete project API key * * Deletes an API key from the project. */ public deleteProjectApiKey( options: Options, ) { return (options.client ?? this.client).delete< DeleteProjectApiKeyResponses, DeleteProjectApiKeyErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/api_keys/{key_id}', ...options, }); } /** * Retrieve project API key * * Retrieves an API key in the project. */ public retrieveProjectApiKey( options: Options, ) { return (options.client ?? this.client).get< RetrieveProjectApiKeyResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/api_keys/{key_id}', ...options, }); } /** * Archive project * * Archives a project in the organization. Archived projects cannot be used or updated. */ public archiveProject( options: Options, ) { return (options.client ?? this.client).post< ArchiveProjectResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/archive', ...options, }); } /** * List project certificates * * List certificates for this project. */ public listProjectCertificates( options: Options, ) { return (options.client ?? this.client).get< ListProjectCertificatesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/certificates', ...options, }); } /** * Activate certificates for project * * Activate certificates at the project level. * * You can atomically and idempotently activate up to 10 certificates at a time. * */ public activateProjectCertificates( options: Options, ) { return (options.client ?? this.client).post< ActivateProjectCertificatesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/certificates/activate', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Deactivate certificates for project * * Deactivate certificates at the project level. You can atomically and * idempotently deactivate up to 10 certificates at a time. * */ public deactivateProjectCertificates( options: Options, ) { return (options.client ?? this.client).post< DeactivateProjectCertificatesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/certificates/deactivate', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * List project rate limits * * Returns the rate limits per model for a project. */ public listProjectRateLimits( options: Options, ) { return (options.client ?? this.client).get< ListProjectRateLimitsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/rate_limits', ...options, }); } /** * Modify project rate limit * * Updates a project rate limit. */ public updateProjectRateLimits( options: Options, ) { return (options.client ?? this.client).post< UpdateProjectRateLimitsResponses, UpdateProjectRateLimitsErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/rate_limits/{rate_limit_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * List project service accounts * * Returns a list of service accounts in the project. */ public listProjectServiceAccounts( options: Options, ) { return (options.client ?? this.client).get< ListProjectServiceAccountsResponses, ListProjectServiceAccountsErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/service_accounts', ...options, }); } /** * Create project service account * * Creates a new service account in the project. This also returns an unredacted API key for the service account. */ public createProjectServiceAccount( options: Options, ) { return (options.client ?? this.client).post< CreateProjectServiceAccountResponses, CreateProjectServiceAccountErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/service_accounts', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete project service account * * Deletes a service account from the project. */ public deleteProjectServiceAccount( options: Options, ) { return (options.client ?? this.client).delete< DeleteProjectServiceAccountResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/service_accounts/{service_account_id}', ...options, }); } /** * Retrieve project service account * * Retrieves a service account in the project. */ public retrieveProjectServiceAccount( options: Options, ) { return (options.client ?? this.client).get< RetrieveProjectServiceAccountResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/service_accounts/{service_account_id}', ...options, }); } /** * List project users * * Returns a list of users in the project. */ public listProjectUsers( options: Options, ) { return (options.client ?? this.client).get< ListProjectUsersResponses, ListProjectUsersErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/users', ...options, }); } /** * Create project user * * Adds a user to the project. Users must already be members of the organization to be added to a project. */ public createProjectUser( options: Options, ) { return (options.client ?? this.client).post< CreateProjectUserResponses, CreateProjectUserErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/users', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete project user * * Deletes a user from the project. */ public deleteProjectUser( options: Options, ) { return (options.client ?? this.client).delete< DeleteProjectUserResponses, DeleteProjectUserErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/users/{user_id}', ...options, }); } /** * Retrieve project user * * Retrieves a user in the project. */ public retrieveProjectUser( options: Options, ) { return (options.client ?? this.client).get< RetrieveProjectUserResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/users/{user_id}', ...options, }); } /** * Modify project user * * Modifies a user's role in the project. */ public modifyProjectUser( options: Options, ) { return (options.client ?? this.client).post< ModifyProjectUserResponses, ModifyProjectUserErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/projects/{project_id}/users/{user_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Audio speeches * * Get audio speeches usage details for the organization. */ public usageAudioSpeeches( options: Options, ) { return (options.client ?? this.client).get< UsageAudioSpeechesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/usage/audio_speeches', ...options, }); } /** * Audio transcriptions * * Get audio transcriptions usage details for the organization. */ public usageAudioTranscriptions( options: Options, ) { return (options.client ?? this.client).get< UsageAudioTranscriptionsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/usage/audio_transcriptions', ...options, }); } /** * Code interpreter sessions * * Get code interpreter sessions usage details for the organization. */ public usageCodeInterpreterSessions( options: Options, ) { return (options.client ?? this.client).get< UsageCodeInterpreterSessionsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/usage/code_interpreter_sessions', ...options, }); } /** * Completions * * Get completions usage details for the organization. */ public usageCompletions( options: Options, ) { return (options.client ?? this.client).get< UsageCompletionsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/usage/completions', ...options, }); } /** * Embeddings * * Get embeddings usage details for the organization. */ public usageEmbeddings( options: Options, ) { return (options.client ?? this.client).get< UsageEmbeddingsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/usage/embeddings', ...options, }); } /** * Images * * Get images usage details for the organization. */ public usageImages( options: Options, ) { return (options.client ?? this.client).get< UsageImagesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/usage/images', ...options, }); } /** * Moderations * * Get moderations usage details for the organization. */ public usageModerations( options: Options, ) { return (options.client ?? this.client).get< UsageModerationsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/usage/moderations', ...options, }); } /** * Vector stores * * Get vector stores usage details for the organization. */ public usageVectorStores( options: Options, ) { return (options.client ?? this.client).get< UsageVectorStoresResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/usage/vector_stores', ...options, }); } /** * List users * * Lists all of the users in the organization. */ public listUsers( options?: Options, ) { return (options?.client ?? this.client).get< ListUsersResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/users', ...options, }); } /** * Delete user * * Deletes a user from the organization. */ public deleteUser( options: Options, ) { return (options.client ?? this.client).delete< DeleteUserResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/users/{user_id}', ...options, }); } /** * Retrieve user * * Retrieves a user by their identifier. */ public retrieveUser( options: Options, ) { return (options.client ?? this.client).get< RetrieveUserResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/users/{user_id}', ...options, }); } /** * Modify user * * Modifies a user's role in the organization. */ public modifyUser( options: Options, ) { return (options.client ?? this.client).post< ModifyUserResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/organization/users/{user_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Create session * * Create an ephemeral API token for use in client-side applications with the * Realtime API. Can be configured with the same session parameters as the * `session.update` client event. * * It responds with a session object, plus a `client_secret` key which contains * a usable ephemeral API token that can be used to authenticate browser clients * for the Realtime API. * */ public createRealtimeSession( options: Options, ) { return (options.client ?? this.client).post< CreateRealtimeSessionResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/realtime/sessions', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Create transcription session * * Create an ephemeral API token for use in client-side applications with the * Realtime API specifically for realtime transcriptions. * Can be configured with the same session parameters as the `transcription_session.update` client event. * * It responds with a session object, plus a `client_secret` key which contains * a usable ephemeral API token that can be used to authenticate browser clients * for the Realtime API. * */ public createRealtimeTranscriptionSession< ThrowOnError extends boolean = false, >(options: Options) { return (options.client ?? this.client).post< CreateRealtimeTranscriptionSessionResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/realtime/transcription_sessions', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Create a model response * * Creates a model response. Provide [text](https://platform.openai.com/docs/guides/text) or * [image](https://platform.openai.com/docs/guides/images) inputs to generate [text](https://platform.openai.com/docs/guides/text) * or [JSON](https://platform.openai.com/docs/guides/structured-outputs) outputs. Have the model call * your own [custom code](https://platform.openai.com/docs/guides/function-calling) or use built-in * [tools](https://platform.openai.com/docs/guides/tools) like [web search](https://platform.openai.com/docs/guides/tools-web-search) * or [file search](https://platform.openai.com/docs/guides/tools-file-search) to use your own data * as input for the model's response. * */ public createResponse( options: Options, ) { return (options.client ?? this.client).post< CreateResponseResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/responses', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete a model response * * Deletes a model response with the given ID. * */ public deleteResponse( options: Options, ) { return (options.client ?? this.client).delete< DeleteResponseResponses, DeleteResponseErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/responses/{response_id}', ...options, }); } /** * Get a model response * * Retrieves a model response with the given ID. * */ public getResponse( options: Options, ) { return (options.client ?? this.client).get< GetResponseResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/responses/{response_id}', ...options, }); } /** * Cancel a response * * Cancels a model response with the given ID. Only responses created with * the `background` parameter set to `true` can be cancelled. * [Learn more](https://platform.openai.com/docs/guides/background). * */ public cancelResponse( options: Options, ) { return (options.client ?? this.client).post< CancelResponseResponses, CancelResponseErrors, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/responses/{response_id}/cancel', ...options, }); } /** * List input items * * Returns a list of input items for a given response. */ public listInputItems( options: Options, ) { return (options.client ?? this.client).get< ListInputItemsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/responses/{response_id}/input_items', ...options, }); } /** * Create thread * * Create a thread. */ public createThread( options?: Options, ) { return (options?.client ?? this.client).post< CreateThreadResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads', ...options, headers: { 'Content-Type': 'application/json', ...options?.headers, }, }); } /** * Create thread and run * * Create a thread and run it in one request. */ public createThreadAndRun( options: Options, ) { return (options.client ?? this.client).post< CreateThreadAndRunResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/runs', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete thread * * Delete a thread. */ public deleteThread( options: Options, ) { return (options.client ?? this.client).delete< DeleteThreadResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}', ...options, }); } /** * Retrieve thread * * Retrieves a thread. */ public getThread( options: Options, ) { return (options.client ?? this.client).get< GetThreadResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}', ...options, }); } /** * Modify thread * * Modifies a thread. */ public modifyThread( options: Options, ) { return (options.client ?? this.client).post< ModifyThreadResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * List messages * * Returns a list of messages for a given thread. */ public listMessages( options: Options, ) { return (options.client ?? this.client).get< ListMessagesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/messages', ...options, }); } /** * Create message * * Create a message. */ public createMessage( options: Options, ) { return (options.client ?? this.client).post< CreateMessageResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/messages', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete message * * Deletes a message. */ public deleteMessage( options: Options, ) { return (options.client ?? this.client).delete< DeleteMessageResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/messages/{message_id}', ...options, }); } /** * Retrieve message * * Retrieve a message. */ public getMessage( options: Options, ) { return (options.client ?? this.client).get< GetMessageResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/messages/{message_id}', ...options, }); } /** * Modify message * * Modifies a message. */ public modifyMessage( options: Options, ) { return (options.client ?? this.client).post< ModifyMessageResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/messages/{message_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * List runs * * Returns a list of runs belonging to a thread. */ public listRuns( options: Options, ) { return (options.client ?? this.client).get< ListRunsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/runs', ...options, }); } /** * Create run * * Create a run. */ public createRun( options: Options, ) { return (options.client ?? this.client).post< CreateRunResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/runs', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Retrieve run * * Retrieves a run. */ public getRun( options: Options, ) { return (options.client ?? this.client).get< GetRunResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/runs/{run_id}', ...options, }); } /** * Modify run * * Modifies a run. */ public modifyRun( options: Options, ) { return (options.client ?? this.client).post< ModifyRunResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/runs/{run_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Cancel a run * * Cancels a run that is `in_progress`. */ public cancelRun( options: Options, ) { return (options.client ?? this.client).post< CancelRunResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/runs/{run_id}/cancel', ...options, }); } /** * List run steps * * Returns a list of run steps belonging to a run. */ public listRunSteps( options: Options, ) { return (options.client ?? this.client).get< ListRunStepsResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/runs/{run_id}/steps', ...options, }); } /** * Retrieve run step * * Retrieves a run step. */ public getRunStep( options: Options, ) { return (options.client ?? this.client).get< GetRunStepResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/runs/{run_id}/steps/{step_id}', ...options, }); } /** * Submit tool outputs to run * * When a run has the `status: "requires_action"` and `required_action.type` is `submit_tool_outputs`, this endpoint can be used to submit the outputs from the tool calls once they're all completed. All outputs must be submitted in a single request. * */ public submitToolOuputsToRun( options: Options, ) { return (options.client ?? this.client).post< SubmitToolOuputsToRunResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/threads/{thread_id}/runs/{run_id}/submit_tool_outputs', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Create upload * * Creates an intermediate [Upload](https://platform.openai.com/docs/api-reference/uploads/object) object * that you can add [Parts](https://platform.openai.com/docs/api-reference/uploads/part-object) to. * Currently, an Upload can accept at most 8 GB in total and expires after an * hour after you create it. * * Once you complete the Upload, we will create a * [File](https://platform.openai.com/docs/api-reference/files/object) object that contains all the parts * you uploaded. This File is usable in the rest of our platform as a regular * File object. * * For certain `purpose` values, the correct `mime_type` must be specified. * Please refer to documentation for the * [supported MIME types for your use case](https://platform.openai.com/docs/assistants/tools/file-search#supported-files). * * For guidance on the proper filename extensions for each purpose, please * follow the documentation on [creating a * File](https://platform.openai.com/docs/api-reference/files/create). * */ public createUpload( options: Options, ) { return (options.client ?? this.client).post< CreateUploadResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/uploads', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Cancel upload * * Cancels the Upload. No Parts may be added after an Upload is cancelled. * */ public cancelUpload( options: Options, ) { return (options.client ?? this.client).post< CancelUploadResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/uploads/{upload_id}/cancel', ...options, }); } /** * Complete upload * * Completes the [Upload](https://platform.openai.com/docs/api-reference/uploads/object). * * Within the returned Upload object, there is a nested [File](https://platform.openai.com/docs/api-reference/files/object) object that is ready to use in the rest of the platform. * * You can specify the order of the Parts by passing in an ordered list of the Part IDs. * * The number of bytes uploaded upon completion must match the number of bytes initially specified when creating the Upload object. No Parts may be added after an Upload is completed. * */ public completeUpload( options: Options, ) { return (options.client ?? this.client).post< CompleteUploadResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/uploads/{upload_id}/complete', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Add upload part * * Adds a [Part](https://platform.openai.com/docs/api-reference/uploads/part-object) to an [Upload](https://platform.openai.com/docs/api-reference/uploads/object) object. A Part represents a chunk of bytes from the file you are trying to upload. * * Each Part can be at most 64 MB, and you can add Parts until you hit the Upload maximum of 8 GB. * * It is possible to add multiple Parts in parallel. You can decide the intended order of the Parts when you [complete the Upload](https://platform.openai.com/docs/api-reference/uploads/complete). * */ public addUploadPart( options: Options, ) { return (options.client ?? this.client).post< AddUploadPartResponses, unknown, ThrowOnError >({ ...formDataBodySerializer, security: [{ scheme: 'bearer', type: 'http' }], url: '/uploads/{upload_id}/parts', ...options, headers: { 'Content-Type': null, ...options.headers, }, }); } /** * List vector stores * * Returns a list of vector stores. */ public listVectorStores( options?: Options, ) { return (options?.client ?? this.client).get< ListVectorStoresResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores', ...options, }); } /** * Create vector store * * Create a vector store. */ public createVectorStore( options: Options, ) { return (options.client ?? this.client).post< CreateVectorStoreResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete vector store * * Delete a vector store. */ public deleteVectorStore( options: Options, ) { return (options.client ?? this.client).delete< DeleteVectorStoreResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}', ...options, }); } /** * Retrieve vector store * * Retrieves a vector store. */ public getVectorStore( options: Options, ) { return (options.client ?? this.client).get< GetVectorStoreResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}', ...options, }); } /** * Modify vector store * * Modifies a vector store. */ public modifyVectorStore( options: Options, ) { return (options.client ?? this.client).post< ModifyVectorStoreResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Create vector store file batch * * Create a vector store file batch. */ public createVectorStoreFileBatch( options: Options, ) { return (options.client ?? this.client).post< CreateVectorStoreFileBatchResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/file_batches', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Retrieve vector store file batch * * Retrieves a vector store file batch. */ public getVectorStoreFileBatch( options: Options, ) { return (options.client ?? this.client).get< GetVectorStoreFileBatchResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/file_batches/{batch_id}', ...options, }); } /** * Cancel vector store file batch * * Cancel a vector store file batch. This attempts to cancel the processing of files in this batch as soon as possible. */ public cancelVectorStoreFileBatch( options: Options, ) { return (options.client ?? this.client).post< CancelVectorStoreFileBatchResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel', ...options, }); } /** * List vector store files in a batch * * Returns a list of vector store files in a batch. */ public listFilesInVectorStoreBatch( options: Options, ) { return (options.client ?? this.client).get< ListFilesInVectorStoreBatchResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/file_batches/{batch_id}/files', ...options, }); } /** * List vector store files * * Returns a list of vector store files. */ public listVectorStoreFiles( options: Options, ) { return (options.client ?? this.client).get< ListVectorStoreFilesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/files', ...options, }); } /** * Create vector store file * * Create a vector store file by attaching a [File](https://platform.openai.com/docs/api-reference/files) to a [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object). */ public createVectorStoreFile( options: Options, ) { return (options.client ?? this.client).post< CreateVectorStoreFileResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/files', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Delete vector store file * * Delete a vector store file. This will remove the file from the vector store but the file itself will not be deleted. To delete the file, use the [delete file](https://platform.openai.com/docs/api-reference/files/delete) endpoint. */ public deleteVectorStoreFile( options: Options, ) { return (options.client ?? this.client).delete< DeleteVectorStoreFileResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/files/{file_id}', ...options, }); } /** * Retrieve vector store file * * Retrieves a vector store file. */ public getVectorStoreFile( options: Options, ) { return (options.client ?? this.client).get< GetVectorStoreFileResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/files/{file_id}', ...options, }); } /** * Update vector store file attributes * * Update attributes on a vector store file. */ public updateVectorStoreFileAttributes( options: Options, ) { return (options.client ?? this.client).post< UpdateVectorStoreFileAttributesResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/files/{file_id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } /** * Retrieve vector store file content * * Retrieve the parsed contents of a vector store file. */ public retrieveVectorStoreFileContent( options: Options, ) { return (options.client ?? this.client).get< RetrieveVectorStoreFileContentResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/files/{file_id}/content', ...options, }); } /** * Search vector store * * Search a vector store for relevant chunks based on a query and file attributes filter. */ public searchVectorStore( options: Options, ) { return (options.client ?? this.client).post< SearchVectorStoreResponses, unknown, ThrowOnError >({ security: [{ scheme: 'bearer', type: 'http' }], url: '/vector_stores/{vector_store_id}/search', ...options, headers: { 'Content-Type': 'application/json', ...options.headers, }, }); } }