Scopes & Permissions

API keys are scoped to specific resources and access levels. Scopes are immutable after creation — to change scopes, revoke the old key and create a new one.

ScopeGrants Access To
read:productsGET /products, GET /products/:id
write:productsPOST, PUT, DELETE /products
read:designsGET /designs, GET /designs/:id
write:designsPOST, PUT, DELETE /designs
read:patternsGET /patterns, GET /patterns/:id
write:patternsPOST, PUT, DELETE /patterns
read:quotesGET /quotes, GET /quotes/:id, GET /quotes/:id/assets, GET /quotes/:id/roster
write:quotesPOST /quotes, POST /quotes/:groupId/revisions, PUT /quotes/:groupId/roster
read:quote-groupsGET /quote-groups, GET /quote-groups/:id
write:quote-groupsPUT /quote-groups/:id/status, DELETE /quote-groups/:id
read:mockupsGET /mockups, GET /mockups/:id
read:colorsGET /colors
read:fabricsGET /fabrics
read:fontsGET /fonts

Shorthand scopes: read grants all read scopes, write grants all write scopes (implies read), full grants everything.

Example key scopes (JSON)
{
  "scopes": [
    "read:products",
    "read:quotes",
    "write:quotes"
  ]
}