ReferenceAuth Scopes

Auth Scopes

API keys are created with specific scopes that control which endpoints they can access. When creating a key in the Parsify Dashboard, select only the scopes required for your use case.

Available Scopes

ScopeDescriptionRequired For
documents:readList and retrieve documentsGET /api/v1/documents/
documents:writeUpload documentsPOST /api/v1/documents/upload/
jobs:readList and retrieve extraction jobsGET /api/v1/jobs/
jobs:writeCreate and resubmit extraction jobsPOST /api/v1/jobs/
migrations:readRead migrations and runsGET /api/v1/payroll-migrations/
migrations:writeCreate and update migrations and runsPOST /api/v1/payroll-migrations/
validations:readRead validation reportsGET .../validations/
validations:writeCreate validation reportsPOST .../validations/
providers:readRead provider listPublic — no scope needed

Scope Naming Convention

Scopes follow the pattern resource:action:

  • read grants access to GET endpoints (list and retrieve).
  • write grants access to POST, PUT, PATCH, and DELETE endpoints.

A write scope does not imply read access. If your integration needs to both upload and list documents, include both documents:read and documents:write.

Scope Errors

If your API key is missing a required scope, the API returns a 403 Forbidden response:

{
  "detail": "You do not have permission to perform this action."
}

See Error Handling for more on error responses.

Best Practices

  • Least privilege — Grant only the scopes each key needs.
  • Separate keys per service — If multiple services call the API, create a dedicated key for each with its own minimal scopes.
  • Rotate regularly — Delete and recreate keys on a regular cadence.