> ## Documentation Index
> Fetch the complete documentation index at: https://sambanova-systems.mintlify.site/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create chat-based completion



## OpenAPI

````yaml https://app.stainless.com/api/spec/documented/sambanova/openapi.documented.yml post /chat/completions
openapi: 3.1.1
info:
  title: SambaNova cloud API
  description: SambaNova cloud API Specification
  version: 1.2.0
  termsOfService: https://sambanova.ai/cloud-end-user-license-agreement
  contact:
    email: info@sambanova.ai
    name: SambaNova information
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://api.sambanova.ai/v1
security:
  - api_key: []
externalDocs:
  description: Find out more in the official SambaNova docs
  url: https://docs.sambanova.ai/docs/en/api-reference/overview
paths:
  /chat/completions:
    post:
      tags:
        - Chat completions
      summary: Create chat-based completion
      operationId: createChatCompletion
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionRequest'
        description: Chat prompt and parameters
        required: true
      responses:
        '200':
          description: >-
            Successful Response, Returns a ChatCompletionResponse object
            (non-streaming), or a stream of server-sent
            ChatCompletionStreamResponse object events ending with a
            response.completed event (when stream: true).
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ChatCompletionResponse'
                  - $ref: '#/components/schemas/ChatCompletionStreamResponse'
        '400':
          description: Bad Request - Missing or invalid parameters
          content:
            text/plain:
              schema:
                type: string
                example: 'Invalid request body:  - missing property ''model''"'
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GeneralError'
                  - $ref: '#/components/schemas/SimpleError'
              examples:
                empty_messages:
                  summary: Empty messages array
                  value:
                    error:
                      message: >-
                        Invalid 'messages': empty array. Expected an array with
                        minimum length 1, but got an empty array instead.
                      type: invalid_request_error
                      param: messages
                      code: empty_array
                    request_id: d79vdot7os633dverihg
                invalid_role:
                  summary: Invalid message role value
                  value:
                    error:
                      message: >-
                        Invalid value: 'developerrr'. Supported values are:
                        'system', 'assistant', 'user', 'function', 'tool', and
                        'developer'.
                      type: invalid_request_error
                      param: messages[0].role
                      code: invalid_value
                    request_id: d79vdit7os6aemenqav0
                null_content:
                  summary: Null user message content
                  value:
                    error:
                      message: >-
                        Invalid value for 'content': expected a string, got
                        null.
                      type: invalid_request_error
                      param: messages.[5].content
                      code: null
                    request_id: d79vcsd7os6aemenqa80
                missing_model:
                  summary: No model parameter provided
                  value:
                    error:
                      message: you must provide a model parameter
                      type: invalid_request_error
                      param: null
                      code: null
                    request_id: a4fa849e
                invalid_json:
                  summary: Malformed JSON body
                  value:
                    error:
                      code: null
                      message: >-
                        We could not parse the JSON body of your request. (HINT:
                        This likely means you aren't using your HTTP library
                        correctly. A JSON payload is expected, but what was sent
                        was not valid JSON.)
                      param: null
                      type: invalid_request_error
                    request_id: 3f7db127
                simple:
                  summary: Simple error (unhandled cases)
                  value:
                    error: Unhandled error
        '401':
          description: Unauthorized access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
              examples:
                invalid_api_key:
                  summary: Invalid API key provided
                  value:
                    error:
                      message: >-
                        Incorrect API key provided: *****. You can find your API
                        key at https://cloud.sambanova.ai/apis.
                      type: invalid_request_error
                      param: null
                      code: invalid_api_key
                    request_id: d79vcq57os633dverhi0
                missing_api_key:
                  summary: No API key provided
                  value:
                    error:
                      message: >-
                        You didn't provide an API key. You need to provide your
                        API key in an Authorization header using Bearer auth
                        (i.e. Authorization: Bearer YOUR_KEY).
                      type: invalid_request_error
                      param: null
                      code: null
                    request_id: d7a0dct7os633dvesi60
        '404':
          description: Not found - model does not exist or wrong endpoint called
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GeneralError'
                  - $ref: '#/components/schemas/SimpleError'
              examples:
                model_not_found:
                  summary: Model does not exist or is not accessible
                  value:
                    error:
                      code: model_not_found
                      message: >-
                        The model `abc` does not exist or you do not have access
                        to it.
                      param: model
                      type: invalid_request_error
                    request_id: 887a8227
                simple:
                  summary: Simple error (unhandled cases e.g. wrong endpoint)
                  value:
                    error: Not found
        '408':
          description: Request timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimpleError'
        '410':
          description: Gone - model is no longer available (deprecated or removed)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimpleError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '500':
          description: Internal Server Error. Unexpected issue on server side.
          content:
            text/plain:
              schema:
                type: string
        '503':
          description: Service Temporarily Unavailable
          content:
            text/plain:
              schema:
                type: string
                example: Service Temporarily Unavailable
      security:
        - api_key: []
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import SambaNova from 'sambanova';

            const client = new SambaNova({
              apiKey: process.env['SAMBANOVA_API_KEY'], // This is the default and can be omitted
            });

            const completion = await client.chat.completions.create({
              messages: [{ content: 'create a poem using palindromes', role: 'user' }],
              model: 'gpt-oss-120b',
            });

            console.log(completion);
        - lang: Python
          source: |-
            import os
            from sambanova import SambaNova

            client = SambaNova(
                api_key=os.environ.get("SAMBANOVA_API_KEY"),  # This is the default and can be omitted
            )
            for completion in client.chat.completions.create(
                messages=[{
                    "content": "create a poem using palindromes",
                    "role": "user",
                }],
                model="gpt-oss-120b",
            ):
              print(completion)
