adjust-icon

SDK secrets endpoint

Use the SDK secrets endpoints to manage SDK secrets for your apps. You can revoke outdated secrets, revoke specific secrets, or reactivate previously revoked secrets.

Revoke outdated secrets

Revoke all SDK secrets that are older than a specified version. This is useful for cleaning up old secrets after migrating to a newer SDK signature version.

API protocol

Endpoint: https://automate.adjust.com/app-automation/app/{app_token}/secrets/revoke_outdated

Method: POST

Request body: Revoke Outdated Request

Response: Revoke Outdated Response

Parameters

ParameterData typeInRequiredDescription
app_tokenStringPathYesThe Adjust app token.
min_active_versionIntegerBodyNoMinimum version to keep active. Secrets older than this version are revoked. Default: 3.
forceBooleanBodyNoSet to true to revoke secrets even if it would leave no active secrets. Default: false.

Behavior

  • Secrets with a version less than min_active_version are revoked.
  • If revoking would result in no active secrets remaining, the operation fails unless force: true is set.
  • The default min_active_version of 3 means v1 and v2 secrets are revoked, keeping only v3 secrets active.

Example

Revoke all secrets older than v3

Request - cURL
curl --location 'https://automate.adjust.com/app-automation/app/abc123xyz/secrets/revoke_outdated' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"min_active_version": 3
}'
Response
{
"combined_secrets": {
"enforce_install_signing": true,
"secrets": [
{
"id": 1001,
"name": "Legacy Secret",
"active": false,
"value": ["secret1", "secret2", "info1", "info2"],
"internal_version": 3,
"version": 2,
"created_at": "2023-01-15T10:30:00Z",
"updated_at": "2024-06-15T14:00:00Z"
},
{
"id": 2001,
"platform": "android",
"label": "Android SDK Secret",
"active": true,
"algorithm": "adj1",
"internal_version": "3.47.0",
"version": 3,
"created_at": "2024-06-01T12:00:00Z",
"updated_at": "2024-06-01T12:00:00Z"
}
]
},
"revoked": 1
}

Force revoke even with no remaining active secrets

Request - cURL
curl --location 'https://automate.adjust.com/app-automation/app/abc123xyz/secrets/revoke_outdated' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"min_active_version": 3,
"force": true
}'

Revoke a specific secret

Revoke a specific SDK secret by its ID. This deactivates the secret immediately.

API protocol

Endpoint: https://automate.adjust.com/app-automation/app/{app_token}/secrets/{secret_id}/revoke

Method: POST

Response: HTTP 202 Accepted on success

Parameters

ParameterData typeInRequiredDescription
app_tokenStringPathYesThe Adjust app token.
secret_idIntegerPathYesThe ID of the secret to revoke.

Example

Request - cURL
curl --location --request POST 'https://automate.adjust.com/app-automation/app/abc123xyz/secrets/1001/revoke' \
--header 'Authorization: Bearer {your-adjust-api-token}'
Response
HTTP/1.1 202 Accepted

Reactivate a secret

Reactivate a previously revoked SDK secret. This makes the secret active again.

API protocol

Endpoint: https://automate.adjust.com/app-automation/app/{app_token}/secrets/{secret_id}/reactivate

Method: POST

Response: HTTP 202 Accepted on success

Parameters

ParameterData typeInRequiredDescription
app_tokenStringPathYesThe Adjust app token.
secret_idIntegerPathYesThe ID of the secret to reactivate.

Example

Request - cURL
curl --location --request POST 'https://automate.adjust.com/app-automation/app/abc123xyz/secrets/1001/reactivate' \
--header 'Authorization: Bearer {your-adjust-api-token}'
Response
HTTP/1.1 202 Accepted

Viewing all secrets

To view all SDK secrets for an app, use the App Settings endpoint with the combined_secrets section:

Request - cURL
curl --location 'https://automate.adjust.com/app-automation/app/abc123xyz/settings?sections=combined_secrets' \
--header 'Authorization: Bearer {your-adjust-api-token}'
Response
{
"combined_secrets": {
"enforce_install_signing": true,
"secrets": [
{
"id": 1001,
"name": "Legacy Secret v2",
"active": true,
"value": ["secret1", "secret2", "info1", "info2"],
"internal_version": 3,
"version": 2,
"created_at": "2023-01-15T10:30:00Z",
"updated_at": "2023-01-15T10:30:00Z"
},
{
"id": 2001,
"platform": "android",
"label": "Android SDK Secret",
"active": true,
"algorithm": "adj1",
"internal_version": "3.47.0",
"version": 3,
"created_at": "2024-06-01T12:00:00Z",
"updated_at": "2024-06-01T12:00:00Z"
},
{
"id": 2002,
"platform": "ios",
"label": "iOS SDK Secret",
"active": true,
"algorithm": "adj1",
"internal_version": "3.47.0",
"version": 3,
"created_at": "2024-06-01T12:00:00Z",
"updated_at": "2024-06-01T12:00:00Z"
}
]
}
}

Data models

Revoke Outdated Request

ParameterData typeDescription
min_active_versionIntegerMinimum version to keep active. Secrets older than this are revoked. Default: 3.
forceBooleanRevoke secrets even if no active secrets would remain. Default: false.

Revoke Outdated Response

ParameterData typeDescription
combined_secrets*ObjectUpdated secrets state after revocation.
revoked*IntegerNumber of secrets that were revoked.

Combined Secrets

ParameterData typeDescription
enforce_install_signing*BooleanWhether to reject unsigned installs.
secrets*Array[Object]List of all SDK secrets including the legacy one.

Legacy Secret

ParameterData typeDescription
id*IntegerSecret ID.
nameStringSecret name/label.
active*BooleanWhether the secret is active.
value*Array[String]Secret values (4 elements).
internal_version*IntegerSDK Signature library version.
version*IntegerSDK secret version (1 or 2).
created_at*StringISO datetime when the secret was created.
updated_at*StringISO datetime when the secret was last updated.

SDK Secret

ParameterData typeDescription
id*IntegerSecret ID.
platform*StringTarget platform (android or ios).
label*StringHuman-readable label for the secret.
active*BooleanWhether the secret is active.
algorithm*StringSignature algorithm used.
internal_version*StringSDK Signature library version.
version*IntegerSDK secret version (3 or higher).
created_at*StringISO datetime when the secret was created.
updated_at*StringISO datetime when the secret was last updated.