Skip to main content

Scopes

Scopes control which operations an access token is permitted to perform. Every Houzz Pro API endpoint declares the scope (or one of a set of scopes) it requires; a request succeeds only when the token carries a matching scope.

The scope model​

Scopes follow an action:resource naming convention. The prefix describes the level of access:

PrefixMeaning
read:Read and list a resource (e.g. read:projects).
write:Create and update a resource (e.g. write:projects).
admin: / delete:Elevated access, including deletion, deactivation, or archiving (e.g. admin:projects, delete:documents).

Most resources use admin: for their destructive tier. A few, such as documents, use delete: instead. The scope required by any given endpoint is listed in the API Reference.

How scopes are enforced​

  • Each endpoint requires a specific scope. If your token does not carry a scope that satisfies the endpoint, the request is rejected with 403 Forbidden.
  • A token can only carry scopes that have been granted to your service account by Houzz. Requesting a scope you were not granted does not add it — contact your Houzz representative to change your grant.
  • You select which of your granted scopes to put on a token via the scope parameter of the token request.

Request least privilege​

Request only the scopes a given token needs. If a worker only reads projects, mint it a token with read:projects — not your full grant. Following the principle of least privilege limits the blast radius if a token ever leaks, and keeps your integration's access auditable.

# A read-only reporting job needs only read scopes.
curl --request POST \
--url https://auth.houzz.com/oauth/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data grant_type=client_credentials \
--data client_id=YOUR_CLIENT_ID \
--data client_secret=YOUR_CLIENT_SECRET \
--data audience=https://pro-api.houzz.com \
--data 'scope=read:projects read:leads read:contacts'

Scope catalog​

The full set of scopes, grouped by resource. This is the authoritative list; the API Reference shows the exact scope each operation requires.

API metadata​

ScopeDescription
read:api-metadataView API version and available scopes.

Projects​

ScopeDescription
read:projectsView project details and list projects.
write:projectsCreate and update projects.
admin:projectsFull administrative access to projects, including deletion.

Leads​

ScopeDescription
read:leadsView lead details and list leads.
write:leadsCreate and update leads.
admin:leadsFull administrative access to leads, including deletion.

Schedule​

ScopeDescription
read:scheduleView milestones and schedule details.
write:scheduleCreate and update milestones.
admin:scheduleFull administrative access to schedule, including deletion.

Daily logs​

ScopeDescription
read:daily-logsView daily log details and list daily logs.
write:daily-logsCreate and update daily logs.
admin:daily-logsFull administrative access to daily logs, including deletion.

Tasks​

ScopeDescription
read:tasksView tasks, punchlist, and related items.
write:tasksCreate and update tasks and punchlist visibility.
admin:tasksFull administrative access to tasks, including deletion.

Documents​

ScopeDescription
read:documentsView documents and their contents.
write:documentsCreate and update documents.
delete:documentsPermanently delete documents.

Files​

ScopeDescription
read:filesView file details and list files.
write:filesUpload and update files.
admin:filesDelete files.

Team members​

ScopeDescription
read:team-membersView team member details and list them.
write:team-membersInvite and update team members.
admin:team-membersDeactivate and archive team members.

Subcontractors​

ScopeDescription
read:subcontractorsView subcontractor details and list them.
write:subcontractorsInvite and update subcontractors.
admin:subcontractorsDeactivate and archive subcontractors.

Vendors​

ScopeDescription
read:vendorsView vendor details and list vendors.
write:vendorsCreate and update vendors.
admin:vendorsArchive vendors.

Entity assignments​

ScopeDescription
read:entity-assignmentsView entity assignments and candidates.
write:entity-assignmentsAssign and reassign entities.

Contacts​

ScopeDescription
read:contactsView contact details and list contacts.
write:contactsCreate and update contacts.
admin:contactsDelete contacts.
note

Webhook subscription and webhook trigger endpoints are authenticated but are not gated by a named scope. Any valid token for your service account can manage webhook subscriptions. See Webhooks.