Authenticate with your API key in the
x-api-key header.List categories
cURL
parent_id is the main category of a sub-category, or null for a main category.
Create a category
Creating is idempotent: if a category with that name already exists, its id is returned instead of a duplicate.string
required
Category name, e.g.
Engineering.string | null
Optional. The name or id of a main category to file this one under as a sub-category, e.g.
Engineering. Send null to make it a main category again. Leave it out to keep the category where it is.cURL
cURL
Sub-categories
A category can sit under one main category (one level deep). Sub-categories keep their own name, slug and landing page, and:- Filtering by a main category (
?categories=Engineering) also returns jobs filed under its sub-categories. - A main category’s job count includes its sub-categories’ jobs.
- A main category cannot become a sub-category while it has sub-categories of its own.
Assigning a category to a job
When creating a job with Create Job, pass either:category— a category name. It is matched to an existing category (case-insensitive) or created if new.category_id— an existing category UUID (takes precedence overcategory).
categories with every name or id, e.g. "categories": ["Backend", "DevOps"]. The job shows under each of them, and the main category (the first, unless category or category_id is sent) is the one shown on its card. On an update, categories replaces the job’s list; an empty list keeps only the main category.
cURL