App Encryption Declarations
Read the app information of an app encryption declaration
Read app information as a flat JSON object.
/legacy/encryption-declarations/{encryptionDeclarationId}/appProposed · Legacy read design · Adapter not implemented
Request
Routes are relative to your connection. Use a facade API key; the service manages Apple authentication.
BASE='https://asc.example.com/v1/connections/conn_example'
curl --fail-with-body "$BASE/legacy/encryption-declarations/encryption_declaration_123/app" \
-H "Authorization: Bearer $ASC_FACADE_KEY"const base = "https://asc.example.com/v1/connections/conn_example";
const response = await fetch(`${base}/legacy/encryption-declarations/encryption_declaration_123/app`, {
headers: { Authorization: `Bearer ${process.env.ASC_FACADE_KEY}` }
});
const body = await response.json();
if (!response.ok) {
throw new Error(body.error?.message ?? `HTTP ${response.status}`);
}
console.log(body);import json
import os
from urllib.request import Request, urlopen
from urllib.error import HTTPError
base = "https://asc.example.com/v1/connections/conn_example"
request = Request(
f"{base}/legacy/encryption-declarations/encryption_declaration_123/app",
headers={"Authorization": f"Bearer {os.environ['ASC_FACADE_KEY']}"},
)
try:
with urlopen(request) as response:
print(json.load(response))
except HTTPError as error:
detail = json.load(error)
raise RuntimeError(detail["error"]["message"]) from errorasc.example.com is a placeholder for your deployment. Examples use fictional IDs.
Path parameters
| Name | Type | Description |
|---|---|---|
| encryptionDeclarationId | string | The selected resource’s ID. |
Query parameters
| Name | Type | Description |
|---|---|---|
| fields | string | Comma-separated attribute names to return. This selects read fields and does not expand relationships. Multiple values are comma-separated.ValuesaccessibilityUrl, name, bundleId, sku, primaryLocale, isOrEverWasMadeForKids, subscriptionStatusUrl, subscriptionStatusUrlVersion, subscriptionStatusUrlForSandbox, subscriptionStatusUrlVersionForSandbox, contentRightsDeclaration, streamlinedPurchasingEnabled |
Response
One flat object for the selected resource.
{
"id": "1234567890",
"accessibilityUrl": "https://example.com/asset",
"name": "Example Notes",
"bundleId": "com.example.notes",
"sku": "example-ios",
"primaryLocale": "en-US"
}Illustrative response. Optional read fields may be absent or null; unknown enum values are preserved.
Response fields
| Name | Type | Description |
|---|---|---|
| id | string | Apple’s resource ID. Keep this string unchanged when addressing a resource. |
| accessibilityUrl | string · uri | The app’s accessibility-information website. |
| name | string | The resource’s name. An app’s localized name is read from its app-info localization. |
| bundleId | string | The app’s bundle identifier, such as com.example.notes. |
| sku | string | The identifier you assigned to the app in App Store Connect. |
| primaryLocale | string | The app’s primary locale. It does not cause automatic locale fallback. |
| isOrEverWasMadeForKids | boolean | Whether Apple records this app as having been made for kids. |
| subscriptionStatusUrl | string · uri | The production server-notification URL configured for subscriptions. |
| subscriptionStatusUrlVersion | string | The notification payload version configured for production.ValuesV1, V2 |
| subscriptionStatusUrlForSandbox | string · uri | The sandbox server-notification URL configured for subscriptions. |
| subscriptionStatusUrlVersionForSandbox | string | The notification payload version configured for the sandbox.ValuesV1, V2 |
| contentRightsDeclaration | string | Whether the app uses third-party content.ValuesDOES_NOT_USE_THIRD_PARTY_CONTENT, USES_THIRD_PARTY_CONTENT |
| streamlinedPurchasingEnabled | boolean | Whether the app has streamlined purchasing enabled. |
| appStoreIconId | string | null | ID of the related app store icon. Present only when Apple supplies linkage; related objects are not loaded automatically. |
| ciProductId | string | null | ID of the related ci product. Present only when Apple supplies linkage; related objects are not loaded automatically. |
| betaLicenseAgreementId | string | null | ID of the related beta license agreement. Present only when Apple supplies linkage; related objects are not loaded automatically. |
| betaAppReviewDetailId | string | null | ID of the related beta app review detail. Present only when Apple supplies linkage; related objects are not loaded automatically. |
| endUserLicenseAgreementId | string | null | ID of the related end user license agreement. Present only when Apple supplies linkage; related objects are not loaded automatically. |
| subscriptionGracePeriodId | string | null | ID of the related subscription grace period. Present only when Apple supplies linkage; related objects are not loaded automatically. |
| gameCenterDetailId | string | null | ID of the related game center detail. Present only when Apple supplies linkage; related objects are not loaded automatically. |
Behavior
- This documents an older Apple resource contract. Its /legacy route keeps that shape separate from the current resource design; do not use it as an automatic fallback after a failed request.
Errors
| HTTP | Type | Description |
|---|---|---|
| 400 | invalid_query | Unsupported filter, sort, limit, or cursor. |
| 401 | unauthorized | Missing or invalid facade API key. |
| 403 | forbidden / upstream_forbidden | The caller or configured Apple key cannot read this resource. |
| 404 | resource_not_found | The requested resource, parent, or exact locale is absent or outside the caller’s scope. |
| 429 | rate_limited | A facade or Apple rate limit was reached. Respect Retry-After when returned. |
| 502–504 | upstream error | Apple authentication, response parsing, availability, or timeout failure; this is not an empty result. |
Apple mapping
Upstream route and translation
The adapter calls GET /v1/appEncryptionDeclarations/{id}/app. Read Apple’s original endpoint ↗
Flatten Apple’s attributes into each resource object. Expose supplied singleton linkage as IDs, with no automatic relationship traversal. Read access does not make these fields writable.
| Facade parameter | Type | Description |
|---|---|---|
| fields | query | fields[apps] |
Reviewed 2026-10-14 · OpenAPI 4.5.1