API & Developer Tools
Designer Den has a REST API so outside tools can create projects, upload artwork, and keep components in sync with your account. If you use a component-building tool that supports it, you can connect it once and stop copying data by hand.
Everything lives on the API & Developer page, reachable from your profile settings.
Note
This page is for two different people. If you just want to connect a tool someone else built, read "Connecting a tool". If you are building the tool, the full technical guide is at /developers/api.
Connecting a tool
When a tool asks to connect to your Designer Den account, you are taken to a consent screen. It shows you:
- the app's name, logo and description
- exactly what it is asking permission to do, in plain language
- whether the app has been reviewed
Approve it and the tool gets a token tied to your account. It can only do the things listed on that screen, and only inside your own projects.
What a connected app can never do
- Reach another designer's projects
- Delete components it did not create, including anything you made by hand
- Write to a project you have locked
- Exceed your storage limit or your project limit
- See your billing details, playtest feedback, or pitches
Revoking access
Open API & Developer and find the app under Connected apps, then choose Revoke access. It stops working immediately. Do this any time you stop using a tool.
Personal access tokens
If you write your own scripts, or a tool asks you to paste in a token rather than sending you through a consent screen, create a personal access token.
- Open API & Developer.
- Choose New token.
- Name it something you will recognise later, like "my sync script".
- Under Scopes, tick only the permissions it needs.
- Choose Create token, then copy it immediately. It is shown once and never again.
Treat a token like a password. Anyone holding it can act on your account within the permissions you gave it. If one leaks, revoke it from the same page and create a new one.
Warning
A token does not expire when you change your password. Revoking is the only way to cut off access.
Your first request
Once you have a token, this is the smallest thing you can run to prove it works. It asks the API who you are and what your account limits are, and it needs no scope in particular, so any token can call it.
curl "https://dustinsdesignerden.com/api/v1/me" \
-H "Authorization: Bearer YOUR_TOKEN"
You get back your account, your storage use, and your project counts:
{
"user": { "id": 1, "name": "Dustin", "email": "designer@example.com" },
"storage": { "used_bytes": 4194304, "limit_bytes": 104857600, "used_human": "4.0 MB" },
"projects": { "count": 1, "unlocked_count": 1 }
}
If that returns 401, the token is wrong or was revoked. If it returns 403, the token is real but does not carry the scope the endpoint needs. Every error explains itself in the same shape, listed under Errors.
From there, the two guided walkthroughs pick it up:
- Quickstart takes you from that token to creating a project and adding your first components, in four steps.
- Syncing components is the longer one: pushing components in batches, keeping them matched across runs with your own ids, decks and stacks including card order, which fields each component type actually uses, and how to pick a shape or mask.
Registering an app
If you are building a tool that other designers will connect to, register it under Your apps.
You will need a redirect URI (where designers come back to after approving) and a short description, which is shown on the consent screen. You get back a client ID, and a client secret if your app runs on a server.
The secret is shown once. If you lose it, use Rotate secret, which immediately invalidates the old one.
Review
A newly registered app can connect to your own account straight away, so you can build and test the whole integration without waiting on anything.
Before it can ask other designers for access, it needs a quick review. Use Request review on the app once it has a clear name and description. This is what stops an app from misrepresenting itself to other designers.
Changing your app's name, description, logo, homepage, or redirect URIs after approval sends it back for review. The first four are exactly what a designer sees when deciding whether to trust you. Redirect URIs are not shown to them at all, which is why they count too: they decide where an approval is delivered, so a new one is a new place your app can receive access to someone's account.
Your app keeps working with your own account the whole time it is back in review. Only the ability to ask other designers pauses. Reordering the same redirect URIs is not a change and costs you nothing.
Webhooks
Rather than checking for changes on a timer, a tool can register a webhook and be notified when your components or project details change. Webhooks are registered by the app itself using its token, and only ever receive events from your own account.
If an app's endpoint stops responding, deliveries are retried for a while and then switched off automatically.
Building an integration
The technical guide covers authentication, the sync workflow, every endpoint, error codes, rate limits, and webhook signature verification. Every endpoint page shows a real request in cURL, JavaScript, PHP and Python alongside the actual response, plus a reference for every field:
There is also a machine-readable OpenAPI specification generated directly from the live API, so it always matches what the server actually does.
The API is free to use. It requires an account and a token, and it is rate limited. Writes stay inside the limits your plan already gives you, so an integration can never use more storage or create more projects than you could yourself.
Related
- Dextrous Import for pointing Designer Den at a JSON feed instead
- CSV & JSON import/export for one-off imports
- Storage add-ons if an integration is filling your storage