> ## 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.

# PDF417 Barcode Generator

> Encode text, IDs, or shipping data into a PDF417 2D barcode — configurable error correction, columns, row height, and module scale, output as a scalable SVG. Runs entirely in your browser.

[Try PDF417 Barcode Generator in your browser →](https://iotools.cloud/tool/pdf417-barcode-generator/)



## OpenAPI

````yaml https://api.iotools.cloud/v1/openapi post /v1/tool/pdf417-barcode-generator
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/pdf417-barcode-generator:
    post:
      tags:
        - Generators
      summary: PDF417 Barcode Generator
      description: >-
        Encode text, IDs, or shipping data into a PDF417 2D barcode —
        configurable error correction, columns, row height, and module scale,
        output as a scalable SVG. Runs entirely in your browser.


        [Try PDF417 Barcode Generator in your browser
        →](https://iotools.cloud/tool/pdf417-barcode-generator/)
      operationId: run_pdf417_barcode_generator
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                inputData:
                  type: string
                  description: Data
                errorCorrection:
                  enum:
                    - '0'
                    - '1'
                    - '2'
                    - '3'
                    - '4'
                    - '5'
                    - '6'
                    - '7'
                    - '8'
                  description: Error correction level
                columns:
                  type: number
                  description: Columns (0 = auto)
                  minimum: 0
                  maximum: 30
                rowHeight:
                  type: number
                  description: Row height multiplier
                  minimum: 1
                  maximum: 10
                scale:
                  type: number
                  description: Module width / scale
                  minimum: 1
                  maximum: 5
              required: []
            examples:
              url_default_settings:
                summary: URL, default settings
                value:
                  inputData: https://iotools.cloud
                  errorCorrection: '2'
                  columns: '0'
                  rowHeight: '3'
                  scale: '2'
              order_code_custom_settings:
                summary: Order code, custom settings
                value:
                  inputData: ORDER-48291
                  errorCorrection: '5'
                  columns: '10'
                  rowHeight: '4'
                  scale: '3'
      responses:
        '200':
          description: Tool output
          content:
            application/json:
              examples:
                url_default_settings:
                  summary: URL, default settings
                  value:
                    tool: pdf417-barcode-generator
                    tool_version: 1.0.1
                    outputs:
                      svg: >
                        <svg viewBox="0 0 240 48"
                        xmlns="http://www.w3.org/2000/svg">

                        <path d="M0 48L16 48L16 0L0 0ZM18 48L20 48L20 0L18 0ZM22
                        48L24 48L24 0L22 0ZM26 48L28 48L28 0L26 0ZM34 48L44
                        48L44 24L42 24L42 30L40 30L40 24L38 24L38 18L36 18L36
                        12L38 12L38 18L40 18L40 12L42 12L42 18L44 18L44 12L46
                        12L46 6L44 6L44 0L34 0ZM46 48L48 48L48 42L46 42ZM52
                        48L54 48L54 36L56 36L56 48L60 48L60 42L66 42L66 36L64
                        36L64 24L66 24L66 18L56 18L56 24L60 24L60 36L58 36L58
                        30L52 30L52 18L56 18L56 12L54 12L54 6L52 6L52 12L50
                        12L50 6L48 6L48 18L44 18L44 24L46 24L46 36L48 36L48
                        30L50 30L50 36L48 36L48 42L52 42ZM68 48L76 48L76 36L72
                        36L72 42L70 42L70 36L72 36L72 24L74 24L74 18L70 18L70
                        12L74 12L74 0L68 0ZM80 48L82 48L82 42L80 42ZM88 48L90
                        48L90 42L88 42ZM98 48L100 48L100 42L98 42ZM102 48L110
                        48L110 42L108 42L108 24L106 24L106 30L104 30L104 24L106
                        24L106 18L104 18L104 12L106 12L106 0L102 0ZM114 48L116
                        48L116 42L120 42L120 36L122 36L122 30L124 30L124 24L126
                        24L126 18L124 18L124 12L122 12L122 0L120 0L120 12L118
                        12L118 18L122 18L122 24L118 24L118 18L112 18L112 30L110
                        30L110 36L114 36ZM122 48L124 48L124 42L122 42ZM126
                        48L128 48L128 42L126 42ZM136 48L144 48L144 36L140 36L140
                        42L138 42L138 24L140 24L140 18L138 18L138 12L140 12L140
                        18L142 18L142 24L140 24L140 30L144 30L144 36L146 36L146
                        30L148 30L148 36L146 36L146 48L148 48L148 42L150 42L150
                        36L152 36L152 18L150 18L150 24L144 24L144 18L146 18L146
                        12L142 12L142 6L146 6L146 0L140 0L140 6L138 6L138 0L136
                        0ZM154 48L156 48L156 42L154 42ZM164 48L166 48L166 42L164
                        42ZM170 48L172 48L172 42L174 42L174 48L176 48L176 30L178
                        30L178 18L176 18L176 24L174 24L174 18L176 18L176 12L178
                        12L178 6L180 6L180 0L170 0ZM178 48L190 48L190 36L192
                        36L192 30L190 30L190 24L188 24L188 18L184 18L184 12L182
                        12L182 18L180 18L180 30L182 30L182 24L184 24L184 30L182
                        30L182 36L184 36L184 42L180 42L180 30L178 30ZM192 48L198
                        48L198 42L202 42L202 36L196 36L196 30L200 30L200 24L202
                        24L202 12L192 12L192 6L200 6L200 0L190 0L190 18L192
                        18L192 24L194 24L194 36L192 36ZM204 48L218 48L218 0L204
                        0ZM220 48L222 48L222 0L220 0ZM228 48L230 48L230 0L228
                        0ZM232 48L234 48L234 0L232 0ZM238 48L240 48L240 0L238
                        0ZM40 42L40 36L42 36L42 42ZM82 42L88 42L88 30L92 30L92
                        42L96 42L96 36L94 36L94 24L92 24L92 12L88 12L88 6L84
                        6L84 12L86 12L86 18L90 18L90 24L86 24L86 30L78 30L78
                        36L82 36ZM124 42L126 42L126 36L124 36ZM128 42L130 42L130
                        30L132 30L132 24L130 24L130 18L134 18L134 6L126 6L126
                        0L124 0L124 12L126 12L126 18L128 18L128 24L126 24L126
                        30L128 30ZM156 42L158 42L158 36L166 36L166 30L162 30L162
                        24L158 24L158 30L156 30ZM98 36L100 36L100 30L98 30ZM132
                        36L134 36L134 30L132 30ZM74 30L78 30L78 24L80 24L80
                        18L84 18L84 12L82 12L82 6L84 6L84 0L80 0L80 12L74 12L74
                        18L76 18L76 24L74 24ZM96 30L98 30L98 12L96 12L96 0L88
                        0L88 6L94 6L94 24L96 24ZM154 30L156 30L156 24L158 24L158
                        18L156 18L156 12L152 12L152 18L154 18ZM40 24L42 24L42
                        18L40 18ZM106 18L112 18L112 12L118 12L118 0L114 0L114
                        6L110 6L110 12L106 12ZM160 18L166 18L166 12L168 12L168
                        6L164 6L164 12L162 12L162 6L160 6L160 0L154 0L154 6L156
                        6L156 12L160 12ZM178 18L180 18L180 12L178 12ZM60 12L66
                        12L66 6L64 6L64 0L54 0L54 6L60 6ZM148 12L150 12L150
                        6L148 6ZM180 12L182 12L182 6L180 6ZM184 12L186 12L186
                        6L184 6ZM46 6L48 6L48 0L46 0ZM50 6L52 6L52 0L50 0ZM76
                        6L78 6L78 0L76 0ZM162 6L164 6L164 0L162 0ZM182 6L184
                        6L184 0L182 0ZM186 6L188 6L188 0L186 0Z" fill="#000000"
                        fill-rule="evenodd" />

                        </svg>
                    credits_used: 3
                    credits_remaining: null
                order_code_custom_settings:
                  summary: Order code, custom settings
                  value:
                    tool: pdf417-barcode-generator
                    tool_version: 1.0.1
                    outputs:
                      svg: >
                        <svg viewBox="0 0 717 72"
                        xmlns="http://www.w3.org/2000/svg">

                        <path d="M0 72L24 72L24 0L0 0ZM27 72L30 72L30 0L27 0ZM33
                        72L36 72L36 0L33 0ZM39 72L42 72L42 0L39 0ZM51 72L63
                        72L63 63L60 63L60 36L57 36L57 18L60 18L60 9L63 9L63
                        18L66 18L66 0L51 0ZM66 72L69 72L69 63L66 63ZM75 72L78
                        72L78 63L81 63L81 54L84 54L84 45L81 45L81 36L78 36L78
                        27L69 27L69 18L66 18L66 36L69 36L69 54L72 54L72 63L75
                        63ZM93 72L96 72L96 63L99 63L99 54L93 54L93 45L96 45L96
                        36L99 36L99 27L96 27L96 18L84 18L84 9L96 9L96 0L81 0L81
                        27L84 27L84 36L87 36L87 45L90 45L90 54L84 54L84 63L93
                        63ZM102 72L117 72L117 54L120 54L120 45L114 45L114 27L117
                        27L117 18L126 18L126 0L120 0L120 9L117 9L117 0L114 0L114
                        9L111 9L111 0L102 0ZM120 72L126 72L126 63L120 63ZM129
                        72L132 72L132 63L129 63ZM141 72L144 72L144 54L141
                        54ZM153 72L165 72L165 63L171 63L171 54L165 54L165 36L168
                        36L168 27L156 27L156 9L159 9L159 18L174 18L174 27L171
                        27L171 45L174 45L174 54L183 54L183 45L186 45L186 18L183
                        18L183 36L177 36L177 9L174 9L174 0L165 0L165 9L162 9L162
                        0L153 0ZM174 72L177 72L177 63L174 63ZM180 72L183 72L183
                        63L180 63ZM192 72L195 72L195 63L192 63ZM204 72L207
                        72L207 63L210 63L210 54L207 54L207 45L210 45L210 54L213
                        54L213 27L207 27L207 0L204 0ZM210 72L213 72L213 63L210
                        63ZM216 72L231 72L231 63L234 63L234 54L240 54L240 63L237
                        63L237 72L243 72L243 54L246 54L246 36L243 36L243 45L237
                        45L237 36L231 36L231 45L228 45L228 63L222 63L222 54L225
                        54L225 45L216 45L216 54L213 54L213 63L216 63ZM255 72L267
                        72L267 63L258 63L258 54L264 54L264 45L267 45L267 36L261
                        36L261 45L258 45L258 36L261 36L261 27L258 27L258 0L255
                        0ZM270 72L273 72L273 63L270 63ZM279 72L285 72L285 54L288
                        54L288 45L291 45L291 27L300 27L300 18L294 18L294 9L297
                        9L297 0L291 0L291 9L288 9L288 36L285 36L285 27L282
                        27L282 36L276 36L276 27L270 27L270 36L273 36L273 45L270
                        45L270 54L282 54L282 63L279 63ZM297 72L303 72L303 36L297
                        36L297 45L300 45L300 63L297 63ZM306 72L321 72L321 54L318
                        54L318 63L315 63L315 54L309 54L309 45L321 45L321 54L327
                        54L327 45L324 45L324 36L321 36L321 27L324 27L324 18L327
                        18L327 36L330 36L330 9L321 9L321 0L318 0L318 9L312 9L312
                        18L315 18L315 36L312 36L312 27L309 27L309 0L306 0ZM324
                        72L327 72L327 63L324 63ZM330 72L333 72L333 54L330
                        54ZM336 72L342 72L342 63L345 63L345 54L339 54L339 45L336
                        45ZM357 72L363 72L363 63L366 63L366 72L369 72L369 54L372
                        54L372 72L384 72L384 54L381 54L381 63L378 63L378 54L381
                        54L381 45L378 45L378 36L375 36L375 18L378 18L378 27L381
                        27L381 9L375 9L375 0L369 0L369 9L366 9L366 0L357 0ZM390
                        72L396 72L396 63L402 63L402 54L405 54L405 36L402 36L402
                        45L399 45L399 54L396 54L396 36L393 36L393 18L396 18L396
                        9L390 9L390 18L387 18L387 36L390 36L390 45L387 45L387
                        54L393 54L393 63L390 63ZM408 72L414 72L414 63L411 63L411
                        54L420 54L420 36L414 36L414 27L411 27L411 0L408 0ZM417
                        72L426 72L426 36L423 36L423 63L417 63ZM429 72L432 72L432
                        63L429 63ZM435 72L453 72L453 63L450 63L450 54L453 54L453
                        45L456 45L456 36L450 36L450 45L447 45L447 54L444 54L444
                        63L441 63L441 54L444 54L444 45L438 45L438 36L444 36L444
                        27L435 27L435 36L432 36L432 45L429 45L429 54L435 54ZM459
                        72L465 72L465 63L462 63L462 54L465 54L465 45L471 45L471
                        36L468 36L468 27L462 27L462 18L468 18L468 27L474 27L474
                        45L471 45L471 63L474 63L474 72L486 72L486 45L489 45L489
                        63L492 63L492 36L489 36L489 27L486 27L486 36L483 36L483
                        45L480 45L480 36L477 36L477 27L480 27L480 18L471 18L471
                        9L462 9L462 0L459 0ZM468 72L471 72L471 63L468 63ZM498
                        72L504 72L504 63L498 63ZM510 72L516 72L516 54L519 54L519
                        63L522 63L522 54L525 54L525 45L516 45L516 36L519 36L519
                        27L513 27L513 18L525 18L525 9L513 9L513 0L510 0ZM531
                        72L534 72L534 54L528 54L528 63L531 63ZM537 72L546 72L546
                        54L552 54L552 45L549 45L549 27L543 27L543 36L546 36L546
                        45L543 45L543 54L540 54L540 45L543 45L543 36L534 36L534
                        45L537 45ZM552 72L555 72L555 63L552 63ZM561 72L564
                        72L564 63L567 63L567 45L570 45L570 36L564 36L564 18L567
                        18L567 27L576 27L576 9L573 9L573 18L570 18L570 9L564
                        9L564 0L561 0ZM567 72L570 72L570 63L567 63ZM582 72L594
                        72L594 63L597 63L597 54L600 54L600 45L594 45L594 54L591
                        54L591 45L594 45L594 36L588 36L588 45L576 45L576 36L573
                        36L573 63L582 63ZM597 72L600 72L600 63L597 63ZM612
                        72L615 72L615 54L618 54L618 72L621 72L621 45L624 45L624
                        36L621 36L621 27L618 27L618 18L621 18L621 27L624 27L624
                        9L621 9L621 0L618 0L618 9L615 9L615 0L612 0ZM624 72L642
                        72L642 63L639 63L639 54L645 54L645 72L654 72L654 63L657
                        63L657 54L660 54L660 45L657 45L657 36L651 36L651 27L657
                        27L657 18L645 18L645 0L642 0L642 18L639 18L639 27L642
                        27L642 36L648 36L648 45L654 45L654 54L648 54L648 45L642
                        45L642 36L636 36L636 27L633 27L633 45L630 45L630 54L627
                        54L627 63L624 63ZM663 72L684 72L684 0L663 0ZM687 72L690
                        72L690 0L687 0ZM699 72L702 72L702 0L699 0ZM705 72L708
                        72L708 0L705 0ZM714 72L717 72L717 0L714 0ZM63 63L66
                        63L66 36L63 36ZM105 63L105 45L108 45L108 54L111 54L111
                        63ZM132 63L138 63L138 45L132 45ZM156 63L156 36L159
                        36L159 54L162 54L162 63ZM183 63L192 63L192 54L195 54L195
                        63L198 63L198 54L201 54L201 45L198 45L198 36L201 36L201
                        18L192 18L192 9L189 9L189 0L186 0L186 18L189 18L189
                        36L195 36L195 45L186 45L186 54L183 54ZM267 63L270 63L270
                        54L267 54ZM477 63L477 54L480 54L480 63ZM585 63L585
                        54L588 54L588 63ZM603 63L606 63L606 45L603 45ZM144
                        54L150 54L150 36L147 36L147 45L144 45ZM291 54L294 54L294
                        45L291 45ZM345 54L354 54L354 36L345 36ZM360 54L360
                        45L366 45L366 54ZM501 54L504 54L504 36L507 36L507 27L501
                        27L501 18L498 18L498 45L501 45ZM555 54L558 54L558 45L555
                        45ZM624 54L627 54L627 45L624 45ZM120 45L123 45L123
                        36L120 36ZM141 45L144 45L144 27L150 27L150 18L141 18L141
                        9L144 9L144 0L132 0L132 9L135 9L135 18L138 18L138 36L141
                        36ZM225 45L228 45L228 36L231 36L231 18L228 18L228 9L231
                        9L231 0L222 0L222 9L213 9L213 0L210 0L210 18L216 18L216
                        27L219 27L219 36L225 36ZM330 45L333 45L333 36L330
                        36ZM339 45L342 45L342 18L345 18L345 9L348 9L348 0L342
                        0L342 9L339 9L339 18L336 18L336 27L339 27ZM369 45L369
                        36L372 36L372 45ZM528 45L531 45L531 36L534 36L534 27L537
                        27L537 9L531 9L531 18L525 18L525 27L522 27L522 36L528
                        36ZM600 45L603 45L603 36L600 36ZM627 45L630 45L630
                        36L627 36ZM60 36L63 36L63 18L60 18ZM108 36L108 27L105
                        27L105 9L108 9L108 18L111 18L111 36ZM129 36L132 36L132
                        9L129 9L129 18L126 18L126 27L129 27ZM237 36L243 36L243
                        27L240 27L240 18L243 18L243 0L234 0L234 9L237 9L237
                        18L234 18L234 27L237 27ZM249 36L252 36L252 27L249
                        27ZM360 36L360 27L363 27L363 36ZM366 36L366 27L369
                        27L369 36ZM420 36L423 36L423 27L420 27ZM426 36L432
                        36L432 27L429 27L429 18L426 18ZM555 36L558 36L558 27L555
                        27ZM576 36L579 36L579 27L576 27ZM582 36L588 36L588
                        27L582 27ZM594 36L600 36L600 27L594 27ZM624 36L627
                        36L627 27L624 27ZM243 27L246 27L246 18L243 18ZM261
                        27L264 27L264 18L276 18L276 27L279 27L279 9L270 9L270
                        0L267 0L267 9L261 9ZM396 27L399 27L399 18L396 18ZM432
                        27L435 27L435 18L441 18L441 9L435 9L435 0L426 0L426
                        9L429 9L429 18L432 18ZM444 27L456 27L456 18L453 18L453
                        9L450 9L450 18L444 18ZM492 27L495 27L495 0L489 0L489
                        9L492 9ZM540 27L543 27L543 18L546 18L546 0L540 0ZM549
                        27L552 27L552 18L549 18ZM588 27L594 27L594 18L591 18L591
                        9L582 9L582 18L588 18ZM600 27L609 27L609 18L603 18L603
                        9L597 9L597 18L600 18ZM627 27L633 27L633 18L630 18L630
                        9L627 9ZM69 18L75 18L75 9L72 9L72 0L69 0ZM180 18L183
                        18L183 9L180 9ZM231 18L234 18L234 9L231 9ZM282 18L285
                        18L285 9L288 9L288 0L282 0ZM333 18L336 18L336 0L330
                        0L330 9L333 9ZM360 18L360 9L363 9L363 18ZM384 18L387
                        18L387 9L384 9ZM423 18L426 18L426 9L423 9ZM486 18L489
                        18L489 9L486 9ZM501 18L504 18L504 0L501 0ZM552 18L558
                        18L558 9L555 9L555 0L552 0ZM633 18L636 18L636 9L633
                        9ZM75 9L78 9L78 0L75 0ZM177 9L180 9L180 0L177 0ZM381
                        9L384 9L384 0L381 0ZM396 9L402 9L402 0L396 0ZM414 9L420
                        9L420 0L414 0ZM444 9L450 9L450 0L444 0ZM474 9L480 9L480
                        0L474 0ZM525 9L531 9L531 0L525 0ZM576 9L582 9L582 0L576
                        0ZM591 9L597 9L597 0L591 0ZM603 9L606 9L606 0L603 0ZM624
                        9L627 9L627 0L624 0Z" fill="#000000" fill-rule="evenodd"
                        />

                        </svg>
                    credits_used: 3
                    credits_remaining: null
              schema:
                type: object
                required:
                  - tool
                  - tool_version
                  - outputs
                  - credits_used
                  - credits_remaining
                properties:
                  outputs:
                    type: object
                    properties:
                      svg:
                        type: string
                        description: SVG source
                  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_…

````