components:
  schemas:
    ChatCompletionRequest:
      title: Chat Completion Request
      type: object
      description: chat completions request object
      additionalProperties: true
      properties:
        model:
          title: Model
          description: >-
            The model ID to use (e.g. gpt-oss-120b).  See available
            [models](https://docs.sambanova.ai/docs/en/models/sambacloud-models)
          anyOf:
            - type: string
            - enum:
                - Meta-Llama-3.3-70B-Instruct
                - Meta-Llama-3.2-1B-Instruct
                - Meta-Llama-3.2-3B-Instruct
                - Llama-3.2-11B-Vision-Instruct
                - Llama-3.2-90B-Vision-Instruct
                - Meta-Llama-3.1-8B-Instruct
                - Meta-Llama-3.1-70B-Instruct
                - Meta-Llama-3.1-405B-Instruct
                - Qwen2.5-Coder-32B-Instruct
                - Qwen2.5-72B-Instruct
                - QwQ-32B-Preview
                - Meta-Llama-Guard-3-8B
                - DeepSeek-R1
                - DeepSeek-R1-0528
                - DeepSeek-V3-0324
                - DeepSeek-V3.1
                - DeepSeek-V3.1-cb
                - DeepSeek-V3.1-Terminus
                - DeepSeek-V3.2
                - DeepSeek-R1-Distill-Llama-70B
                - Llama-4-Maverick-17B-128E-Instruct
                - Llama-4-Scout-17B-16E-Instruct
                - Qwen3-32B
                - Qwen3-235B
                - Llama-3.3-Swallow-70B-Instruct-v0.4
                - gpt-oss-120b
                - ALLaM-7B-Instruct-preview
                - MiniMax-M2.5
                - MiniMax-M2.7
                - gemma-3-12b-it
        messages:
          title: Messages
          type: array
          description: A list of messages comprising the conversation so far.
          items:
            anyOf:
              - $ref: '#/components/schemas/SystemMessage'
              - $ref: '#/components/schemas/UserMessage'
              - $ref: '#/components/schemas/AssistantMessage'
              - $ref: '#/components/schemas/ToolMessage'
          minItems: 1
          examples:
            - - role: user
                content: create a poem using palindromes
        max_tokens:
          title: Max Tokens
          type: integer
          description: >-
            The maximum number of tokens that can be generated in the chat
            completion.  The total length of input tokens and generated tokens
            is limited by  the model's context length.
          nullable: true
          example: 2048
        max_completion_tokens:
          title: Max Completion Tokens
          type: integer
          description: >-
            The maximum number of tokens that can be generated in the chat
            completion.  The total length of input tokens and generated tokens
            is limited by  the model's context length.
          nullable: true
          example: 2048
        temperature:
          title: Temperature
          type: number
          description: >-
            What sampling temperature to use, determines the degree of
            randomness in the response.  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.  Is recommended altering
            this, top_p or top_k but not more than one of these.
          minimum: 0
          maximum: 2
          default: 0.7
          nullable: true
          example: 0.7
        top_p:
          title: Top P
          type: number
          description: >-
            Cumulative probability for token choices. 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. Is recommended altering this, top_k or temperature but 
            not more than one of these.
          minimum: 0
          maximum: 1
          nullable: true
          example: 1
        top_k:
          title: Top K
          type: integer
          description: >-
            Amount limit of token choices. An alternative to sampling with
            temperature, the model considers the results of the first K tokens
            with higher probability.  So 10 means only the first 10 tokens with
            higher probability are considered. Is recommended altering this,
            top_p or temperature but not more than one of these.
          minimum: 1
          maximum: 100
          nullable: true
          example: 5
        presence_penalty:
          title: Presence Penalty
          type: number
          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. Not currently
            implemented; accepted for API compatibility
          maximum: 2
          minimum: -2
          default: 0
          nullable: true
        frequency_penalty:
          title: Frequency Penalty
          type: number
          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. Not currently
            implemented; accepted for API compatibility
          maximum: 2
          minimum: -2
          default: 0
        do_sample:
          title: do_sample
          type: boolean
          description: >-
            If true, sampling is enabled during output generation. If false,
            deterministic decoding is used.
          nullable: true
        stop:
          title: Stop
          description: >-
            Sequences where the API will stop generating tokens. The returned
            text will not contain the stop sequence.
          oneOf:
            - type: string
              example: |+

              nullable: true
            - type: array
              items:
                type: string
                example: '["\n"]'
          nullable: true
        stream:
          title: Stream
          type: boolean
          description: >-
            If set, partial message deltas will be sent. Tokens will be sent as
            data-only  [server-sent
            events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format)
            as they become available, with the stream terminated by a `data:
            [DONE]` message.
          default: false
          nullable: true
        stream_options:
          title: StreamOptions
          type: object
          description: >-
            Options for streaming response. Only set this when setting stream as
            true
          additionalProperties: true
          properties:
            include_usage:
              anyOf:
                - type: boolean
              title: Include Usage
              description: Whether to include the usage metrics in a final chunk or not
              nullable: true
          nullable: true
        response_format:
          title: Response Format
          description: >-
            An object specifying the format that the model must output.  
            Setting to `{ "type": "json_object"}` enables JSON mode,    which
            will check the message the model generates is valid JSON. 
            **Important:** when using JSON mode, you **must** also instruct the
            model to produce JSON yourself  via a system or user message.
            Setting to `{ "type": "json_schema", "json_schema":
            {<your_schema>}"}` enables JSON schema mode,    which will check the
            message the model generates is valid object of type <your_schema>. 
            Setting to `{ "type": "text"}` is equivalent to the default plain
            text generation
          oneOf:
            - $ref: '#/components/schemas/ResponseFormatJSONSchema'
            - $ref: '#/components/schemas/ResponseFormatJSONObject'
            - $ref: '#/components/schemas/ResponseFormatText'
          discriminator:
            propertyName: type
            mapping:
              json_schema:
                $ref: '#/components/schemas/ResponseFormatJSONSchema'
              json_object:
                $ref: '#/components/schemas/ResponseFormatJSONObject'
              text:
                $ref: '#/components/schemas/ResponseFormatText'
          nullable: true
        reasoning_effort:
          title: Reasoning Effort
          type: string
          description: >-
            Value specifying the amount of reasoning the model is allowed to do,
            increasing it will increase the number of output reasoning tokens
            generated by the model, but will improve quality of the responses.
            allowed values are 'low', 'medium', 'high'
          enum:
            - low
            - medium
            - high
          nullable: true
        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.
          anyOf:
            - enum:
                - none
                - auto
                - required
              type: string
            - $ref: '#/components/schemas/ToolChoiceObject'
          nullable: true
        parallel_tool_calls:
          title: Parallel Tool Calls
          type: boolean
          description: >-
            Whether to enable parallel function calling during tool use, This is
            not yet supported by our models.
          nullable: true
        tools:
          title: tools
          type: array
          description: >-
            A list of tools the model may call.  Use this to provide a list of
            functions the model may generate JSON inputs for.
          items:
            $ref: '#/components/schemas/Tool'
          maxItems: 128
          nullable: true
        chat_template_kwargs:
          title: Chat Template Kwargs
          type: object
          description: >-
            A dictionary of additional keyword arguments to pass into the chat
            template.  Use this to provide extra context or parameters that the
            model's chat template  can process. Keys must be strings; values may
            be any valid JSON type.
          properties:
            enable_thinking:
              $ref: '#/components/schemas/EnableThinking'
          additionalProperties: true
          nullable: true
          example:
            enable_thinking: true
        logprobs:
          title: Logprobs
          type: boolean
          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
          nullable: true
        top_logprobs:
          title: Top Logprobs
          type: integer
          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.
          maximum: 20
          minimum: 0
          nullable: true
        'n':
          title: 'N'
          type: integer
          description: >-
            How many completions to generate for each prompt.

            **Note:** Because this parameter generates many completions, it can
            quickly consume your token quota. Use carefully and ensure that you
            have reasonable settings for `max_tokens`.
          maximum: 8
          minimum: 1
          default: 1
          nullable: true
          example: 1
        logit_bias:
          title: Logit Bias
          type: object
          description: >-
            Modify the likelihood of specified tokens appearing in the
            generation. Accepts a JSON object that maps tokens (specified by
            their  token ID in the model 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.  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.
          nullable: true
        seed:
          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.
          nullable: true
          type: integer
      required:
        - model
        - messages
      examples:
        - messages:
            - role: user
              content: create a poem using palindromes
          model: gpt-oss-120b
        - messages:
            - role: system
              content: You are a helpful assistant developed by SambaNova systems
            - role: user
              content: create a poem using palindromes
          max_tokens: 2048
          model: gpt-oss-120b
          stream: false
          temperature: 0.7
          top_p: 1
    ChatCompletionResponse:
      title: Chat Completion Response
      type: object
      description: chat completion response returned by the model
      properties:
        choices:
          title: Choices
          type: array
          items:
            $ref: '#/components/schemas/ChatCompletionChoice'
          minItems: 1
        created:
          title: Created
          type: number
          description: >-
            The Unix timestamp (in seconds) of when the chat completion was
            created.
        id:
          title: Id
          type: string
          description: A unique identifier for the chat completion.
        model:
          title: Model
          description: The model used for the chat completion.
          type: string
        object:
          title: Object
          type: string
          description: The object type, always `chat.completion`.
          enum:
            - chat.completion
          const: chat.completion
        system_fingerprint:
          title: System fingerprint
          type: string
          description: Backend configuration that the model runs with.
        usage:
          $ref: '#/components/schemas/Usage'
      required:
        - choices
        - created
        - id
        - model
        - object
        - system_fingerprint
        - usage
      examples:
        - choices:
            - finish_reason: stop
              index: 0
              message:
                content: >-
                  In madam moon's silver glow,  Aha, a palindrome to know, 
                  Radar spins, a circular tale,  Level heads prevail, without
                  fail.  A man, a plan, a canal, Panama!  Able was I ere I saw
                  Elba,  A Santa at NASA, a curious sight,  Do geese see God, in
                  the pale moonlight?  Mr. Owl ate my metal worm,  Do nine men
                  interpret? Nine men, I nod,  Never odd or even, a palindrome's
                  might,  Madam, in Eden, I'm Adam.  Aibohphobia, a fear to
                  confess,  A palindrome's symmetry, I must address,  Refer, a
                  word that reads the same,  A palindrome's beauty, in its
                  circular game.  In the stillness of the night,  Ava, a
                  palindrome, shining bright,  Hannah, a name that reads the
                  same,  A palindrome's magic, in its circular flame.  Note:
                  Please keep in mind that creating a poem using palindromes can
                  be a challenging task,  and the resulting poem may not be as
                  cohesive or flowing as one that doesn't rely on palindromes. 
                  However, I hope you enjoy the attempt!
                role: assistant
          created: 1737583288.6076705
          id: 83a7809d-e18f-44f9-9ab7-2bc494c6c661
          model: gpt-oss-120b
          object: chat.completion
          system_fingerprint: fastcoe
          usage:
            acceptance_rate: 4.058139324188232
            completion_tokens: 350
            completion_tokens_after_first_per_sec: 248.09314856382406
            completion_tokens_after_first_per_sec_first_ten: 249.67922929952655
            completion_tokens_per_sec: 238.91966176995348
            end_time: 1737583289.7345645
            is_last_response: true
            prompt_tokens: 43
            start_time: 1737583288.264706
            time_to_first_token: 0.06312894821166992
            total_latency: 1.4649275719174653
            total_tokens: 393
            total_tokens_per_sec: 268.27264878740493
        - choices:
            - finish_reason: stop
              index: 0
              message:
                content: Hello! How can I assist you today?
                role: assistant
              logprobs:
                content:
                  - token: ' Hello'
                    logprob: -0.00012340000000000002
                    bytes:
                      - 32
                      - 72
                      - 101
                      - 108
                      - 108
                      - 111
                    top_logprobs:
                      - token: ' Hello'
                        logprob: -0.00012340000000000002
                        bytes:
                          - 32
                          - 72
                          - 101
                          - 108
                          - 108
                          - 111
                      - token: ' Hi'
                        logprob: -8.243
                        bytes:
                          - 32
                          - 72
                          - 105
                  - token: '!'
                    logprob: -0.0023456
                    bytes:
                      - 33
                    top_logprobs:
                      - token: '!'
                        logprob: -0.0023456
                        bytes:
                          - 33
                      - token: ','
                        logprob: -6.712
                        bytes:
                          - 44
          created: 1737583290.1234567
          id: 94b8910e-f29a-55a0-0bc8-3cd505d7d772
          model: gpt-oss-120b
          object: chat.completion
          system_fingerprint: fastcoe
          usage:
            acceptance_rate: 3.5
            completion_tokens: 9
            completion_tokens_after_first_per_sec: 245.3
            completion_tokens_per_sec: 230.1
            end_time: 1737583290.2345679
            is_last_response: true
            prompt_tokens: 15
            start_time: 1737583290.1234567
            time_to_first_token: 0.058
            total_latency: 0.111
            total_tokens: 24
            total_tokens_per_sec: 216.2
    ChatCompletionStreamResponse:
      title: Chat Completion Stream Response
      type: object
      description: streamed chunk of a chat completion response returned by the model
      additionalProperties: true
      properties:
        choices:
          title: Choices
          type: array
          description: A list of chat completion choices.
          items:
            $ref: '#/components/schemas/ChatCompletionChunkChoice'
          minItems: 0
          nullable: true
        created:
          title: Created
          type: number
          description: >-
            The Unix timestamp (in seconds) of when the chat completion was
            created.
        id:
          title: Id
          type: string
          description: A unique identifier for the chat completion.
        model:
          title: Model
          description: The model used for the chat completion.
          type: string
        object:
          title: Object
          type: string
          description: The object type, always `chat.completion.chunk`.
          enum:
            - chat.completion.chunk
          const: chat.completion.chunk
        system_fingerprint:
          title: System fingerprint
          type: string
          description: Backend configuration that the model runs with.
        usage:
          $ref: '#/components/schemas/Usage'
      required:
        - choices
        - created
        - id
        - model
        - object
        - system_fingerprint
      examples:
        - choices:
            - delta:
                role: assistant
                content: ''
              index: 0
              finish_reason: null
              logprobs: null
          created: 1737642515.6076705
          id: 15fcaba4-1c4a-48fc-bc6e-05b55ddfb30b
          model: gpt-oss-120b
          object: chat.completion.chunk
          system_fingerprint: fastcoe
        - choices:
            - delta:
                role: assistant
                content: in
              index: 0
              finish_reason: null
              logprobs: null
          created: 1737642515.6076705
          id: 15fcaba4-1c4a-48fc-bc6e-05b55ddfb30b
          model: gpt-oss-120b
          object: chat.completion.chunk
          system_fingerprint: fastcoe
        - choices:
            - delta:
                content: ''
              index: 0
              finish_reason: length
              logprobs: null
          created: 1737642515.6076705
          id: 15fcaba4-1c4a-48fc-bc6e-05b55ddfb30b
          model: gpt-oss-120b
          object: chat.completion.chunk
          system_fingerprint: fastcoe
        - choices: []
          created: 1737642515.6076705
          id: 15fcaba4-1c4a-48fc-bc6e-05b55ddfb30b
          model: gpt-oss-120b
          object: chat.completion.chunk
          system_fingerprint: fastcoe
          usage:
            acceptance_rate: 3
            completion_tokens: 100
            completion_tokens_after_first_per_sec: 262.2771255106759
            completion_tokens_after_first_per_sec_first_ten: 266.98193514986144
            completion_tokens_after_first_per_sec_graph: 266.98193514986144
            completion_tokens_per_sec: 217.87260449707574
            end_time: 1737642515.9077535
            is_last_response: true
            prompt_tokens: 43
            prompt_tokens_details:
              cached_tokens: 0
            start_time: 1737642515.4458635
            time_to_first_token: 0.0844266414642334
            total_latency: 0.4589838186899821
            total_tokens: 143
            total_tokens_per_sec: 311.55782443081836
        - choices:
            - delta:
                content: ' Hello'
              index: 0
              finish_reason: null
              logprobs:
                content:
                  - token: ' Hello'
                    logprob: -0.00012340000000000002
                    bytes:
                      - 32
                      - 72
                      - 101
                      - 108
                      - 108
                      - 111
                    top_logprobs:
                      - token: ' Hello'
                        logprob: -0.00012340000000000002
                        bytes:
                          - 32
                          - 72
                          - 101
                          - 108
                          - 108
                          - 111
                      - token: ' Hi'
                        logprob: -8.243
                        bytes:
                          - 32
                          - 72
                          - 105
          created: 1737642516.1076705
          id: 15fcaba4-1c4a-48fc-bc6e-05b55ddfb30c
          model: gpt-oss-120b
          object: chat.completion.chunk
          system_fingerprint: fastcoe
    GeneralError:
      title: GeneralError
      type: object
      description: other kind of errors
      properties:
        error:
          type: object
          properties:
            code:
              title: code
              type: string
              description: error code
              nullable: true
            message:
              title: message
              type: string
              description: error message
            param:
              title: param
              type: string
              description: error params
              nullable: true
            type:
              title: type
              type: string
              description: error type
            error_model_output:
              title: Error Model Output
              type: string
              description: >-
                Raw model output that could not be parsed. Present on
                `server_error` responses when the model produced output that
                failed internal parsing (e.g. a malformed tool call JSON).
              nullable: true
        request_id:
          title: request_id
          type: string
          description: unique request identifier for debugging
          nullable: true
      required:
        - error
    SimpleError:
      title: SimpleError
      type: object
      description: other kind of simple schema errors
      properties:
        error:
          title: error
          type: string
          description: error detail.
          nullable: true
      required:
        - error
    SystemMessage:
      title: System Message
      type: object
      additionalProperties: true
      properties:
        role:
          title: Role
          type: string
          description: The role of the messages author, in this case `system`.
          enum:
            - system
          const: system
        content:
          title: Content
          anyOf:
            - type: string
            - title: Text Content Part Array
              type: array
              items:
                $ref: '#/components/schemas/TextContent'
          description: The contents of the system message.
          nullable: true
      required:
        - role
        - content
    UserMessage:
      title: User Message
      type: object
      additionalProperties: true
      properties:
        role:
          title: Role
          type: string
          description: The role of the messages author, in this case `user`.
          enum:
            - user
          const: user
        content:
          title: Content
          description: The contents of the user message.
          anyOf:
            - type: string
            - title: Multicontent Part Array
              type: array
              items:
                anyOf:
                  - $ref: '#/components/schemas/TextContent'
                  - $ref: '#/components/schemas/ImageContent'
                  - $ref: '#/components/schemas/AudioContent'
                  - $ref: '#/components/schemas/VideoContent'
          nullable: true
      required:
        - role
        - content
    AssistantMessage:
      title: Assistant Message
      type: object
      additionalProperties: true
      properties:
        role:
          title: Role
          type: string
          description: The role of the messages author, in this case `assistant`.
          enum:
            - assistant
          const: assistant
        content:
          title: Content
          anyOf:
            - type: string
            - title: Text Content Part Array
              type: array
              items:
                $ref: '#/components/schemas/TextContent'
          description: The contents of the assistant message.
          nullable: true
        reasoning:
          title: Reasoning
          type: string
          description: Reasoning (returned by reasoning models like gpt oss)
          nullable: true
        channel:
          title: Channel
          type: string
          description: Channel (returned by reasoning models like gpt oss)
          nullable: true
        tool_calls:
          title: Tool Calls
          type: array
          items:
            $ref: '#/components/schemas/AssistantToolCall'
          description: The tool calls generated by the model.
          nullable: true
      required:
        - role
        - content
    ToolMessage:
      title: Tool Message
      type: object
      additionalProperties: true
      properties:
        role:
          title: Role
          type: string
          description: The role of the messages author, in this case `tool`.
          enum:
            - tool
          const: tool
        content:
          title: Content
          description: The contents of the tool message.
          anyOf:
            - type: string
            - title: Text Content Part Array
              type: array
              items:
                $ref: '#/components/schemas/TextContent'
      required:
        - content
        - role
    ResponseFormatJSONSchema:
      title: ResponseFormatJSONSchema
      type: object
      additionalProperties: true
      description: >-
        Specifies that the model should produce output conforming to a given
        JSON schema.
      properties:
        json_schema:
          $ref: '#/components/schemas/JSONSchema'
        type:
          const: json_schema
          enum:
            - json_schema
          title: Type
          type: string
      required:
        - json_schema
        - type
      example:
        type: json_schema
        json_schema:
          name: User
          description: JSON schema for a simple user object
          strict: false
          schema:
            type: object
            properties:
              id:
                type: string
                description: Unique identifier for the user
              name:
                type: string
                description: Full name of the user
            required:
              - id
              - name
    ResponseFormatJSONObject:
      title: ResponseFormatJSONObject
      type: object
      description: Specifies that the model should produce output as a raw JSON object.
      additionalProperties: true
      properties:
        type:
          const: json_object
          enum:
            - json_object
          title: Type
          type: string
      required:
        - type
      example:
        type: json_object
    ResponseFormatText:
      title: ResponseFormatText
      type: object
      description: >-
        Specifies that the model should produce output as plain text. This value
        is not supported yet in the chat compeltions api, if this behavior is
        desired do not set response format.
      additionalProperties: true
      properties:
        type:
          const: text
          enum:
            - text
          title: Type
          type: string
      required:
        - type
    ToolChoiceObject:
      title: ToolChoiceObject
      type: object
      additionalProperties: true
      properties:
        function:
          title: Function
          type: object
          description: >-
            Specifies a tool the model should use. Use it to force the model to
            call that specific tool.
          additionalProperties: true
          properties:
            name:
              title: Name
              type: string
              description: the name of the tool expected to be used by the model
          required:
            - name
        type:
          type: string
          description: The type of the tool. only `function` is supported.
          enum:
            - function
      required:
        - function
        - type
    Tool:
      title: Tool
      type: object
      additionalProperties: true
      properties:
        function:
          $ref: '#/components/schemas/FunctionObject'
        type:
          title: Type
          type: string
          description: The type of the tool. Currently, only `function` is supported.
      required:
        - type
        - function
    EnableThinking:
      title: Enable Thinking
      type: boolean
      description: >-
        Enables the model's internal reasoning or "thinking" mode,  if supported
        by the chat template (deepseek models).
      example: true
    ChatCompletionChoice:
      title: Chat Completion Choice
      type: object
      additionalProperties: true
      properties:
        message:
          $ref: '#/components/schemas/CompletionResponseMessage'
        finish_reason:
          title: Finish Reason
          type: string
          description: >-
            The reason the model stopped generating tokens.  Will be `stop` if
            the model hit a natural stop point or a provided stop sequence, 
            `length` if the maximum number of tokens specified in the request
            was reached,  `tool_calls` if the model called a tool.
          enum:
            - stop
            - length
            - tool_calls
        index:
          title: Index
          type: integer
          description: The index of the choice in the list of choices
        logprobs:
          title: Logprobs
          anyOf:
            - $ref: '#/components/schemas/LogProbs'
          description: >-
            Returns the log probability of each generated token, indicating the
            model's confidence.  Setting logprobs=true and top_logprobs (up to
            5) reveals the likelihood of chosen tokens
          nullable: true
      required:
        - finish_reason
        - index
        - message
    Usage:
      title: Usage
      type: object
      description: >-
        Usage metrics for the completion, embeddings,transcription or
        translation request
      additionalProperties: true
      properties:
        acceptance_rate:
          title: Acceptance Rate
          type: number
          description: acceptance rate
        completion_tokens:
          title: Completion Tokens
          type: integer
          description: number of tokens generated in completion
        completion_tokens_after_first_per_sec:
          title: Completion Tokens After First Per Sec
          type: number
          description: completion tokens per second after first token generation
        completion_tokens_after_first_per_sec_first_ten:
          title: Completion Tokens After First Per Sec First Ten
          type: number
          description: completion tokens per second after first token generation first ten
        completion_tokens_after_first_per_sec_graph:
          title: Completion Tokens After First Per Sec Graph
          type: number
          description: completion tokens per second after first token generation
        completion_tokens_per_sec:
          title: Completion Tokens Per Sec
          type: number
          description: completion tokens per second
        end_time:
          title: End Time
          type: number
          description: The Unix timestamp (in seconds) of when the generation finished.
        is_last_response:
          title: Is Last Response
          type: boolean
          description: >-
            whether or not is last response, always true for non streaming
            response
          const: true
        prompt_tokens_details:
          title: Prompt tokens details
          type: object
          description: Extra tokens details
          additionalProperties: true
          properties:
            cached_tokens:
              title: Cached tokens
              description: amount of cached tokens
              type: integer
        prompt_tokens:
          title: Prompt Tokens
          type: integer
          description: number of tokens used in the prompt sent
        start_time:
          title: Start Time
          type: number
          description: The Unix timestamp (in seconds) of when the generation started.
        time_to_first_token:
          title: Time To First Token
          type: number
          description: also TTF, time (in seconds) taken to generate the first token
        time_to_first_token_graph:
          title: Time To First Token Graph
          type: number
          description: >-
            Time (in seconds) to first token, adjusted for graph rendering. May
            differ slightly from time_to_first_token.
        stop_reason:
          title: Stop Reason
          type: string
          description: >-
            The reason generation stopped (e.g. "stop", "length"). Mirrors the
            choice-level finish_reason but reported at the usage level.
          nullable: true
        completion_tokens_details:
          title: Completion Tokens Details
          type: object
          description: Breakdown of completion token consumption.
          additionalProperties: true
          properties:
            reasoning_tokens:
              title: Reasoning Tokens
              type: integer
              description: >-
                Number of tokens consumed by the model's internal reasoning
                process. Only present on reasoning-capable models.
          nullable: true
        total_latency:
          title: Total Latency
          type: number
          description: total time (in seconds) taken to generate the full generation
        total_tokens:
          title: Total Tokens
          type: integer
          description: prompt tokens + completion tokens
        total_tokens_per_sec:
          title: Total Tokens Per Sec
          type: number
          description: tokens per second including prompt and completion
      nullable: true
      examples:
        - completion_tokens: 260
          completion_tokens_after_first_per_sec: 422.79282728043336
          completion_tokens_after_first_per_sec_first_ten: 423.6108998455803
          completion_tokens_after_first_per_sec_graph: 423.6108998455803
          completion_tokens_per_sec: 314.53312043711406
          completion_tokens_details:
            reasoning_tokens: 55
          end_time: 1776189309.02061
          is_last_response: true
          prompt_tokens: 90
          prompt_tokens_details:
            cached_tokens: 0
          start_time: 1776189308.193988
          stop_reason: stop
          time_to_first_token: 0.21402883529663086
          time_to_first_token_graph: 0.2102978229522705
          total_latency: 0.8266220092773438
          total_tokens: 350
          total_tokens_per_sec: 423.40996981919204
        - prompt_tokens: 43
          total_tokens: 393
    ChatCompletionChunkChoice:
      title: Chat Completion Chunk Choice
      type: object
      additionalProperties: true
      properties:
        delta:
          $ref: '#/components/schemas/CompletionResponseDelta'
        finish_reason:
          title: Finish Reason
          type: string
          description: >-
            The reason the model stopped generating tokens.  Will be `stop` if
            the model hit a natural stop point or a provided stop sequence, 
            `length` if the maximum number of tokens specified in the request
            was reached,  `tool_calls` if the model called a tool.
          enum:
            - stop
            - length
            - tool_calls
          nullable: true
        index:
          title: Index
          type: integer
          description: The index of the choice in the list of choices
        logprobs:
          title: Logprobs
          anyOf:
            - $ref: '#/components/schemas/LogProbs'
          description: >-
            Returns the log probability of each generated token, indicating the
            model's confidence.  Setting logprobs=true and top_logprobs (up to
            5) reveals the likelihood of chosen tokens
          nullable: true
      required:
        - index
        - delta
    TextContent:
      title: Text Content
      type: object
      additionalProperties: true
      properties:
        type:
          title: Type
          type: string
          description: type of content to send. in this case `text`.
          enum:
            - text
          const: text
        text:
          title: Text
          type: string
          description: string content of the message
      required:
        - type
        - text
    ImageContent:
      title: Image Content
      type: object
      additionalProperties: true
      properties:
        type:
          title: Type
          type: string
          description: type of content to send. in this case `image_url`.
          enum:
            - image_url
          const: image_url
        image_url:
          title: Image Url
          type: object
          properties:
            url:
              title: Url
              type: string
              description: >-
                Either a URL of the image or the base64 encoded image data. 
                currently only base64 encoded image supported
      required:
        - type
        - image_url
    AudioContent:
      title: Audio Content
      type: object
      additionalProperties: true
      properties:
        type:
          title: Type
          type: string
          description: type of content to send. in this case `audio_content`.
          enum:
            - audio_content
          const: audio_content
        audio_content:
          title: Audio Content
          type: object
          properties:
            content:
              title: Content
              type: string
              description: the base64 encoded audio data.
      required:
        - type
        - audio_content
    VideoContent:
      title: Video Content
      type: object
      additionalProperties: true
      properties:
        type:
          title: Type
          type: string
          description: type of content to send. in this case `video_url`.
          enum:
            - video_url
          const: video_url
        video_url:
          title: Video Url
          type: object
          properties:
            url:
              title: Url
              type: string
              description: Either a URL of the video or the base64 encoded video data.
      required:
        - type
        - video_url
    AssistantToolCall:
      title: AssistantToolCall
      type: object
      additionalProperties: true
      properties:
        function:
          $ref: '#/components/schemas/AssistantToolCallFunction'
        id:
          title: Id
          type: string
          description: ID of the tool call.
          nullable: true
        type:
          title: Type
          type: string
          description: type of the tool cal. only `function` is supported.
          enum:
            - function
          const: function
          nullable: true
        index:
          title: index
          description: index of tool call chunk only used when using streaming
          type: integer
          nullable: true
      required:
        - function
    JSONSchema:
      title: JSONSchema
      type: object
      additionalProperties: true
      description: >-
        A JSON Schema definition the model's structured output. Follows standard
        JSON Schema syntax.
      properties:
        description:
          type: string
          title: Description
          description: description the json schema
          nullable: true
        name:
          title: Name
          type: string
          description: name of the object schema
        schema:
          type: object
          title: Schema
          description: Actual json schema object
          nullable: true
        strict:
          type: boolean
          title: Strict
          description: whether or not to do an strict validation of the schema
          nullable: true
          default: false
      required:
        - name
    FunctionObject:
      title: Function Object
      additionalProperties: true
      type: object
      properties:
        name:
          title: Name
          type: string
          description: >-
            The name of the function to be called. Must be a-z, A-Z, 0-9, or
            contain underscores and dashes.
        description:
          title: Description
          type: string
          description: >-
            A description of what the function does, used by the model to choose
            when and how to call the function.
          nullable: true
        parameters:
          $ref: '#/components/schemas/FunctionParameters'
      required:
        - name
    CompletionResponseMessage:
      title: Completion Response Message
      type: object
      description: completion response message object
      additionalProperties: true
      properties:
        role:
          title: Role
          type: string
          description: The role of the messages author
          enum:
            - assistant
            - user
            - system
            - tool
        content:
          title: Content
          type: string
          description: The contents of the assistant message.
          nullable: true
        tool_calls:
          title: Tool Calls
          type: array
          items:
            $ref: '#/components/schemas/AssistantToolCall'
          description: The tool calls generated by the model.
          nullable: true
      required:
        - role
        - content
    LogProbs:
      title: Completion Log Probs
      type: object
      description: Completion Log Probs object
      additionalProperties: true
      properties:
        content:
          $ref: '#/components/schemas/LogProbsContent'
      required:
        - content
      examples:
        - content:
            - token: ' Hello'
              logprob: -0.00012340000000000002
              bytes:
                - 32
                - 72
                - 101
                - 108
                - 108
                - 111
              top_logprobs:
                - token: ' Hello'
                  logprob: -0.00012340000000000002
                  bytes:
                    - 32
                    - 72
                    - 101
                    - 108
                    - 108
                    - 111
                - token: ' Hi'
                  logprob: -8.243
                  bytes:
                    - 32
                    - 72
                    - 105
            - token: '!'
              logprob: -0.0023456
              bytes:
                - 33
              top_logprobs:
                - token: '!'
                  logprob: -0.0023456
                  bytes:
                    - 33
                - token: ','
                  logprob: -6.712
                  bytes:
                    - 44
    CompletionResponseDelta:
      title: Completion Response Delta
      type: object
      description: completion response delta chunk generated by streamed model responses.
      additionalProperties: true
      properties:
        role:
          title: Role
          type: string
          description: The role of the messages author
          enum:
            - assistant
            - user
            - system
            - tool
          nullable: true
        content:
          title: Content
          type: string
          description: The contents of the assistant message.
          nullable: true
        reasoning:
          title: Reasoning
          type: string
          description: Reasoning (returned by reasoning models like gpt oss)
          nullable: true
        channel:
          title: Channel
          type: string
          description: Channel (returned by reasoning models like gpt oss)
          nullable: true
        tool_calls:
          title: Tool Calls
          type: array
          items:
            $ref: '#/components/schemas/AssistantToolCall'
          description: The tool calls generated by the model.
          nullable: true
    AssistantToolCallFunction:
      title: AssistantToolCallFunction
      type: object
      description: The tool that the model called.
      additionalProperties: true
      properties:
        name:
          title: Name
          type: string
          description: The name of the function to call.
          nullable: true
        arguments:
          title: Arguments
          type: string
          description: >-
            The arguments to call the function with, as generated by the model
            in JSON format. Note that the model does not always generate valid
            JSON, and may hallucinate parameters not defined by your function
            schema. Validate the arguments in your code before calling your
            function.
          nullable: true
    FunctionParameters:
      title: Function Parameters
      type: object
      additionalProperties: true
      description: >-
        The parameters the functions accepts, described as a JSON Schema object.
        see the [JSON Schema
        reference](https://json-schema.org/understanding-json-schema/) for
        documentation about the format.  Omitting `parameters` defines a
        function with an empty parameter list.
    LogProbsContent:
      title: Log Probs Content
      additionalProperties: true
      properties:
        bytes:
          title: Bytes
          anyOf:
            - items:
                type: integer
              type: array
          nullable: true
        logprob:
          title: Logprob
          type: number
        token:
          title: Token
          type: string
        top_logprobs:
          $ref: '#/components/schemas/TopLogProbs'
      required:
        - token
        - logprob
        - top_logprobs
      examples:
        - token: ' Hello'
          logprob: -0.00012340000000000002
          bytes:
            - 32
            - 72
            - 101
            - 108
            - 108
            - 111
          top_logprobs:
            - token: ' Hello'
              logprob: -0.00012340000000000002
              bytes:
                - 32
                - 72
                - 101
                - 108
                - 108
                - 111
            - token: ' Hi'
              logprob: -8.243
              bytes:
                - 32
                - 72
                - 105
    TopLogProbs:
      title: TopLogProbs
      type: object
      additionalProperties: true
      properties:
        bytes:
          title: Bytes
          anyOf:
            - items:
                type: integer
              type: array
            - type: 'null'
        logprob:
          title: Logprob
          type: number
        token:
          title: Token
          type: string
      required:
        - token
        - logprob
      examples:
        - token: ' Hello'
          logprob: -0.00012340000000000002
          bytes:
            - 32
            - 72
            - 101
            - 108
            - 108
            - 111
        - token: ' Hi'
          logprob: -8.243
          bytes:
            - 32
            - 72
            - 105
  securitySchemes:
    api_key:
      type: http
      description: >-
        SambaNova API key, sent as a bearer token in the `Authorization` header
        (`Authorization: Bearer <key>`). Default authentication scheme used by
        the SambaNova SDK across every OpenAI compatible endpoint.
      scheme: bearer
      bearerFormat: apiKey

````