Disposition Sync API guide
Send job application disposition data to Indeed.
By using this API and its documentation and building an integration, you agree to the Additional API Terms and Guidelines.
Overview
The Disposition Sync API is a GraphQL API that ATS partners use to send disposition data to Indeed for both Indeed Apply and non-Indeed Apply jobs. Disposition data is any update a recruiter or hiring manager makes after a candidate applies, and the API supports all standard disposition statuses.
Integrating the API is required to submit disposition data. Send it with the partnerDisposition.send mutation, which lets you track each application from submission to final disposition. Indeed uses the data to improve job search for candidates and to give employers insight into their hiring.
Workflow
After you integrate the Disposition Sync API, complete these steps to send job application disposition data to Indeed:
1. Authenticate
When you become an Indeed partner, Indeed creates an app for your integration. Sign in to Partner Console to view the app and your OAuth credentials: client ID, secret, and a 3-legged OAuth authorization code. Exchange those credentials for an access token to authenticate API calls.
2. Send disposition data for Indeed Apply jobs
To call the API, use the send mutation in the partnerDisposition namespace.
Include one of these identifiers in the PartnerDispositionIdentifierInput input object:
| Identifier | Description |
|---|---|
universalApplyId | Unique identifier for the job application in a standard format, such as Indeed Apply ID, Indeed Tracking Token Key (ITTK), or ApplyID. |
indeedApplyID | Indeed-assigned unique ID for Indeed Apply jobs. Identifies the candidate and the job. |
ittk | Indeed Tracking Token Key (ITTK). Tracks the job application. |
alternateIdentifier | Alternate identifiers for the job and job seeker in the disposition.
|
mutation { partnerDisposition { send(input: { dispositions: [{ dispositionStatus: HIRED, rawDispositionStatus: "Hired", rawDispositionDetails: "", identifiedBy: { indeedApplyID: "12345", }, atsName: "MyATS", statusChangeDateTime: "2023-04-25T13:01:01.01Z", }, { dispositionStatus: HIRED, rawDispositionStatus: "Hired", rawDispositionDetails: "", identifiedBy: { indeedApplyID: "12345", }, atsName: "MyATS", statusChangeDateTime: "2023-04-25T13:01:01.01Z", } ], }) { numberGoodDispositions failedDispositions { identifiedBy { indeedApplyID } rationale } } }}The SendPartnerDispositionInput input object requires the dispositions field, which holds an array of PartnerDispositionInput objects. All fields are required except rawDispositionDetails.
The partnerDisposition.send mutation returns the SendPartnerDispositionPayload type, which includes:
- The number of dispositions that succeeded.
- An array of any failed dispositions. Each entry includes the application identifiers and the failure reason.
3. Troubleshoot errors
For OAuth errors, which occur before you reach GraphQL, see Troubleshoot OAuth errors.
For GraphQL errors, see Troubleshoot GraphQL errors.
See also
References
GraphQL API references
partnerDisposition.send— Sends disposition data for Indeed Apply jobs.