# Introduction to the PDF Blocks API

A secure, fast, stateless HTTP API for PDF operations — one PDF in, one PDF out, no SDK required.

PDF Blocks is a secure, fast, stateless HTTP API for working with PDF documents.
Send a document, name an action, and get the processed PDF straight back in the
response. There is no account state to manage, nothing is stored after a request
returns, and there is no SDK to install — every action is a single authenticated
HTTPS call you can make from any language.

## The mental model

One PDF in, one PDF out. Every action is a pure transformation: it takes a
document (plus a few parameters), returns a new document, and keeps nothing. You
send `multipart/form-data` with your PDF in a `file` field, and a single-output
action answers `200 OK` with `application/pdf` — the finished document as the
response body.

Because each output is itself a valid PDF, it is a valid input to the next
action. That makes actions composable: merge several files, watermark the result,
then encrypt it, each step feeding the next. See
[Chaining actions](/docs/api/chaining-actions) for how to build a pipeline
without ever touching disk.

## The action catalog

Seventeen actions, grouped by capability. Each links to its full reference.

### Merge & Split

<CardGroup cols={3}>
  <Card title="Merge documents" href="/docs/api/merge-pdf-documents">
    Combine an ordered list of PDFs into one.
  </Card>
  <Card title="Split by page count" href="/docs/api/split-pdf-by-page-count">
    Break into fixed-size chunks.
  </Card>
  <Card title="Split at page" href="/docs/api/split-pdf-at-page">
    Break at a chosen page boundary.
  </Card>
  <Card title="Split by size" href="/docs/api/split-pdf-by-file-size">
    Cap each part's byte size.
  </Card>
  <Card title="Split into page groups" href="/docs/api/split-pdf-into-page-groups">
    Group pages by a pattern you define.
  </Card>
</CardGroup>

### Watermarks

<CardGroup cols={3}>
  <Card title="Add text watermark" href="/docs/api/add-text-watermark-to-pdf">
    Stamp up to three lines of text.
  </Card>
  <Card title="Add image watermark" href="/docs/api/add-image-watermark-to-pdf">
    Stamp a logo or image.
  </Card>
</CardGroup>

### Passwords & security

<CardGroup cols={3}>
  <Card title="Add password" href="/docs/api/add-password-to-pdf">
    Encrypt a document.
  </Card>
  <Card title="Remove password" href="/docs/api/remove-password-from-pdf">
    Decrypt a document with a known password.
  </Card>
  <Card title="Add restrictions" href="/docs/api/add-restrictions-to-pdf">
    Set permission flags.
  </Card>
  <Card title="Remove restrictions" href="/docs/api/remove-restrictions-from-pdf">
    Clear the permission flags.
  </Card>
  <Card title="Remove signatures" href="/docs/api/remove-signatures-from-pdf">
    Strip digital signatures.
  </Card>
</CardGroup>

### Pages

<CardGroup cols={3}>
  <Card title="Extract pages" href="/docs/api/extract-pages-from-pdf">
    Keep a page subset.
  </Card>
  <Card title="Remove pages" href="/docs/api/remove-pages-from-pdf">
    Drop a page subset.
  </Card>
  <Card title="Rotate pages" href="/docs/api/rotate-pages-in-pdf">
    Turn pages 90°, 180°, or 270°.
  </Card>
  <Card title="Reverse pages" href="/docs/api/reverse-pages-of-pdf">
    Flip the page order.
  </Card>
  <Card title="Reorder pages" href="/docs/api/reorder-pages-of-pdf">
    Rearrange pages into any order.
  </Card>
</CardGroup>

For the whole picture — the naming convention, how actions compose, and where
each one lives — see the [Actions overview](/docs/api/actions-overview).

## What makes it different

- **Fast.** Actions are single-purpose transformations with no queues and no
  round trips. You send a request and stream the result straight to a file.
- **Secure and stateless.** Requests travel over HTTPS only and authenticate
  with a secret key. Documents are processed in-region and never stored — once
  the response is written, nothing remains.
- **Regional data residency.** The same catalog runs in ten regions, so your
  documents can be processed where your compliance needs them to be. Point a
  request at the region's base URL and everything else is identical.

| Region         | Base URL                          |
| -------------- | --------------------------------- |
| Global         | `https://api.pdfblocks.com`       |
| United States  | `https://us.api.pdfblocks.com`    |
| US HIPAA       | `https://hipaa.api.pdfblocks.com` |
| European Union | `https://eu.api.pdfblocks.com`    |
| United Kingdom | `https://uk.api.pdfblocks.com`    |
| Canada         | `https://ca.api.pdfblocks.com`    |
| Australia      | `https://au.api.pdfblocks.com`    |
| Japan          | `https://jp.api.pdfblocks.com`    |
| India          | `https://in.api.pdfblocks.com`    |
| Brazil         | `https://br.api.pdfblocks.com`    |

More regions are available on request. See
[Regions & data residency](/docs/api/regions-and-data-residency) for the full
details.

## Where to next

<CardGroup cols={2}>

<Card title="Quickstart" href="/docs/api/quickstart">
  Make your first authenticated call and hold a processed PDF in five minutes.
</Card>

<Card title="Authentication" href="/docs/api/authentication">
  Get an API key and send it correctly on every request.
</Card>

</CardGroup>
