# Introduction to the PDF Blocks API

What PDF Blocks is, the model every action follows, and the catalog of everything the API can do. One authenticated HTTPS call, no SDK, nothing stored.

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`    |

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>
