Authentication & API Keys

PrintKit is designed to be usable immediately with zero setup — no account, no API key, no sign-up required. You can integrate printing features into your app right now by following the Order Handoff API docs.

That said, registering your app unlocks additional capabilities: order tracking, a revenue split on completed orders, and more features as the platform grows. An API key is how we tie orders back to your app.

Why Register?

The API is fully functional without an account. Registration adds:

The only thing we need from you right now is an email address. That’s it.

Sign Up (Humans & Developers)

Create an account with your email. Once signed in, your dashboard at /dashboard/api-keys lets you view your API key. Copy it and store it somewhere safe.

Agent Self-Registration

AI agents, scripts, and CLI tools can register and receive an API key in a single HTTP request — no browser session, no email click-through, no human in the loop.

POSThttps://printkit.dev/api/register

Request body

FieldTypeRequiredDescription
emailstringYesEmail address for the account. Used to deduplicate registrations.
namestringNoAccount name, e.g. "MyPhotoApp Agent". Used as the display name for your account.
sourcestringNoRegistration source identifier, e.g. "agent-self-registration". Reserved for future use.

Response

FieldDescription
api_keyYour API key. You can also view it anytime from your dashboard.
user_idThe Clerk user ID associated with the email.
docsLink back to this documentation.

Examples

Register your app
curl -X POST https://printkit.dev/api/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "name": "MyPhotoApp Agent",
    "source": "agent-self-registration"
  }'
Response
json
{
  "api_key": "pk_live_a1b2c3d4e5f6...",
  "user_id": "user_abc",
  "docs": "https://printkit.dev/docs"
}

Using Your API Key

Include your API key as a Bearer token in the Authorization header on any PrintKit API request. The key is optional — requests without a key work as anonymous submissions. When a key is provided, it is validated and forwarded to our backend for attribution.

Authenticated request
curl -X POST https://printkit.dev/api/add-to-cart \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "sku": "metal-print-8x10",
    "source": "my-app",
    "projectData": {
      "photos": ["https://cdn.example.com/photo.jpg"]
    }
  }'

Including a valid key enables revenue split, order tracking, and other attribution features. We recommend always sending your key once you have one.

Managing Keys