Learn how to work with scopes when integrating with ob
Partner OAuth integrations only
This reference is for approved HiBob Marketplace partners choosing OAuth scopes in the Developer Portal. Bob customers using Service Users should use Permissions instead.
Every time you build an integration app, you need to decide what data and actions your app needs access to. In HiBob, we use OAuth scopes for that.
Scopes limit an app’s access to data and functionality, and help customers understand exactly what your app can and cannot do in their Bob account. Once a customer authorizes your app, each scope determines which API endpoints your app can access.
Important:
- Least privilege: In the consent screen, the customer can accept or deny all requested scopes. Your app should request only the scopes that are absolutely necessary for your use case.
- Changes: If you change the scopes of an existing app, it may impact existing installations (for example, customers may need to re‑install).
- Sensitive employee data scopes: These scopes apply only to employee data, and they protect access based on the employee data category a field belongs to (for example, EEO or Financial). See sensitive employee data scopes.
Scopes mapping to endpoints
| Scope name in Portal & Description | Endpoints | |
|---|---|---|
Docs > Manage documents
|
| |
Docs > View documents and eSign
| GET /v1/docs/people/{id} GET /v1/docs/folders/metadata | |
Goals > Manage goals
|
| |
Goals > View goals
| POST /v1/goals/goal-cycles/search | |
Hiring > Manage job openings
|
| |
Job catalog > View job catalog
|
| |
Integrations > Manage learning integrations
|
| |
People > Manage company metadata
|
| |
People > View employee data
|
| |
People > Manage employee data
|
| |
People > View employee historical data
|
| |
People > View sensitive employee data View personal and sensitive employee data
|
| |
People > Manage sensitive employee data
|
| |
People > View employee sensitive historical data
|
| |
Projects > Manage projects
|
| |
Settings > View company metadata
|
| |
Reports > View reports
|
| |
Tasks and flows > Manage tasks
|
| |
Time attendance > Manage attendance sheets
|
| |
Time off > View time off
| GET /v1/timeoff/employees/{employeeId}/requests/{requestId}GET /v1/timeoff/requests/changesGET /v1/timeoff/whosoutGET /v1/timeoff/outtoday | |
| Time off > View employees on private time off View employees who are out but are on private policies timeoff.sensitive:read | Optional - only to fetch private data:GET /v1/timeoff/requests/changesGET /v1/timeoff/whosoutGET /v1/timeoff/outtodayGET /v1/timeoff/employees/{employeeId}/requests/{requestId}Required: GET /v1/timeoff/policiesGET /v1/timeoff/policies/namesGET /v1/timeoff/employees/{employeeId}/balanceGET /v1/timeoff/policy-types/{policyType}/reason-codesGET /v1/timeoff/policy-types/{policyType} GET /v1/timeoff/policy-types | |
Time off > Manage time off
| POST /v1/timeoff/employees/{employeeId}/adjustmentsPOST /v1/timeoff/employees/{employeeId}/requestsPOST /v1/timeoff/policy-types/{policyType}/reason-codesDELETE /v1/timeoff/employees/{id}/requests/{requestId} | |
Time off > Manage calendar events
| POST /v1/timeoff/calendars/events/search | |
Workforce planning > View workforce planning
| GET /v1/metadata/objects/position | |
Workforce planning > Manage workforce planning
|
| |
Payroll Hub > Payroll Hub Sync Status - Write
|
| |
Payroll Hub > Payroll Hub Data - Read
| N/A | |
Payroll Hub > Payroll Hub 401(k) Deductions & Loans - Write
| N/A |
Sensitive employee data scopes
Sensitive employee data scopes are OAuth scopes intended for apps that need access to sensitive employee data in Bob.
These scopes apply only to employee data, and they protect access based on the employee data category a field belongs to (for example, EEO or Financial).
When to use them
- Request a sensitive scope if your app needs to read or manage fields that are in the sensitive categories listed below.
- If your app doesn’t need sensitive categories, don’t request a sensitive scope (customers will see it in the consent screen).
What to pay attention to
- Least privilege: request only what you need (read vs. write), and avoid requesting sensitive scopes “just in case.”
- Category-driven behavior: only fields in the listed categories are covered. If an admin moves a field out of a sensitive category, it stops being covered by the sensitive scope; if a field is moved into a sensitive category, it becomes covered.
Two variants:
- Sensitive data: access to the data field of sensitive categories in employee data.
- Historical sensitive data: access to historical tables of sensitive categories in employee data.
Sensitive scopes categories mapping
| Scope | Sensitive categories covered |
|---|---|
employee_data.sensitive:read | EEO (eeo)Financial ( financial)Bands ( band)Bands calculated fields ( bandsCalculatedFields)Payroll ( payroll)UK tax settings ( ukTaxSettings)Equity ( equity)Identification ( identification)Analytics ( peopleAnalytics) |
employee_data.sensitive:write | EEO (eeo)Financial ( financial)Payroll ( payroll)UK tax settings ( ukTaxSettings)Equity ( equity)Identification ( identification) |
employee_data.sensitive.history:read | EEO (eeo)Financial ( financial)Payroll ( payroll)UK tax settings ( ukTaxSettings)Equity ( equity)Identification ( identification)Analytics ( peopleAnalytics) |

