WorkloomDevelopers
v1Get an API key
Docs/Scopes

Scopes

A key can do only what its scopes allow. Write scopes do not include read: a key that adds contacts and then reads them needs both.

ScopeAllowsEndpoints
contacts:readRead contacts.GET /contacts, GET /contacts/{id}, POST /contacts/search, GET /custom-fields
contacts:writeAdd contacts and change them.POST /contacts, PATCH /contacts/{id}, DELETE /contacts/{id}, POST /contacts/upsert
companies:readRead companies.GET /companies, GET /companies/{id}, POST /companies/search, GET /custom-fields
companies:writeAdd companies and change their owner and tags.POST /companies, PATCH /companies/{id}
deals:readRead deals.GET /deals, GET /deals/{id}, POST /deals/search, GET /pipelines, GET /custom-fields
deals:writeCreate deals, change them and move them between stages.POST /deals, PATCH /deals/{id}, DELETE /deals/{id}, POST /deals/{id}/move
reports:readRead the revenue report.GET /reports/revenue
team:readRead the teammates in the workspace (seats), to resolve owners and assign work.GET /seats
activity:readRead timelines and tasks.GET /contacts/{id}/timeline, GET /companies/{id}/timeline, GET /deals/{id}/timeline, GET /notes, GET /tasks, GET /tasks/{id}
activity:writeAdd notes, and create, finish and reschedule tasks.POST /notes, POST /tasks, PATCH /tasks/{id}
lists:readRead lists and who is in them.GET /lists, GET /lists/{id}, GET /lists/{id}/members
lists:writeAdd people to lists and take them out.POST /lists/{id}/members, POST /lists/{id}/members/remove
outreach:writeEnrol contacts in live weaves and active sequences. Spends credits, as enrolling in Workloom does.GET /outreach, POST /weaves/{id}/enrol, POST /sequences/{id}/enrol
webhooks:manageAdd, change and remove webhook endpoints, and resend deliveries. A webhook sends every record its events name to an address of your choosing, so give this only to what needs it.POST /sandbox/events, GET /webhooks, POST /webhooks, GET /webhooks/{id}, PATCH /webhooks/{id}, DELETE /webhooks/{id}, POST /webhooks/{id}/rotate-secret, GET /webhooks/{id}/secret, POST /webhooks/{id}/test, GET /webhooks/{id}/deliveries, POST /webhooks/{id}/deliveries/{delivery_id}/resend
creative:readRead documents and templates.GET /documents
creative:writeMake documents from templates, export PDFs, edit videos and make designs, with the checks the app runs.POST /documents, POST /documents/{id}/export, POST /videos/{id}/edit, POST /designs

See what a key can call

Pick scopes and the endpoints a key with them can reach light up.

GET/GET/contactsPOST/contactsGET/contacts/{id}PATCH/contacts/{id}DELETE/contacts/{id}POST/contacts/searchPOST/contacts/upsertGET/companiesPOST/companiesGET/companies/{id}PATCH/companies/{id}POST/companies/searchGET/dealsPOST/dealsGET/deals/{id}PATCH/deals/{id}DELETE/deals/{id}POST/deals/{id}/movePOST/deals/searchGET/reports/revenueGET/documentsPOST/documentsPOST/documents/{id}/exportPOST/videos/{id}/editPOST/designsGET/pipelinesGET/seatsGET/custom-fieldsGET/contacts/{id}/timelineGET/companies/{id}/timelineGET/deals/{id}/timelineGET/notesPOST/notesGET/tasksPOST/tasksGET/tasks/{id}PATCH/tasks/{id}GET/listsGET/lists/{id}GET/lists/{id}/membersPOST/lists/{id}/membersPOST/lists/{id}/members/removeGET/outreachPOST/weaves/{id}/enrolPOST/sequences/{id}/enrolPOST/sandbox/eventsGET/webhooksPOST/webhooksGET/webhooks/{id}PATCH/webhooks/{id}DELETE/webhooks/{id}POST/webhooks/{id}/rotate-secretGET/webhooks/{id}/secretPOST/webhooks/{id}/testGET/webhooks/{id}/deliveriesPOST/webhooks/{id}/deliveries/{delivery_id}/resendGET/events

A key that acts for one person also reaches only what that person’s role reaches. Scopes say which kinds of record a key may touch; the role says which records.

When a scope is missing

You get a 403 with code missing_scope, the scope the call needed and the scopes the key has.

Response
{
  "error": "This key does not have the \"deals:write\" scope.",
  "code": "missing_scope",
  "required": [
    "deals:write"
  ],
  "granted": [
    "contacts:read",
    "deals:read"
  ]
}
403 Forbidden

GET / and GET /events need no scope, so you can always check what a key holds.

Was this page useful?