# The PrintedSimply API, end to end

Source: https://portal.printedsimply.com/docs

Anything a person can do on this site, your code or your assistant can do with one key: read the catalog, get a price, place the order, and be told what happened. Every operation is a versioned REST endpoint, on the same key.

[Get an API key](https://portal.printedsimply.com/signup)

## Start here

[Quickstart](https://portal.printedsimply.com/docs/quickstarts)

Sign up, reveal a test key, and place a $0 sandbox order, in curl, TypeScript, Python, PHP and more.

[API reference](https://portal.printedsimply.com/docs/api-reference)

Every v1 endpoint, generated from the OpenAPI document the SDKs are built from.

## Your first request

Send it with a `ps_test_` key in the `x-api-key` header and it runs the whole order for $0, all the way to delivered, with real signed webhooks.

`POST /v1/order`

```bash
curl -X POST https://portal.printedsimply.com/api/v1/order \
  -H "x-api-key: ps_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-$(date +%s)" \
  -d '{
    "items": [
      { "sku": "sticker-die-cut-3x3", "quantity": 100,
        "artwork_url": "https://printedsimply.com/samples/sticker-3x3.png" }
    ],
    "address_to": {
      "name": "Jane Doe", "address1": "123 Main St",
      "city": "Austin", "state": "TX", "zip": "78701", "country": "US"
    },
    "shipping": { "method": "standard" }
  }'
```

## What we put in writing

The behaviour you are allowed to depend on. It is a page, not a sentence in a sales deck.

[Reliability contract](https://portal.printedsimply.com/docs/reliability)

Idempotency, pagination, signing, retries and limits, written as promises with the numbers in them.

## Events, signed and replayable

Register an endpoint and we POST an HMAC-signed payload on every event. Each request carries an `X-PS-Signature` header (`sha256=<hex>`), delivery retries **up to 7 attempts over about 10 hours**, and any failed delivery can be replayed from the dashboard.

[Read the webhooks guide](https://portal.printedsimply.com/docs/webhooks)

Event families

- `order.*` — created, paid, in_production, shipped, delivered, cancelled, failed, updated

## Machine-readable

Everything a person reads here is published for a program to read too. The OpenAPI document is what the reference page, both SDKs and the Postman collection are generated from.

[OpenAPI 3.1](https://portal.printedsimply.com/api/openapi.json)

The machine-readable contract every artifact on this site is derived from.

[Postman collection](https://portal.printedsimply.com/api/postman-collection)

The same operations, importable into Postman in one click.

[llms.txt](https://portal.printedsimply.com/llms.txt)

The machine-readable index of this documentation and the spec.

[llms-full.txt](https://portal.printedsimply.com/llms-full.txt)

These docs as one Markdown file, the API reference and changelog linked rather than included. Any page is Markdown at its URL plus .md.
