Skip to main content

Authorization and Scopes

Scope checks are enforced per endpoint.

Available Scopes​

ScopeCompany keysAgency keysCovers
read:companiesYesYescompany list and competency matrix; company-scoped keys also cover company detail, regions, sectors, connected agencies, company tags, company custom roles, and company umbrellas
write:usersYesYesCreate users and update profiles or memberships for hirer users with company keys, or agency users with agency keys; key-owner permissions also apply
read:usersYesYesList users visible to the key owner; company assignment and permission reports remain company-only
read:tradesYesYestrades and trade detail; agency-scoped keys can access trade detail only
read:ratesYesYesstandalone rates
read:projectsYesNoprojects and project connected agencies
read:workersYesYesworkers and worker document detail
write:workersYesYesAgency keys can create and update workers; company keys can validate worker attachment and right-to-work documents
read:purchase-ordersYesNopurchase orders
read:sitesYesYessite access, including agency access where permitted
read:requisitionsYesYesrequisitions
read:assignmentsYesYesassignments
read:timesheetsYesYestimesheets and expenses
read:invoicesYesYesinvoices, AfP, and payment notices
write:invoicesYesYesUpdate invoice status; agency keys require the hiring company’s Update invoice status agency action
read:credit-notesYesYescredit notes

No broad super-key behavior is granted by default.

User assignment and permission access requires read:users. Existing keys with only read:companies must be updated to grant this scope. Agency-scoped keys with read:users can retrieve their own agency users through GET /users. Company assignment and permission endpoints remain unavailable for agency-scoped keys.

Listing default RBAC access rule mappings requires a valid company-scoped key, with no resource scope required. Agency-scoped keys cannot access this endpoint.