# yaml-language-server: $schema=https://app.stainlessapi.com/config-internal.schema.json organization: name: llama-stack-client docs: https://llama-stack.readthedocs.io/en/latest/ contact: llamastack@meta.com security: - {} - BearerAuth: [] security_schemes: BearerAuth: type: http scheme: bearer targets: node: package_name: llama-stack-client production_repo: llamastack/llama-stack-client-typescript publish: npm: false python: package_name: llama_stack_client production_repo: llamastack/llama-stack-client-python options: use_uv: true publish: pypi: true project_name: llama_stack_client kotlin: reverse_domain: com.llama_stack_client.api production_repo: null publish: maven: false go: package_name: llama-stack-client production_repo: llamastack/llama-stack-client-go options: enable_v2: true back_compat_use_shared_package: false client_settings: default_env_prefix: LLAMA_STACK_CLIENT opts: api_key: type: string read_env: LLAMA_STACK_CLIENT_API_KEY auth: security_scheme: BearerAuth nullable: true environments: production: http://any-hosted-llama-stack.com pagination: - name: datasets_iterrows type: offset request: dataset_id: type: string start_index: type: integer x-stainless-pagination-property: purpose: offset_count_param limit: type: integer response: data: type: array items: type: object next_index: type: integer x-stainless-pagination-property: purpose: offset_count_start_field - name: openai_cursor_page type: cursor request: limit: type: integer after: type: string x-stainless-pagination-property: purpose: next_cursor_param response: data: type: array items: {} has_more: type: boolean last_id: type: string x-stainless-pagination-property: purpose: next_cursor_field settings: license: MIT unwrap_response_fields: - data file_header: 'Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved. This source code is licensed under the terms described in the LICENSE file in the root directory of this source tree. ' openapi: transformations: - command: mergeObject reason: Better return_type using enum args: target: - $.components.schemas object: ReturnType: additionalProperties: false properties: type: enum: - string - number - boolean - array - object - json - union - chat_completion_input - completion_input - agent_turn_input required: - type type: object - command: replaceProperties reason: Replace return type properties with better model (see above) args: filter: only: - $.components.schemas.ScoringFn.properties.return_type - $.components.schemas.RegisterScoringFunctionRequest.properties.return_type value: $ref: '#/components/schemas/ReturnType' - command: oneOfToAnyOf reason: Prism (mock server) doesn't like one of our requests as it technically matches multiple variants readme: example_requests: default: type: request endpoint: post /v1/chat/completions params: {} headline: type: request endpoint: get /v1/models params: {} pagination: type: request endpoint: post /v1/chat/completions params: {} resources: $shared: models: interleaved_content_item: InterleavedContentItem interleaved_content: InterleavedContent param_type: ParamType safety_violation: SafetyViolation sampling_params: SamplingParams scoring_result: ScoringResult system_message: SystemMessage toolgroups: models: tool_group: ToolGroup list_tool_groups_response: ListToolGroupsResponse methods: register: post /v1/toolgroups get: get /v1/toolgroups/{toolgroup_id} list: get /v1/toolgroups unregister: delete /v1/toolgroups/{toolgroup_id} tools: methods: get: get /v1/tools/{tool_name} list: paginated: false endpoint: get /v1/tools tool_runtime: models: tool_def: ToolDef tool_invocation_result: ToolInvocationResult methods: list_tools: paginated: false endpoint: get /v1/tool-runtime/list-tools invoke_tool: post /v1/tool-runtime/invoke responses: models: response_object_stream: OpenAIResponseObjectStream response_object: OpenAIResponseObject methods: create: type: http streaming: stream_event_model: responses.response_object_stream param_discriminator: stream endpoint: post /v1/responses retrieve: get /v1/responses/{response_id} list: type: http endpoint: get /v1/responses delete: type: http endpoint: delete /v1/responses/{response_id} subresources: input_items: methods: list: type: http paginated: false endpoint: get /v1/responses/{response_id}/input_items prompts: models: prompt: Prompt list_prompts_response: ListPromptsResponse methods: create: post /v1/prompts list: paginated: false endpoint: get /v1/prompts retrieve: get /v1/prompts/{prompt_id} update: post /v1/prompts/{prompt_id} delete: delete /v1/prompts/{prompt_id} set_default_version: post /v1/prompts/{prompt_id}/set-default-version subresources: versions: methods: list: paginated: false endpoint: get /v1/prompts/{prompt_id}/versions conversations: models: conversation_object: Conversation methods: create: type: http endpoint: post /v1/conversations retrieve: get /v1/conversations/{conversation_id} update: type: http endpoint: post /v1/conversations/{conversation_id} delete: type: http endpoint: delete /v1/conversations/{conversation_id} subresources: items: methods: get: type: http endpoint: get /v1/conversations/{conversation_id}/items/{item_id} list: type: http endpoint: get /v1/conversations/{conversation_id}/items create: type: http endpoint: post /v1/conversations/{conversation_id}/items delete: type: http endpoint: delete /v1/conversations/{conversation_id}/items/{item_id} inspect: models: healthInfo: HealthInfo providerInfo: ProviderInfo routeInfo: RouteInfo versionInfo: VersionInfo methods: health: get /v1/health version: get /v1/version embeddings: models: create_embeddings_response: OpenAIEmbeddingsResponse methods: create: post /v1/embeddings chat: models: chat_completion_chunk: OpenAIChatCompletionChunk subresources: completions: methods: create: type: http streaming: stream_event_model: chat.chat_completion_chunk param_discriminator: stream endpoint: post /v1/chat/completions list: type: http paginated: false endpoint: get /v1/chat/completions retrieve: type: http endpoint: get /v1/chat/completions/{completion_id} completions: methods: create: type: http streaming: param_discriminator: stream endpoint: post /v1/completions vector_io: models: queryChunksResponse: QueryChunksResponse methods: insert: post /v1/vector-io/insert query: post /v1/vector-io/query vector_stores: models: vector_store: VectorStoreObject list_vector_stores_response: VectorStoreListResponse vector_store_delete_response: VectorStoreDeleteResponse vector_store_search_response: VectorStoreSearchResponsePage methods: create: post /v1/vector_stores list: get /v1/vector_stores retrieve: get /v1/vector_stores/{vector_store_id} update: post /v1/vector_stores/{vector_store_id} delete: delete /v1/vector_stores/{vector_store_id} search: post /v1/vector_stores/{vector_store_id}/search subresources: files: models: vector_store_file: VectorStoreFileObject methods: list: get /v1/vector_stores/{vector_store_id}/files retrieve: get /v1/vector_stores/{vector_store_id}/files/{file_id} update: post /v1/vector_stores/{vector_store_id}/files/{file_id} delete: delete /v1/vector_stores/{vector_store_id}/files/{file_id} create: post /v1/vector_stores/{vector_store_id}/files content: get /v1/vector_stores/{vector_store_id}/files/{file_id}/content file_batches: models: vector_store_file_batches: VectorStoreFileBatchObject list_vector_store_files_in_batch_response: VectorStoreFilesListInBatchResponse methods: create: post /v1/vector_stores/{vector_store_id}/file_batches retrieve: get /v1/vector_stores/{vector_store_id}/file_batches/{batch_id} list_files: get /v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/files cancel: post /v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel models: models: model: OpenAIModel list_models_response: OpenAIListModelsResponse methods: list: paginated: false endpoint: get /v1/models retrieve: get /v1/models/{model_id} register: post /v1/models unregister: delete /v1/models/{model_id} subresources: openai: methods: list: paginated: false endpoint: get /v1/models providers: models: list_providers_response: ListProvidersResponse methods: list: paginated: false endpoint: get /v1/providers retrieve: get /v1/providers/{provider_id} routes: models: list_routes_response: ListRoutesResponse methods: list: paginated: false endpoint: get /v1/inspect/routes moderations: models: create_response: ModerationObject methods: create: post /v1/moderations safety: models: run_shield_response: RunShieldResponse methods: run_shield: post /v1/safety/run-shield shields: models: shield: Shield list_shields_response: ListShieldsResponse methods: retrieve: get /v1/shields/{identifier} list: paginated: false endpoint: get /v1/shields register: post /v1/shields delete: delete /v1/shields/{identifier} scoring: methods: score: post /v1/scoring/score score_batch: post /v1/scoring/score-batch scoring_functions: models: scoring_fn: ScoringFn scoring_fn_params: ScoringFnParams list_scoring_functions_response: ListScoringFunctionsResponse methods: retrieve: get /v1/scoring-functions/{scoring_fn_id} list: paginated: false endpoint: get /v1/scoring-functions register: post /v1/scoring-functions unregister: delete /v1/scoring-functions/{scoring_fn_id} files: models: file: OpenAIFileObject list_files_response: ListOpenAIFileResponse delete_file_response: OpenAIFileDeleteResponse methods: create: post /v1/files list: get /v1/files retrieve: get /v1/files/{file_id} delete: delete /v1/files/{file_id} content: get /v1/files/{file_id}/content batches: methods: create: post /v1/batches list: get /v1/batches retrieve: get /v1/batches/{batch_id} cancel: post /v1/batches/{batch_id}/cancel alpha: subresources: connectors: models: connector: Connector list_connectors_response: ListConnectorsResponse list_tools_response: ListToolsResponse tool_def: ToolDef methods: list: paginated: false endpoint: get /v1alpha/connectors retrieve: get /v1alpha/connectors/{connector_id} subresources: tools: methods: list: paginated: false endpoint: get /v1alpha/connectors/{connector_id}/tools retrieve: get /v1alpha/connectors/{connector_id}/tools/{tool_name} inference: methods: rerank: post /v1alpha/inference/rerank post_training: models: algorithm_config: AlgorithmConfig post_training_job: PostTrainingJob list_post_training_jobs_response: ListPostTrainingJobsResponse methods: preference_optimize: post /v1alpha/post-training/preference-optimize supervised_fine_tune: post /v1alpha/post-training/supervised-fine-tune subresources: job: methods: artifacts: get /v1alpha/post-training/job/artifacts cancel: post /v1alpha/post-training/job/cancel status: get /v1alpha/post-training/job/status list: paginated: false endpoint: get /v1alpha/post-training/jobs benchmarks: models: benchmark: Benchmark list_benchmarks_response: ListBenchmarksResponse methods: retrieve: get /v1alpha/eval/benchmarks/{benchmark_id} list: paginated: false endpoint: get /v1alpha/eval/benchmarks register: post /v1alpha/eval/benchmarks unregister: delete /v1alpha/eval/benchmarks/{benchmark_id} eval: models: evaluate_response: EvaluateResponse benchmark_config: BenchmarkConfig job: Job methods: evaluate_rows: post /v1alpha/eval/benchmarks/{benchmark_id}/evaluations run_eval: post /v1alpha/eval/benchmarks/{benchmark_id}/jobs evaluate_rows_alpha: post /v1alpha/eval/benchmarks/{benchmark_id}/evaluations run_eval_alpha: post /v1alpha/eval/benchmarks/{benchmark_id}/jobs subresources: jobs: methods: cancel: delete /v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id} status: get /v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id} retrieve: get /v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id}/result beta: subresources: datasets: models: list_datasets_response: ListDatasetsResponse methods: register: post /v1beta/datasets retrieve: get /v1beta/datasets/{dataset_id} list: paginated: false endpoint: get /v1beta/datasets unregister: delete /v1beta/datasets/{dataset_id} iterrows: get /v1beta/datasetio/iterrows/{dataset_id} appendrows: post /v1beta/datasetio/append-rows/{dataset_id}