Fireworks AI Messages API

The Messages API from Fireworks AI — 1 operation(s) for messages.

Operations 1

POST /v1/messages Create a Message #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fireworks-ai-messages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fireworks-ai-messages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fireworks AI Anthropic Compatible anthropic-.openapi_other Messages API
  description: Anthropic-compatible Messages API endpoint for Fireworks AI inference
  version: 1.0.0
servers:
- url: https://api.fireworks.ai/inference
security:
- BearerAuth: []
tags:
- name: Messages
paths:
  /v1/messages:
    post:
      summary: Create a Message
      description: '**Anthropic-compatible endpoint.**


        Send a structured list of input messages with text and/or image content, and the model will generate the next message in the conversation.


        The Messages API can be used for either single queries or stateless multi-turn conversations.


        **Fireworks Quickstarts:**

        - [Serverless Quickstart](/getting-started/quickstart)

        - [Deployments Quickstart](/getting-started/ondemand-quickstart)'
      operationId: messages_post
      responses:
        '200':
          description: Message object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnthropicMessage'
        4XX:
          description: 'Error response.


            See the [errors documentation](/guides/inference-error-codes) for more details.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnthropicErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnthropicCreateMessageParams'
        required: true
      tags:
      - Messages
components:
  schemas:
    AnthropicResponseToolUseBlock:
      properties:
        id:
          pattern: ^[a-zA-Z0-9_-]+$
          title: Id
          type: string
        input:
          additionalProperties: true
          title: Input
          type: object
        name:
          minLength: 1
          title: Name
          type: string
        type:
          const: tool_use
          default: tool_use
          title: Type
          type: string
      required:
      - id
      - input
      - name
      - type
      title: ResponseToolUseBlock
      type: object
    AnthropicRawOutput:
      additionalProperties: false
      description: Fireworks extension that returns low-level details of what the model sees, including the formatted prompt and function calls.
      properties:
        prompt_fragments:
          description: Pieces of the prompt (like individual messages) before truncation and concatenation. Depending on prompt_truncate_len some of the messages might be dropped. Contains a mix of strings to be tokenized and individual tokens (if dictated by the conversation template)
          items:
            anyOf:
            - type: string
            - type: integer
          title: Prompt Fragments
          type: array
        prompt_token_ids:
          description: Fully processed prompt as seen by the model
          items:
            type: integer
          title: Prompt Token Ids
          type: array
        completion:
          description: Raw completion produced by the model before any tool calls are parsed
          title: Completion
          type: string
        completion_token_ids:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          default: null
          description: Token IDs for the raw completion
          title: Completion Token Ids
        images:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Images in the prompt
          title: Images
        grammar:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Grammar used for constrained decoding, can be either user provided (directly or JSON schema) or inferred by the chat template
          title: Grammar
      required:
      - prompt_fragments
      - prompt_token_ids
      - completion
      title: RawOutput
      type: object
    AnthropicCacheControlEphemeral:
      additionalProperties: false
      properties:
        ttl:
          description: 'The time-to-live for the cache control breakpoint.


            This may be one the following values:

            - `5m`: 5 minutes

            - `1h`: 1 hour


            Defaults to `5m`.'
          enum:
          - 5m
          - 1h
          title: Ttl
          type: string
          x-stainless-renameMap:
            ttl_5m: 5m
            ttl_1h: 1h
        type:
          const: ephemeral
          title: Type
          type: string
      required:
      - type
      title: CacheControlEphemeral
      type: object
      x-stainless-go-constant-constructor: true
    AnthropicRequestSearchResultLocationCitation:
      additionalProperties: false
      properties:
        cited_text:
          title: Cited Text
          type: string
        end_block_index:
          title: End Block Index
          type: integer
        search_result_index:
          minimum: 0
          title: Search Result Index
          type: integer
        source:
          title: Source
          type: string
        start_block_index:
          minimum: 0
          title: Start Block Index
          type: integer
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        type:
          const: search_result_location
          title: Type
          type: string
      required:
      - cited_text
      - end_block_index
      - search_result_index
      - source
      - start_block_index
      - title
      - type
      title: RequestSearchResultLocationCitation
      type: object
    AnthropicInputMessage:
      additionalProperties: false
      properties:
        content:
          anyOf:
          - type: string
            x-stainless-skip:
            - go
            - cli
          - items:
              $ref: '#/components/schemas/AnthropicInputContentBlock'
            type: array
            example:
            - type: text
              text: What is a quaternion?
          title: Content
        role:
          enum:
          - user
          - assistant
          title: Role
          type: string
      required:
      - content
      - role
      title: InputMessage
      type: object
      discriminator:
        propertyName: role
    AnthropicBase64ImageSource:
      additionalProperties: false
      properties:
        data:
          format: byte
          title: Data
          type: string
        media_type:
          enum:
          - image/jpeg
          - image/png
          - image/gif
          - image/webp
          title: Media Type
          type: string
        type:
          const: base64
          title: Type
          type: string
      required:
      - data
      - media_type
      - type
      title: Base64ImageSource
      type: object
    AnthropicThinkingConfigAdaptive:
      additionalProperties: false
      properties:
        type:
          const: adaptive
          title: Type
          type: string
      required:
      - type
      title: ThinkingConfigAdaptive
      type: object
      description: '**Not supported yet.**'
    AnthropicResponseRedactedThinkingBlock:
      properties:
        data:
          title: Data
          type: string
        type:
          const: redacted_thinking
          default: redacted_thinking
          title: Type
          type: string
      required:
      - data
      - type
      title: ResponseRedactedThinkingBlock
      type: object
    AnthropicThinkingConfigParam:
      description: 'Configuration for enabling the model''s extended thinking.


        When enabled, responses include `thinking` content blocks showing the model''s thinking process before the final answer. Requires a minimum budget of 1,024 tokens and counts towards your `max_tokens` limit.


        See [reasoning](/guides/reasoning) for details.


        **Note:** The `adaptive` thinking type is not supported yet.'
      discriminator:
        mapping:
          adaptive: '#/components/schemas/AnthropicThinkingConfigAdaptive'
          disabled: '#/components/schemas/AnthropicThinkingConfigDisabled'
          enabled: '#/components/schemas/AnthropicThinkingConfigEnabled'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/AnthropicThinkingConfigEnabled'
      - $ref: '#/components/schemas/AnthropicThinkingConfigDisabled'
      - $ref: '#/components/schemas/AnthropicThinkingConfigAdaptive'
      title: Thinking
    AnthropicURLImageSource:
      additionalProperties: false
      properties:
        type:
          const: url
          title: Type
          type: string
        url:
          title: Url
          type: string
      required:
      - type
      - url
      title: URLImageSource
      type: object
    AnthropicStopReason:
      enum:
      - end_turn
      - max_tokens
      - stop_sequence
      - tool_use
      - pause_turn
      - refusal
      type: string
    AnthropicResponseTextBlock:
      properties:
        citations:
          anyOf:
          - items:
              discriminator:
                mapping:
                  char_location: '#/components/schemas/AnthropicResponseCharLocationCitation'
                  content_block_location: '#/components/schemas/AnthropicResponseContentBlockLocationCitation'
                  page_location: '#/components/schemas/AnthropicResponsePageLocationCitation'
                  search_result_location: '#/components/schemas/AnthropicResponseSearchResultLocationCitation'
                  web_search_result_location: '#/components/schemas/AnthropicResponseWebSearchResultLocationCitation'
                propertyName: type
              oneOf:
              - $ref: '#/components/schemas/AnthropicResponseCharLocationCitation'
              - $ref: '#/components/schemas/AnthropicResponsePageLocationCitation'
              - $ref: '#/components/schemas/AnthropicResponseContentBlockLocationCitation'
              - $ref: '#/components/schemas/AnthropicResponseWebSearchResultLocationCitation'
              - $ref: '#/components/schemas/AnthropicResponseSearchResultLocationCitation'
            type: array
          - type: 'null'
          default: null
          description: 'Citations supporting the text block.


            The type of citation returned will depend on the type of document being cited. Citing a PDF results in `page_location`, plain text results in `char_location`, and content document results in `content_block_location`.'
          title: Citations
        text:
          maxLength: 5000000
          minLength: 0
          title: Text
          type: string
        type:
          const: text
          default: text
          title: Type
          type: string
      required:
      - citations
      - text
      - type
      title: ResponseTextBlock
      type: object
    AnthropicToolChoice:
      description: How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all.
      discriminator:
        mapping:
          any: '#/components/schemas/AnthropicToolChoiceAny'
          auto: '#/components/schemas/AnthropicToolChoiceAuto'
          none: '#/components/schemas/AnthropicToolChoiceNone'
          tool: '#/components/schemas/AnthropicToolChoiceTool'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/AnthropicToolChoiceAuto'
      - $ref: '#/components/schemas/AnthropicToolChoiceAny'
      - $ref: '#/components/schemas/AnthropicToolChoiceTool'
      - $ref: '#/components/schemas/AnthropicToolChoiceNone'
      title: Tool Choice
    AnthropicInvalidRequestError:
      properties:
        message:
          default: Invalid request
          title: Message
          type: string
        type:
          const: invalid_request_error
          default: invalid_request_error
          title: Type
          type: string
      required:
      - message
      - type
      title: InvalidRequestError
      type: object
    AnthropicToolChoiceNone:
      additionalProperties: false
      description: The model will not be allowed to use tools.
      properties:
        type:
          const: none
          title: Type
          type: string
      required:
      - type
      title: ToolChoiceNone
      type: object
      x-stainless-go-constant-constructor: true
    AnthropicMetadata:
      additionalProperties: false
      properties:
        user_id:
          anyOf:
          - maxLength: 256
            type: string
          - type: 'null'
          description: 'An external identifier for the user who is associated with the request.


            This should be a uuid, hash value, or other opaque identifier. This id may be used to help detect abuse. Do not include any identifying information such as name, email address, or phone number.'
          examples:
          - 13803d75-b4b5-4c3e-b2a2-6f21399b021b
          title: User Id
      title: Metadata
      type: object
    AnthropicAuthenticationError:
      properties:
        message:
          default: Authentication error
          title: Message
          type: string
        type:
          const: authentication_error
          default: authentication_error
          title: Type
          type: string
      required:
      - message
      - type
      title: AuthenticationError
      type: object
    AnthropicResponseContentBlockLocationCitation:
      properties:
        cited_text:
          title: Cited Text
          type: string
        document_index:
          minimum: 0
          title: Document Index
          type: integer
        document_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Document Title
        end_block_index:
          title: End Block Index
          type: integer
        file_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: File Id
        start_block_index:
          minimum: 0
          title: Start Block Index
          type: integer
        type:
          const: content_block_location
          default: content_block_location
          title: Type
          type: string
      required:
      - cited_text
      - document_index
      - document_title
      - end_block_index
      - file_id
      - start_block_index
      - type
      title: ResponseContentBlockLocationCitation
      type: object
    AnthropicRequestWebSearchResultLocationCitation:
      additionalProperties: false
      properties:
        cited_text:
          title: Cited Text
          type: string
        encrypted_index:
          title: Encrypted Index
          type: string
        title:
          anyOf:
          - maxLength: 512
            minLength: 1
            type: string
          - type: 'null'
          title: Title
        type:
          const: web_search_result_location
          title: Type
          type: string
        url:
          maxLength: 2048
          minLength: 1
          title: Url
          type: string
      required:
      - cited_text
      - encrypted_index
      - title
      - type
      - url
      title: RequestWebSearchResultLocationCitation
      type: object
    AnthropicErrorResponse:
      properties:
        error:
          discriminator:
            mapping:
              api_error: '#/components/schemas/AnthropicAPIError'
              authentication_error: '#/components/schemas/AnthropicAuthenticationError'
              billing_error: '#/components/schemas/AnthropicBillingError'
              invalid_request_error: '#/components/schemas/AnthropicInvalidRequestError'
              not_found_error: '#/components/schemas/AnthropicNotFoundError'
              overloaded_error: '#/components/schemas/AnthropicOverloadedError'
              permission_error: '#/components/schemas/AnthropicPermissionError'
              rate_limit_error: '#/components/schemas/AnthropicRateLimitError'
              timeout_error: '#/components/schemas/AnthropicGatewayTimeoutError'
            propertyName: type
          oneOf:
          - $ref: '#/components/schemas/AnthropicInvalidRequestError'
          - $ref: '#/components/schemas/AnthropicAuthenticationError'
          - $ref: '#/components/schemas/AnthropicBillingError'
          - $ref: '#/components/schemas/AnthropicPermissionError'
          - $ref: '#/components/schemas/AnthropicNotFoundError'
          - $ref: '#/components/schemas/AnthropicRateLimitError'
          - $ref: '#/components/schemas/AnthropicGatewayTimeoutError'
          - $ref: '#/components/schemas/AnthropicAPIError'
          - $ref: '#/components/schemas/AnthropicOverloadedError'
          title: Error
        request_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Request Id
        type:
          const: error
          default: error
          title: Type
          type: string
      required:
      - error
      - request_id
      - type
      title: ErrorResponse
      type: object
    AnthropicPlainTextSource:
      additionalProperties: false
      properties:
        data:
          title: Data
          type: string
        media_type:
          const: text/plain
          title: Media Type
          type: string
        type:
          const: text
          title: Type
          type: string
      required:
      - data
      - media_type
      - type
      title: PlainTextSource
      type: object
    AnthropicContentBlock:
      discriminator:
        mapping:
          redacted_thinking: '#/components/schemas/AnthropicResponseRedactedThinkingBlock'
          text: '#/components/schemas/AnthropicResponseTextBlock'
          thinking: '#/components/schemas/AnthropicResponseThinkingBlock'
          tool_use: '#/components/schemas/AnthropicResponseToolUseBlock'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/AnthropicResponseTextBlock'
      - $ref: '#/components/schemas/AnthropicResponseThinkingBlock'
      - $ref: '#/components/schemas/AnthropicResponseRedactedThinkingBlock'
      - $ref: '#/components/schemas/AnthropicResponseToolUseBlock'
    AnthropicCreateMessageParams:
      additionalProperties: false
      example:
        max_tokens: 1024
        messages:
        - content: Hello, world
          role: user
        model: claude-opus-4-6
      properties:
        model:
          $ref: '#/components/schemas/AnthropicModel'
        messages:
          description: "Input messages.\n\nModels are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n  {\"role\": \"user\", \"content\": \"Hello there.\"},\n  {\"role\": \"assistant\", \"content\": \"Hi, I'm here to help. How can I help you?\"},\n  {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from the model:\n\n```json\n[\n  {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n  {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello\"}]}\n```\n\nSee [input examples](https://docs.claude.com/en/api/messages-examples).\n\nNote that if you want to include a [system prompt](/guides/querying-text-models), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request."
          items:
            $ref: '#/components/schemas/AnthropicInputMessage'
          title: Messages
          type: array
        max_tokens:
          description: 'The maximum number of tokens to generate before stopping.


            Note that models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.


            Different models have different maximum values for this parameter.  See [models](https://app.fireworks.ai/models) for details.'
          examples:
          - 1024
          minimum: 1
          title: Max Tokens
          type: integer
        metadata:
          $ref: '#/components/schemas/AnthropicMetadata'
          description: An object describing metadata about the request.
        output_config:
          $ref: '#/components/schemas/AnthropicOutputConfig'
          description: Configuration options for the model's output, such as the output format.
        stop_sequences:
          description: 'Custom text sequences that will cause the model to stop generating.


            Models will normally stop when they have naturally completed their turn, which will result in a response `stop_reason` of `"end_turn"`.


            If you want the model to stop generating when it encounters custom strings of text, you can use the `stop_sequences` parameter. If the model encounters one of the custom sequences, the response `stop_reason` value will be `"stop_sequence"` and the response `stop_sequence` value will contain the matched stop sequence.'
          items:
            type: string
          title: Stop Sequences
          type: array
        stream:
          description: 'Whether to incrementally stream the response using server-sent events.


            See [streaming](/guides/querying-text-models) for details.'
          title: Stream
          type: boolean
        system:
          anyOf:
          - type: string
            x-stainless-skip:
            - go
            - cli
          - items:
              $ref: '#/components/schemas/AnthropicRequestTextBlock'
            type: array
          description: 'System prompt.


            A system prompt is a way of providing context and instructions to the model, such as specifying a particular goal or role. See the [guide to system prompts](/guides/querying-text-models).'
          examples:
          - - text: Today's date is 2024-06-01.
              type: text
          - Today's date is 2023-01-01.
          title: System
        temperature:
          description: 'Amount of randomness injected into the response.


            Defaults to `1.0`. Ranges from `0.0` to `1.0`. Use `temperature` closer to `0.0` for analytical / multiple choice, and closer to `1.0` for creative and generative tasks.


            Note that even with `temperature` of `0.0`, the results will not be fully deterministic.'
          examples:
          - 1
          maximum: 1
          minimum: 0
          title: Temperature
          type: number
        thinking:
          $ref: '#/components/schemas/AnthropicThinkingConfigParam'
        tool_choice:
          $ref: '#/components/schemas/AnthropicToolChoice'
        tools:
          description: "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n  {\n    \"name\": \"get_stock_price\",\n    \"description\": \"Get the current stock price for a given ticker symbol.\",\n    \"input_schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"ticker\": {\n          \"type\": \"string\",\n          \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n        }\n      },\n      \"required\": [\"ticker\"]\n    }\n  }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n  {\n    \"type\": \"tool_use\",\n    \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n    \"name\": \"get_stock_price\",\n    \"input\": { \"ticker\": \"^GSPC\" }\n  }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n  {\n    \"type\": \"tool_result\",\n    \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n    \"content\": \"259.75 USD\"\n  }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee the [guide](/guides/function-calling) for more details."
          examples:
          - description: Get the current weather in a given location
            input_schema:
              properties:
                location:
                  description: The city and state, e.g. San Francisco, CA
                  type: string
                unit:
                  description: Unit for the output - one of (celsius, fahrenheit)
                  type: string
              required:
              - location
              type: object
            name: get_weather
          items:
            oneOf:
            - $ref: '#/components/schemas/AnthropicTool'
          title: Tools
          type: array
        top_k:
          description: 'Only sample from the top K options for each subsequent token.


            Used to remove "long tail" low probability responses. [Learn more technical details here](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277).


            Recommended for advanced use cases only. You usually only need to use `temperature`.'
          examples:
          - 5
          minimum: 0
          title: Top K
          type: integer
        top_p:
          description: 'Use nucleus sampling.


            In nucleus sampling, we compute the cumulative distribution over all the options for each subsequent token in decreasing probability order and cut it off once it reaches a particular probability specified by `top_p`. You should either alter `temperature` or `top_p`, but not both.


            Recommended for advanced use cases only. You usually only need to use `temperature`.'
          examples:
          - 0.7
          maximum: 1
          minimum: 0
          title: Top P
          type: number
        raw_output:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Raw Output
          description: Return raw output from the model.
          default: false
      required:
      - model
      - messages
      title: CreateMessageParams
      type: object
    AnthropicRateLimitError:
      properties:
        message:
          default: Rate limited
          title: Message
          type: string
        type:
          const: rate_limit_error
          default: rate_limit_error
          title: Type
          type: string
      required:
      - message
      - type
      title: RateLimitError
      type: object
    AnthropicToolChoiceAny:
      additionalProperties: false
      description: The model will use any available tools.
      properties:
        disable_parallel_tool_use:
          description: 'Whether to disable parallel tool use.


            Defaults to `false`. If set to `true`, the model will output exactly one tool use.'
          title: Disable Parallel Tool Use
          type: boolean
        type:
          const: any
          title: Type
          type: string
      required:
      - type
      title: ToolChoiceAny
      type: object
    AnthropicRequestImageBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
          - discriminator:
              mapping:
                ephemeral: '#/components/schemas/AnthropicCacheControlEphemeral'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/AnthropicCacheControlEphemeral'
          - type: 'null'
          description: Create a cache control breakpoint at this content block.
          title: Cache Control
        source:
          discriminator:
            mapping:
              base64: '#/components/schemas/AnthropicBase64ImageSource'
              url: '#/components/schemas/AnthropicURLImageSource'
            propertyName: type
          oneOf:
          - $ref: '#/components/schemas/AnthropicBase64ImageSource'
          - $ref: '#/components/schemas/AnthropicURLImageSource'
          title: Source
        type:
          const: image
          title: Type
          type: string
      required:
      - source
      - type
      title: RequestImageBlock
      type: object
    AnthropicAPIError:
      properties:
        message:
          default: Internal server error
          title: Message
          type: string
        type:
          const: api_error
          default: api_error
          title: Type
          type: string
      required:
      - message
      - type
      title: APIError
      type: object
    AnthropicURLPDFSource:
      additionalProperties: false
      properties:
        type:
          const: url
          title: Type
          type: string
        url:
          title: Url
          type: string
      required:
      - type
      - url
      title: URLPDFSource
      type: object
    AnthropicOutputConfig:
      additionalProperties: false
      properties:
        effort:
          anyOf:
          - $ref: '#/components/schemas/AnthropicEffortLevel'
          - type: 'null'
          description: 'How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer.


            Valid values are `low`, `medium`, `high`, or `max`.


            **Fireworks behavior:** The `effort` level is converted to Fireworks [`reasoning_effort`](/api-reference/post-chatcompletions). Values `low`, `medium`, and `high` map directly. `max` is mapped to `high` since Fireworks does not have a `max` effort level.'
        format:
          anyOf:
          - $ref: '#/components/schemas/AnthropicJsonOutputFormat'
          - type: 'null'
          description: A schema to specify the model's output format in responses. See [structured outputs](/structured-responses/structured-output-grammar-based)
      title: OutputConfig
      type: object
    AnthropicRequestPageLocationCitation:
      additionalProperties: false
      properties:
        cited_text:
          title: Cited Text
          type: string
        document_index:
          minimum: 0
          title: Document Index
          type: integer
        document_title:
          anyOf:
          - maxLength: 255
            minLength: 1
            type: string
          - type: 'null'
          title: Document Title
        end_page_number:
          title: End Page Number
          type: integer
        start_page_number:
          minimum: 1
          title: Start Page Number
          type: integer
        type:
          const: page_location
          title: Type
          type: string
      required:
      - cited_text
      - document_index
      - document_title
      - end_page_number
      - start_page_number
      - type
      title: RequestPageLocationCitation
      type: object
    AnthropicR

# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fireworks-ai/refs/heads/main/openapi/fireworks-ai-messages-api-openapi.yml