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

# GPU VRAM Calculator

> Estimate the GPU VRAM needed to run or train a transformer / large language model. Enter parameter count, precision (fp16, int8, int4…), context length and batch size to break down weights, KV cache, activations, gradients and optimizer state, and check which GPUs it fits on.

[Try GPU VRAM Calculator in your browser →](https://iotools.cloud/tool/gpu-vram-calculator/)



## OpenAPI

````yaml https://api.iotools.cloud/v1/openapi post /v1/tool/gpu-vram-calculator
openapi: 3.1.0
info:
  title: iotools.cloud API
  version: 1.0.0
  description: >-
    Run any iotools.cloud tool over HTTP.


    Authenticate with `Authorization: Bearer iot_live_…`.


    **Only `POST /v1/tool/{slug}` costs credits.** Every GET here — the catalog,
    a tool's schema, your balance — is free. A tool call is charged its own
    weight or your plan's per-call minimum, whichever is larger;
    `x-iotools-credit-cost` on each operation is quoted at the free-tier
    minimum, and `GET /v1/tools/list` returns the exact figure for your key.
    `GET /v1/me/credits` reports what you have left, and `GET /v1/me/usage`
    reports what it went on.


    Failures are RFC 9457 problem documents — branch on `code`.
servers:
  - url: https://api.iotools.cloud
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Catalog
    description: Find a tool and read its contract. Free.
  - name: Converters
    description: >-
      Convert between formats, encodings, and units — Base64, CSV and JSON,
      timestamps, and more. Fast, free, and processed right in your browser.
  - name: Formatters
    description: >-
      Format, beautify, minify, and validate code and data — JSON, HTML, CSS,
      SQL, and regex. Clean up messy input in one click, with nothing to upload.
  - name: Generators
    description: >-
      Generate exactly what you need and on demand — passwords, UUIDs, QR codes,
      hashes, random numbers, and more. Secure, instant, and free.
  - name: Calculators
    description: >-
      Crunch the numbers fast — from everyday math to specialized conversions
      and unit work. Free online calculators that run entirely in your browser.
  - name: Editors
    description: >-
      Edit and transform text, code, and images with quick, focused editors that
      run entirely in your browser — nothing to install, and no sign-up needed.
  - name: Utilities
    description: >-
      Everyday developer and web utilities — DNS and IP lookups, redirect and
      certificate checkers, and other quick diagnostics. Free and
      privacy-friendly.
  - name: Account
    description: Your key's allowance, limits and usage history.
paths:
  /v1/tool/gpu-vram-calculator:
    post:
      tags:
        - Calculators
      summary: GPU VRAM Calculator
      description: >-
        Estimate the GPU VRAM needed to run or train a transformer / large
        language model. Enter parameter count, precision (fp16, int8, int4…),
        context length and batch size to break down weights, KV cache,
        activations, gradients and optimizer state, and check which GPUs it fits
        on.


        [Try GPU VRAM Calculator in your browser
        →](https://iotools.cloud/tool/gpu-vram-calculator/)
      operationId: run_gpu_vram_calculator
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                modelPreset:
                  enum:
                    - custom
                    - gpt2-124m
                    - llama-3-2-1b
                    - llama-3-2-3b
                    - mistral-7b
                    - llama-3-8b
                    - llama-2-13b
                    - mixtral-8x7b
                    - llama-3-70b
                    - llama-3-1-405b
                  description: Model Preset
                params:
                  type: number
                  description: Parameters (B)
                  minimum: 0.001
                  maximum: 2000
                hiddenDim:
                  type: number
                  description: Hidden Dim
                  minimum: 64
                  maximum: 65536
                layers:
                  type: number
                  description: Layers
                  minimum: 1
                  maximum: 256
                mode:
                  enum:
                    - inference
                    - training
                  description: Workload
                precision:
                  enum:
                    - fp32
                    - fp16
                    - int8
                    - int4
                  description: Precision
                batchSize:
                  type: number
                  description: Batch Size
                  minimum: 1
                  maximum: 4096
                seqLen:
                  type: number
                  description: Sequence Length
                  minimum: 1
                  maximum: 1048576
                optimizer:
                  enum:
                    - adam
                    - sgd-momentum
                    - sgd
                  description: Optimizer
                mixedPrecision:
                  type: boolean
                  description: Mixed precision (fp32 master weights + grads)
                gradCheckpoint:
                  type: boolean
                  description: Gradient checkpointing (recompute activations)
              required: []
            examples:
              mistral_7b_fp16_inference_4k_context:
                summary: Mistral 7B, fp16 inference, 4K context
                value:
                  modelPreset: mistral-7b
                  mode: inference
                  precision: fp16
                  batchSize: '1'
                  seqLen: '4096'
              70b_model_int4_quantized_inference_4k_context:
                summary: 70B model, int4 quantized inference, 4K context
                value:
                  modelPreset: custom
                  params: '70'
                  hiddenDim: '8192'
                  layers: '80'
                  mode: inference
                  precision: int4
                  batchSize: '1'
                  seqLen: '4096'
              7b_model_mixed_precision_adam_training_2k_context:
                summary: 7B model, mixed-precision Adam training, 2K context
                value:
                  modelPreset: custom
                  params: '7'
                  hiddenDim: '4096'
                  layers: '32'
                  mode: training
                  precision: fp16
                  batchSize: '1'
                  seqLen: '2048'
                  optimizer: adam
                  mixedPrecision: 'true'
                  gradCheckpoint: ''
      responses:
        '200':
          description: Tool output
          content:
            application/json:
              examples:
                mistral_7b_fp16_inference_4k_context:
                  summary: Mistral 7B, fp16 inference, 4K context
                  value:
                    tool: gpu-vram-calculator
                    tool_version: 1.0.1
                    outputs:
                      breakdown:
                        - component: Model weights
                          memory: 13.49 GB
                          share: 78.4%
                        - component: KV cache
                          memory: 2.00 GB
                          share: 11.6%
                        - component: Activations
                          memory: 0.16 GB
                          share: 0.9%
                        - component: Framework overhead
                          memory: 1.56 GB
                          share: 9.1%
                        - component: Total VRAM
                          memory: 17.21 GB
                          share: 100%
                      gpuFit:
                        - gpu: RTX 4060 Ti 16GB
                          vram: 16 GB
                          fit: Over (108%)
                          gpus-needed: 2 GPUs
                        - gpu: RTX 4090 24GB
                          vram: 24 GB
                          fit: Fits (72%)
                          gpus-needed: 1 GPU
                        - gpu: RTX 5090 32GB
                          vram: 32 GB
                          fit: Fits (54%)
                          gpus-needed: 1 GPU
                        - gpu: A100 40GB
                          vram: 40 GB
                          fit: Fits (43%)
                          gpus-needed: 1 GPU
                        - gpu: A100 / H100 80GB
                          vram: 80 GB
                          fit: Fits (22%)
                          gpus-needed: 1 GPU
                        - gpu: H200 141GB
                          vram: 141 GB
                          fit: Fits (12%)
                          gpus-needed: 1 GPU
                    credits_used: 3
                    credits_remaining: null
                70b_model_int4_quantized_inference_4k_context:
                  summary: 70B model, int4 quantized inference, 4K context
                  value:
                    tool: gpu-vram-calculator
                    tool_version: 1.0.1
                    outputs:
                      breakdown:
                        - component: Model weights
                          memory: 32.60 GB
                          share: 69.4%
                        - component: KV cache
                          memory: 10.00 GB
                          share: 21.3%
                        - component: Activations
                          memory: 0.08 GB
                          share: 0.2%
                        - component: Framework overhead
                          memory: 4.27 GB
                          share: 9.1%
                        - component: Total VRAM
                          memory: 46.94 GB
                          share: 100%
                      gpuFit:
                        - gpu: RTX 4060 Ti 16GB
                          vram: 16 GB
                          fit: Over (293%)
                          gpus-needed: 3 GPUs
                        - gpu: RTX 4090 24GB
                          vram: 24 GB
                          fit: Over (196%)
                          gpus-needed: 2 GPUs
                        - gpu: RTX 5090 32GB
                          vram: 32 GB
                          fit: Over (147%)
                          gpus-needed: 2 GPUs
                        - gpu: A100 40GB
                          vram: 40 GB
                          fit: Over (117%)
                          gpus-needed: 2 GPUs
                        - gpu: A100 / H100 80GB
                          vram: 80 GB
                          fit: Fits (59%)
                          gpus-needed: 1 GPU
                        - gpu: H200 141GB
                          vram: 141 GB
                          fit: Fits (33%)
                          gpus-needed: 1 GPU
                    credits_used: 3
                    credits_remaining: null
                7b_model_mixed_precision_adam_training_2k_context:
                  summary: 7B model, mixed-precision Adam training, 2K context
                  value:
                    tool: gpu-vram-calculator
                    tool_version: 1.0.1
                    outputs:
                      breakdown:
                        - component: Model weights
                          memory: 13.04 GB
                          share: 10.6%
                        - component: Gradients
                          memory: 13.04 GB
                          share: 10.6%
                        - component: Optimizer state (Adam / AdamW)
                          memory: 52.15 GB
                          share: 42.2%
                        - component: fp32 master weights
                          memory: 26.08 GB
                          share: 21.1%
                        - component: Activations
                          memory: 8.00 GB
                          share: 6.5%
                        - component: Framework overhead
                          memory: 11.23 GB
                          share: 9.1%
                        - component: Total VRAM
                          memory: 123.54 GB
                          share: 100%
                      gpuFit:
                        - gpu: RTX 4060 Ti 16GB
                          vram: 16 GB
                          fit: Over (772%)
                          gpus-needed: 8 GPUs
                        - gpu: RTX 4090 24GB
                          vram: 24 GB
                          fit: Over (515%)
                          gpus-needed: 6 GPUs
                        - gpu: RTX 5090 32GB
                          vram: 32 GB
                          fit: Over (386%)
                          gpus-needed: 4 GPUs
                        - gpu: A100 40GB
                          vram: 40 GB
                          fit: Over (309%)
                          gpus-needed: 4 GPUs
                        - gpu: A100 / H100 80GB
                          vram: 80 GB
                          fit: Over (154%)
                          gpus-needed: 2 GPUs
                        - gpu: H200 141GB
                          vram: 141 GB
                          fit: Tight (88%)
                          gpus-needed: 1 GPU
                    credits_used: 3
                    credits_remaining: null
              schema:
                type: object
                required:
                  - tool
                  - tool_version
                  - outputs
                  - credits_used
                  - credits_remaining
                properties:
                  outputs:
                    type: object
                    properties:
                      breakdown:
                        type: array
                        description: Memory Breakdown
                        items:
                          type: object
                          properties:
                            component:
                              type: string
                              description: Component
                            memory:
                              type: string
                              description: Memory
                            share:
                              type: string
                              description: Share
                        x-iotools-columns:
                          - component
                          - memory
                          - share
                      gpuFit:
                        type: array
                        description: GPU Fit Check
                        items:
                          type: object
                          properties:
                            gpu:
                              type: string
                              description: GPU
                            vram:
                              type: string
                              description: VRAM
                            fit:
                              type: string
                              description: Fit
                            gpus-needed:
                              type: string
                              description: GPUs Needed
                        x-iotools-columns:
                          - gpu
                          - vram
                          - fit
                          - gpus-needed
                  tool:
                    type: string
                    description: The tool's slug, echoing the {slug} in the request path.
                  tool_version:
                    type: string
                    description: Output-contract version for this tool.
                  credits_used:
                    type: integer
                    description: >-
                      Credits this call consumed, after any settlement refund. 0
                      when metering is disabled.
                  credits_remaining:
                    type:
                      - integer
                      - 'null'
                    description: >-
                      Credits left in the current monthly allowance, or null
                      when metering is disabled.
                  request_id:
                    type: string
                    description: Correlation id, also sent as x-request-id.
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/InsufficientCredits'
        '403':
          $ref: '#/components/responses/ToolNotAllowed'
        '404':
          $ref: '#/components/responses/ToolNotFound'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/ToolFailed'
        '503':
          $ref: '#/components/responses/ToolDisabled'
      security:
        - bearerAuth: []
components:
  responses:
    ValidationError:
      description: Invalid request.
      content:
        application/problem+json:
          schema:
            type: object
            description: >-
              RFC 9457 problem document, served as application/problem+json.
              Branch on `code`; `title` is human prose and may be reworded
              without notice. Some failures add extension members — `fields` on
              validation errors, `retry_after` on 429s,
              `credits_used`/`credits_remaining` on billing-adjacent failures —
              documented on the responses that carry them.
            required:
              - type
              - title
              - status
              - code
            properties:
              type:
                type: string
                format: uri
                description: Stable documentation URI for this failure.
                examples:
                  - https://iotools.cloud/docs/errors/validation_error
              title:
                type: string
                description: Short human-readable summary of the failure.
                examples:
                  - Invalid request
              status:
                type: integer
                description: HTTP status code, matching the response's own status.
              code:
                type: string
                description: >-
                  Stable machine-readable error code — branch on this, not
                  `title`.
                enum:
                  - validation_error
              detail:
                type: string
                description: Human explanation of this occurrence.
              request_id:
                type: string
                description: Correlation id, also sent as x-request-id.
              fields:
                type:
                  - object
                  - string
                additionalProperties:
                  type: string
                description: >-
                  What failed: a map of field name → message. Absent when the
                  body itself is malformed; a single string when the failure
                  isn't tied to one field.
          example:
            type: https://iotools.cloud/docs/errors/validation_error
            title: Invalid request
            status: 400
            code: validation_error
            detail: One or more inputs are invalid — see `fields`.
            request_id: e4042b29-8f1e-4c7a-9b52-6f0d1a3c7e11
            fields:
              inputString: Required
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/problem+json:
          schema:
            type: object
            description: >-
              RFC 9457 problem document, served as application/problem+json.
              Branch on `code`; `title` is human prose and may be reworded
              without notice. Some failures add extension members — `fields` on
              validation errors, `retry_after` on 429s,
              `credits_used`/`credits_remaining` on billing-adjacent failures —
              documented on the responses that carry them.
            required:
              - type
              - title
              - status
              - code
            properties:
              type:
                type: string
                format: uri
                description: Stable documentation URI for this failure.
                examples:
                  - https://iotools.cloud/docs/errors/invalid_api_key
              title:
                type: string
                description: Short human-readable summary of the failure.
                examples:
                  - Invalid API key
              status:
                type: integer
                description: HTTP status code, matching the response's own status.
              code:
                type: string
                description: >-
                  Stable machine-readable error code — branch on this, not
                  `title`.
                enum:
                  - invalid_api_key
              detail:
                type: string
                description: Human explanation of this occurrence.
              request_id:
                type: string
                description: Correlation id, also sent as x-request-id.
          example:
            type: https://iotools.cloud/docs/errors/invalid_api_key
            title: Invalid API key
            status: 401
            code: invalid_api_key
            detail: 'Provide ''Authorization: Bearer <key>''.'
            request_id: e4042b29-8f1e-4c7a-9b52-6f0d1a3c7e11
    InsufficientCredits:
      description: Monthly credit allowance exhausted.
      content:
        application/problem+json:
          schema:
            type: object
            description: >-
              RFC 9457 problem document, served as application/problem+json.
              Branch on `code`; `title` is human prose and may be reworded
              without notice. Some failures add extension members — `fields` on
              validation errors, `retry_after` on 429s,
              `credits_used`/`credits_remaining` on billing-adjacent failures —
              documented on the responses that carry them.
            required:
              - type
              - title
              - status
              - code
            properties:
              type:
                type: string
                format: uri
                description: Stable documentation URI for this failure.
                examples:
                  - https://iotools.cloud/docs/errors/insufficient_credits
              title:
                type: string
                description: Short human-readable summary of the failure.
                examples:
                  - Insufficient credits
              status:
                type: integer
                description: HTTP status code, matching the response's own status.
              code:
                type: string
                description: >-
                  Stable machine-readable error code — branch on this, not
                  `title`.
                enum:
                  - insufficient_credits
              detail:
                type: string
                description: Human explanation of this occurrence.
              request_id:
                type: string
                description: Correlation id, also sent as x-request-id.
              credits_used:
                type: integer
                description: Always 0 — a refused call charges nothing.
              credits_remaining:
                type: integer
                description: Credits left in the allowance — fewer than this call costs.
          example:
            type: https://iotools.cloud/docs/errors/insufficient_credits
            title: Insufficient credits
            status: 402
            code: insufficient_credits
            detail: This call costs 1 credit and 0 remain in this month's allowance.
            request_id: e4042b29-8f1e-4c7a-9b52-6f0d1a3c7e11
            credits_used: 0
            credits_remaining: 0
    ToolNotAllowed:
      description: Tool exists but has no API surface.
      content:
        application/problem+json:
          schema:
            type: object
            description: >-
              RFC 9457 problem document, served as application/problem+json.
              Branch on `code`; `title` is human prose and may be reworded
              without notice. Some failures add extension members — `fields` on
              validation errors, `retry_after` on 429s,
              `credits_used`/`credits_remaining` on billing-adjacent failures —
              documented on the responses that carry them.
            required:
              - type
              - title
              - status
              - code
            properties:
              type:
                type: string
                format: uri
                description: Stable documentation URI for this failure.
                examples:
                  - https://iotools.cloud/docs/errors/tool_not_allowed
              title:
                type: string
                description: Short human-readable summary of the failure.
                examples:
                  - Tool not available over the API
              status:
                type: integer
                description: HTTP status code, matching the response's own status.
              code:
                type: string
                description: >-
                  Stable machine-readable error code — branch on this, not
                  `title`.
                enum:
                  - tool_not_allowed
              detail:
                type: string
                description: Human explanation of this occurrence.
              request_id:
                type: string
                description: Correlation id, also sent as x-request-id.
          example:
            type: https://iotools.cloud/docs/errors/tool_not_allowed
            title: Tool not available over the API
            status: 403
            code: tool_not_allowed
            detail: >-
              "Background Remover" is available on iotools.cloud but has no API
              endpoint.
            request_id: e4042b29-8f1e-4c7a-9b52-6f0d1a3c7e11
    ToolNotFound:
      description: No such tool.
      content:
        application/problem+json:
          schema:
            type: object
            description: >-
              RFC 9457 problem document, served as application/problem+json.
              Branch on `code`; `title` is human prose and may be reworded
              without notice. Some failures add extension members — `fields` on
              validation errors, `retry_after` on 429s,
              `credits_used`/`credits_remaining` on billing-adjacent failures —
              documented on the responses that carry them.
            required:
              - type
              - title
              - status
              - code
            properties:
              type:
                type: string
                format: uri
                description: Stable documentation URI for this failure.
                examples:
                  - https://iotools.cloud/docs/errors/tool_not_found
              title:
                type: string
                description: Short human-readable summary of the failure.
                examples:
                  - Tool not found
              status:
                type: integer
                description: HTTP status code, matching the response's own status.
              code:
                type: string
                description: >-
                  Stable machine-readable error code — branch on this, not
                  `title`.
                enum:
                  - tool_not_found
              detail:
                type: string
                description: Human explanation of this occurrence.
              request_id:
                type: string
                description: Correlation id, also sent as x-request-id.
          example:
            type: https://iotools.cloud/docs/errors/tool_not_found
            title: Tool not found
            status: 404
            code: tool_not_found
            detail: No tool with that slug. See GET /v1/tools/list.
            request_id: e4042b29-8f1e-4c7a-9b52-6f0d1a3c7e11
    PayloadTooLarge:
      description: Body too large.
      content:
        application/problem+json:
          schema:
            type: object
            description: >-
              RFC 9457 problem document, served as application/problem+json.
              Branch on `code`; `title` is human prose and may be reworded
              without notice. Some failures add extension members — `fields` on
              validation errors, `retry_after` on 429s,
              `credits_used`/`credits_remaining` on billing-adjacent failures —
              documented on the responses that carry them.
            required:
              - type
              - title
              - status
              - code
            properties:
              type:
                type: string
                format: uri
                description: Stable documentation URI for this failure.
                examples:
                  - https://iotools.cloud/docs/errors/payload_too_large
              title:
                type: string
                description: Short human-readable summary of the failure.
                examples:
                  - Payload too large
              status:
                type: integer
                description: HTTP status code, matching the response's own status.
              code:
                type: string
                description: >-
                  Stable machine-readable error code — branch on this, not
                  `title`.
                enum:
                  - payload_too_large
              detail:
                type: string
                description: Human explanation of this occurrence.
              request_id:
                type: string
                description: Correlation id, also sent as x-request-id.
          example:
            type: https://iotools.cloud/docs/errors/payload_too_large
            title: Payload too large
            status: 413
            code: payload_too_large
            detail: Request body exceeds this tool's size limit.
            request_id: e4042b29-8f1e-4c7a-9b52-6f0d1a3c7e11
    RateLimited:
      description: Per-minute rate limit exceeded.
      headers:
        Retry-After:
          description: Seconds to wait before retrying (RFC 9110 delta-seconds).
          schema:
            type: integer
      content:
        application/problem+json:
          schema:
            type: object
            description: >-
              RFC 9457 problem document, served as application/problem+json.
              Branch on `code`; `title` is human prose and may be reworded
              without notice. Some failures add extension members — `fields` on
              validation errors, `retry_after` on 429s,
              `credits_used`/`credits_remaining` on billing-adjacent failures —
              documented on the responses that carry them.
            required:
              - type
              - title
              - status
              - code
            properties:
              type:
                type: string
                format: uri
                description: Stable documentation URI for this failure.
                examples:
                  - https://iotools.cloud/docs/errors/rate_limited
              title:
                type: string
                description: Short human-readable summary of the failure.
                examples:
                  - Rate limit exceeded
              status:
                type: integer
                description: HTTP status code, matching the response's own status.
              code:
                type: string
                description: >-
                  Stable machine-readable error code — branch on this, not
                  `title`.
                enum:
                  - rate_limited
              detail:
                type: string
                description: Human explanation of this occurrence.
              request_id:
                type: string
                description: Correlation id, also sent as x-request-id.
              retry_after:
                type: integer
                description: >-
                  Seconds until the window resets — the same value as the
                  `Retry-After` header.
          example:
            type: https://iotools.cloud/docs/errors/rate_limited
            title: Rate limit exceeded
            status: 429
            code: rate_limited
            detail: Too many requests. Retry in 30s.
            request_id: e4042b29-8f1e-4c7a-9b52-6f0d1a3c7e11
            retry_after: 30
    ToolFailed:
      description: Tool failed to run.
      content:
        application/problem+json:
          schema:
            type: object
            description: >-
              RFC 9457 problem document, served as application/problem+json.
              Branch on `code`; `title` is human prose and may be reworded
              without notice. Some failures add extension members — `fields` on
              validation errors, `retry_after` on 429s,
              `credits_used`/`credits_remaining` on billing-adjacent failures —
              documented on the responses that carry them.
            required:
              - type
              - title
              - status
              - code
            properties:
              type:
                type: string
                format: uri
                description: Stable documentation URI for this failure.
                examples:
                  - https://iotools.cloud/docs/errors/processing_error
                  - https://iotools.cloud/docs/errors/internal_error
              title:
                type: string
                description: Short human-readable summary of the failure.
                examples:
                  - Tool failed to run
                  - Internal error
              status:
                type: integer
                description: HTTP status code, matching the response's own status.
              code:
                type: string
                description: >-
                  Stable machine-readable error code — branch on this, not
                  `title`.
                enum:
                  - processing_error
                  - internal_error
              detail:
                type: string
                description: Human explanation of this occurrence.
              request_id:
                type: string
                description: Correlation id, also sent as x-request-id.
              credits_used:
                type: integer
                description: >-
                  Always 0 on `processing_error` — a failed run is refunded,
                  floor included.
              credits_remaining:
                type: integer
                description: >-
                  Credits left after the refund. Absent when metering is
                  disabled.
          example:
            type: https://iotools.cloud/docs/errors/processing_error
            title: Tool failed to run
            status: 500
            code: processing_error
            detail: The tool failed to run. Please try again.
            request_id: e4042b29-8f1e-4c7a-9b52-6f0d1a3c7e11
            credits_used: 0
    ToolDisabled:
      description: Tool temporarily disabled.
      content:
        application/problem+json:
          schema:
            type: object
            description: >-
              RFC 9457 problem document, served as application/problem+json.
              Branch on `code`; `title` is human prose and may be reworded
              without notice. Some failures add extension members — `fields` on
              validation errors, `retry_after` on 429s,
              `credits_used`/`credits_remaining` on billing-adjacent failures —
              documented on the responses that carry them.
            required:
              - type
              - title
              - status
              - code
            properties:
              type:
                type: string
                format: uri
                description: Stable documentation URI for this failure.
                examples:
                  - https://iotools.cloud/docs/errors/tool_disabled
                  - https://iotools.cloud/docs/errors/api_unconfigured
              title:
                type: string
                description: Short human-readable summary of the failure.
                examples:
                  - Tool temporarily disabled
                  - API not configured
              status:
                type: integer
                description: HTTP status code, matching the response's own status.
              code:
                type: string
                description: >-
                  Stable machine-readable error code — branch on this, not
                  `title`.
                enum:
                  - tool_disabled
                  - api_unconfigured
              detail:
                type: string
                description: Human explanation of this occurrence.
              request_id:
                type: string
                description: Correlation id, also sent as x-request-id.
          example:
            type: https://iotools.cloud/docs/errors/tool_disabled
            title: Tool temporarily disabled
            status: 503
            code: tool_disabled
            detail: This tool is temporarily unavailable. Try again shortly.
            request_id: e4042b29-8f1e-4c7a-9b52-6f0d1a3c7e11
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: iot_live_…

````