blinkpdf-io Docs API

The Docs API from blinkpdf-io — 1 operation(s) for docs.

Operations 1

GET /docs Get docs #

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/blinkpdf-io:blinkpdf-io-docs-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

blinkpdf-io-docs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Blink PDF Docs API
  description: 'Render Markdown into accessible, PDF/UA-conformant PDFs over HTTP. Send Markdown plus optional document metadata, fonts, page layout, viewer hints, and per-block style overrides to `POST /v1/render`, or use a structured template such as `POST /v1/templates/sandwich-document/render` or `POST /v1/templates/layout-document/render`. Fill by name is a separate verb: template (PDF bytes or stored id) plus `{ name: value }` returns a filled PDF; it is not a second verb on `POST /v1/render`. Inspect the complete AcroForm hierarchy at `POST /v1/inspect`, dry-run at `POST /v1/validate-fill`, and fill at `POST /v1/fill`. `POST /v1/fill` streams the PDF and does not keep the output. Stored templates live at `/v1/templates` (store, list, update, delete, download); JSON get/patch/delete by id is gone. Each visible revision atomically binds immutable blank bytes, inspect, resources, and pins. Inspect describes unsupported document and field traits through capabilities and diagnostics; strict fill and template storage reject unsupported subsets. Names are ISO fully qualified names. Omitted names stay unchanged. `false` is a value. Unknown names reject the request. The filled PDF never includes `/NeedAppearances`. Fill is request/response: a live template PDF is one binary multipart part capped by the tier `maxTemplateBytes`, and produce has a 120 second ceiling. No job id. Authentication is via an `x-api-key` header. An unknown path returns HTTP 404 with the named error `not_found`. A method a registered path does not accept returns 405 `method_not_allowed` with an `Allow` header listing the methods that path accepts.'
  version: 5.0.0
  contact:
    name: Blink PDF Support
    email: support@blinkpdf.io
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
- url: https://api.blinkpdf.io
  description: Production
tags:
- name: Docs
paths:
  /docs:
    get:
      responses:
        '405':
          description: A named error whose `error` is `method_not_allowed` (the path does not accept this method; the `Allow` header lists the ones it accepts).
          headers:
            Allow:
              schema:
                const: GET, HEAD
                type: string
              description: Methods this path accepts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error.method_not_allowed'
        '429':
          description: 'A named error whose `error` is `rate_limited` (the per-address flood shield in front of every route: too many requests from this client address; retry after `Retry-After`).'
          headers:
            Retry-After:
              schema:
                minimum: 1
                type: integer
              description: Seconds to wait before retrying; every 429 states it, and in a batch in which no item succeeded it is the first failed row's `retryAfterSeconds`
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error.rate_limited'
              examples:
                rate_limited:
                  summary: '`rate_limited`'
                  value:
                    error: rate_limited
                    detail: Too many requests from this client address. Retry after the Retry-After interval.
                    retryAfterSeconds: 5
      operationId: getDocs
      tags:
      - Docs
      summary: Get docs
      x-summary-source: derived
components:
  schemas:
    Error.method_not_allowed:
      additionalProperties: false
      description: 'Named error: `error` names it, `detail` explains it, and the members its code declares follow.'
      type: object
      required:
      - error
      - detail
      properties:
        error:
          const: method_not_allowed
          type: string
        detail:
          description: Caller-safe sentence naming the cause and the fix
          type: string
    Error.rate_limited:
      additionalProperties: false
      description: 'Named error: `error` names it, `detail` explains it, and the members its code declares follow.'
      type: object
      required:
      - error
      - detail
      - retryAfterSeconds
      properties:
        error:
          const: rate_limited
          type: string
        detail:
          description: Caller-safe sentence naming the cause and the fix
          type: string
        retryAfterSeconds:
          minimum: 1
          description: Whole seconds to wait before retrying, the value of the `Retry-After` header when the response is the refusal
          type: integer
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API key issued from your Blink PDF account, prefixed `bp_`. Send it in the `x-api-key` header on every operation whose `security` lists `apiKey`; an operation with empty `security` takes no key.