adjust-icon

Status endpoint

Use the /status endpoint to track the progress of background jobs. When you create or update an app, the settings migration runs as a background job. The API returns a ticket_token that you can use to check the job status.

Get ticket status

Retrieve the current status of a background job using the ticket token.

API protocol

Endpoint: https://automate.adjust.com/app-automation/status/{ticket_token}

Method: GET

Response: Ticket Status Response

Parameters

ParameterData typeInRequiredDescription
ticket_tokenStringPathYesThe ticket token returned from a previous API operation (e.g., app creation or update).

Example

Request - cURL
curl --location 'https://automate.adjust.com/app-automation/status/e5b07bb3-b5f3-40a8-8a2d-197d30b6beff' \
--header 'Authorization: Bearer {your-adjust-api-token}'
Response - Completed
{
"status": "completed",
"kind": "migration",
"result": {
"events": {
"successes": ["purchase", "registration", "level_complete"],
"failures": []
},
"partners": {
"successes": ["facebook", "google", "applovin"],
"failures": []
},
"trackers": {
"successes": ["facebook_installs", "google_installs"],
"failures": []
}
}
}
Response - In Progress
{
"status": "opened",
"kind": "migration",
"result": {
"events": {
"successes": ["purchase"],
"failures": []
}
}
}
Response - Failed
{
"status": "failed",
"kind": "migration",
"result": {
"events": {
"successes": ["purchase"],
"failures": []
},
"partners": {
"section": "partners",
"detail": "Could not be started because events section has failed"
}
}
}

Status values

StatusDescription
newThe job has been created but hasn’t started processing yet.
openedThe job is currently being processed.
completedThe job finished successfully. Check the result field for details.
failedThe job failed. Check the result field for error details.

Job types

The kind field indicates what type of operation the ticket is tracking:

KindDescription
migrationTemplate app migration (copying settings from template to target app)
update_appApp settings update (name, store ID, bundle ID changes)
create_signatureSDK signature generation
event_partial_updateEvent creation or update
partner_partial_updatePartner settings update
tracker_partial_updateTracker settings update
callback_partial_updateCallback URL update

Understanding results

The result object contains information about what succeeded and what failed during the job. The structure depends on the job type.

Migration results

For migration jobs, the result includes status for each app section that was processed:

Migration result structure
{
"result": {
"events": {
"successes": ["event_name_1", "event_name_2"],
"failures": []
},
"partners": {
"successes": ["facebook", "google"],
"failures": ["snapchat"]
},
"trackers": {
"successes": [],
"failures": [],
"skipped": "Partner facebook not configured in target app"
}
}
}

Partial update results

For partial update jobs, the result shows which items were successfully updated and which failed:

Partial update result
{
"result": {
"successes": [{ "app_token": "abc123", "name": "purchase" }],
"failures": [
{
"app_token": "xyz789",
"name": "invalid_event",
"detail": "Event not found"
}
]
}
}

Polling for status

When waiting for a job to complete, we recommend polling the status endpoint with a reasonable interval:

  1. Wait 2-3 seconds after receiving the ticket token before the first status check.
  2. Poll every 5-10 seconds until the status is completed or failed.
  3. Set a maximum timeout (e.g., 5 minutes) to avoid infinite polling.

Data models

Ticket Status Response

ParameterData typeDescription
status*StringCurrent status of the job. One of: new, opened, completed, failed.
kind*StringType of job. One of: migration, update_app, create_signature, event_partial_update, partner_partial_update, tracker_partial_update, callback_partial_update.
result*ObjectInformation about successes and failures during the job. Structure varies by job type.