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:
- Revenue split on orders — earn a percentage of completed print orders attributed to your app.
- Order tracking — see which orders came from your app and their fulfillment status.
- Higher rate limits — authenticated requests receive higher API limits as we scale.
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.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Email address for the account. Used to deduplicate registrations. |
name | string | No | Account name, e.g. "MyPhotoApp Agent". Used as the display name for your account. |
source | string | No | Registration source identifier, e.g. "agent-self-registration". Reserved for future use. |
Response
| Field | Description |
|---|---|
api_key | Your API key. You can also view it anytime from your dashboard. |
user_id | The Clerk user ID associated with the email. |
docs | Link back to this documentation. |
Examples
curl -X POST https://printkit.dev/api/register \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"name": "MyPhotoApp Agent",
"source": "agent-self-registration"
}'{
"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.
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"]
}
}'401 error. Omitting the header entirely is fine — the request will proceed anonymously.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
- Dashboard: Signed-in users can view their API key at /dashboard/api-keys.
- No expiry: Keys are long-lived and do not expire.
- One key per account: Each account receives a default API key automatically upon registration.