- Employer Registration API workflow
- Employer Registration API references
- Authenticate
- Register employer
- Request – Register employer
- Response – Register employer
- Update registration
- Request – Update registration
- Response – Update registration
- List registrations
- Request – List registrations
- Response – List registrations
- Deregister employer
- Request – Deregister employer
- Response – Deregister employer
- Troubleshoot errors
Employer Registration API guide
Register employers to manage feature settings and sync candidate data between their ATS and Indeed.
By using this API and its documentation and building an integration, you agree to the Additional API Terms and Guidelines.
Call the Employer Registration API to register employers for Candidate Sync integration. Registration enables employers to manage feature settings and sync candidate data between their ATS and Indeed.
Employer Registration API workflow
After you integrate with the Employer Registration API, you can call these operations:
- 1.Authenticate.
- 2.Register employer: Register an employer, and return information about the registration.
- 3.Update registration: Update a registration to enable or disable features.
- 4.List registrations: List an employer's registrations.
- 5.Deregister employer: Delete a registration and disable its features.
- 6.Troubleshoot GraphQL errors.
Employer Registration API references
registerEmployer: Register an employer, and return information about the registration.manageFeaturesForEmployer: Update the registration to enable or disable features.findRegisteredEmployers: List registrations by ATS employer identifier.deregisterEmployer: Delete a registration.
Authenticate
When you become an Indeed partner, Indeed sets up an app for your integration. Log in to Partner Console to view your app and OAuth credentials (client ID, secret, and authorization code for 3-legged OAuth). Exchange credentials for an access token to authenticate API calls.
Each Candidate Sync API operation requires an OAuth token:
| API / operations | OAuth token type |
|---|---|
| Authentication Authenticate with a 3-legged OAuth token that represents an employer with the If |
| Authentication Authenticate with a 2‑legged OAuth token. Your application authenticates directly with Indeed's authorization server without user interaction. See 2‑legged OAuth token. |
Securely store access tokens in your ATS, and don't share them between users. Indeed trusts that your system is the source of truth for a job. If you use a user's access token for a job that another user posted, Indeed might grant that user access to the other user's job on Indeed.
After you get an access token, include this token in the query or mutation. Indeed recommends that you refresh your access tokens before they expire to avoid asking users to log in every time they need to view updated job statuses.
See Integrate with Indeed and call APIs and Scopes.
Register employer
Request – Register employer
To register an employer and return registration information, call registerEmployer.
Authenticate with a 3-legged OAuth token that represents an employer with the employer.ats_candidate.sync scope. This token links the employer's Indeed account to their ATS account. An Indeed administrator or owner must create it.
If registerEmployer returns a missing scope error, the token might not be associated with an employer.
See 3-legged OAuth token that represents an employer.
Provide these input fields:
| Field | Required | Description |
|---|---|---|
Type: | ✅ | Partner-provided ID that uniquely identifies the employer. You can register one |
Type: | ✅ | Partner-provided name the employer uses. Employers on Indeed see this name. |
Response – Register employer
The response returns EmployerRegistration. Save the registration id for subsequent Candidate Sync API calls, or look it up later with findRegisteredEmployers by partnerEmployerId.
Update registration
Request – Update registration
To enable or disable features for an employer registration, call manageFeaturesForEmployer.
Authenticate with a 2‑legged OAuth token. Your application authenticates directly with Indeed's authorization server without user interaction.
See 2‑legged OAuth token.
Provide these input fields:
| Field | Required | Description |
|---|---|---|
|
Type: | ✅ | Unique ID for the ATS-employer registration. Set this value to the |
| ✅ | Features to update. Omitted features and features updated to their current status remain unchanged. Duplicates are not allowed. Set these features to
|
Response – Update registration
The response returns EmployerRegistration.
List registrations
Request – List registrations
Call FindRegisteredEmployers to list an employer's registrations and get the registration ID for use in manageFeaturesForEmployer and deregisterEmployer.
Authenticate with a 2‑legged OAuth token. Your application authenticates directly with Indeed's authorization server without user interaction.
See 2‑legged OAuth token.
Provide these input fields:
| Field | Required | Description |
|---|---|---|
|
Type: | ✅ | Partner-provided ID that uniquely identifies the employer. Use this value to list an employer's registrations. |
|
Type: | ⬜ | ATS-employer registration ID. Use this value to show a specific registration. Set this value to the |
Response – List registrations
Returns an array of EmployerRegistration objects matching the filter.
Deregister employer
Request – Deregister employer
To delete a registration and disable its features, call deregisterEmployer.
Authenticate with a 2‑legged OAuth token. Your application authenticates directly with Indeed's authorization server without user interaction.
See 2‑legged OAuth token.
Also deletes any employer or candidate data transmitted to Indeed through this registration.
Provide this input field:
| Field | Required | Description |
|---|---|---|
|
Type: | ✅ | ATS-employer registration ID. Set this value to the |
Deregistration is permanent. You cannot recover the registration or its stored candidate data. Employers can reregister to get a new registration ID.
Response – Deregister employer
Returns the DeregisterEmployerPartnerAtsSyncEmployerRegistrationPayload object.
Troubleshoot errors
To troubleshoot:
-
OAuth errors that can occur before you access GraphQL, see Troubleshoot OAuth errors.
-
GraphQL errors, see Troubleshoot GraphQL errors.
-
Issues that occur when posting jobs, see Why don't my jobs appear on Indeed?.