REST API
Applications
Applications: 7 endpoints of the REST API.
/appsGet the apps of an environment
Every platform that is configured (null for the others), the environment-wide validation report and the Flutter setup snippets.
Secret key scope (any of): apps:write
Responses
200 The apps.
| Field | Type | Description |
|---|---|---|
environmentrequired | "test" | "live" | |
link_hostsrequired | string[] | Hosts the app opens links on; they go into the entitlement and the manifest. |
iosrequired | object | null | Null until configured. |
androidrequired | object | null | Null until configured. |
webrequired | object | null | Null until configured. |
issuesrequired | object[] | Validation report: |
issues[].levelrequired | "error" | "warning" | |
issues[].coderequired | "ios_app_store_id_required" | "ios_min_os_version_unsupported" | "ios_path_pattern_matches_no_link" | "android_single_fingerprint" | "android_play_signing_key_missing" | "android_debug_key_in_live" | |
issues[].platformrequired | "ios" | "android" | "web" | |
issues[].fieldrequired | string | null | |
issues[].messagerequired | string | |
issues[].help_urlrequired | string | null | |
flutterrequired | object | |
flutter.pubspecrequired | string |
|
flutter.dart_initrequired | string |
|
Example
curl -X GET "https://api.becklinks.com/v1/apps" \
-H "Authorization: Bearer $SECRET_KEY"/apps/androidGet the Android app
Secret key scope (any of): apps:write
Responses
200 The Android app.
| Field | Type | Description |
|---|---|---|
applicationrequired | object | |
application.environmentrequired | "test" | "live" | |
application.package_namerequired | string | |
application.play_store_urlrequired | string | null | |
application.custom_schemerequired | string | null | |
application.fingerprintsrequired | object[] | |
application.fingerprints[].sha256required | string | Uppercase, colon-separated. |
application.fingerprints[].labelrequired | "play_signing" | "upload" | "debug" | null | |
application.app_namerequired | string | null | Store listing name, filled in by the metadata worker; null until then. |
application.icon_urlrequired | string | null | Store listing icon, same source. |
application.created_atrequired | string (date-time) | |
application.updated_atrequired | string (date-time) | |
issuesrequired | object[] | Validation report: |
issues[].levelrequired | "error" | "warning" | |
issues[].coderequired | "ios_app_store_id_required" | "ios_min_os_version_unsupported" | "ios_path_pattern_matches_no_link" | "android_single_fingerprint" | "android_play_signing_key_missing" | "android_debug_key_in_live" | |
issues[].platformrequired | "ios" | "android" | "web" | |
issues[].fieldrequired | string | null | |
issues[].messagerequired | string | |
issues[].help_urlrequired | string | null | |
outputsrequired | object | |
outputs.assetlinksrequired | object[] | Preview of |
outputs.assetlinks[].relationrequired | string[] | |
outputs.assetlinks[].targetrequired | object | |
outputs.assetlinks[].target.namespacerequired | "android_app" | |
outputs.assetlinks[].target.package_namerequired | string | |
outputs.assetlinks[].target.sha256_cert_fingerprintsrequired | string[] | |
outputs.android_manifestrequired | string | Elements for the MainActivity |
outputs.flutterrequired | object | |
outputs.flutter.pubspecrequired | string |
|
outputs.flutter.dart_initrequired | string |
|
Example
curl -X GET "https://api.becklinks.com/v1/apps/android" \
-H "Authorization: Bearer $SECRET_KEY"/apps/androidSet the Android app
Creates or replaces the Android app of this environment: package name, 1 to 20 SHA-256 signing certificate fingerprints (any letter case, normalized to AA:BB:…) and an optional Play Store URL. The response carries the validation report (issues) and the generated files to copy into the app.
Secret key scope (any of): apps:write
Request body
| Field | Type | Description |
|---|---|---|
package_namerequired | string | |
play_store_url | string | null | |
custom_scheme | string | null | |
fingerprintsrequired | object[] | |
fingerprints[].sha256required | string | |
fingerprints[].label | "play_signing" | "upload" | "debug" | null |
Responses
200 The saved Android app.
| Field | Type | Description |
|---|---|---|
applicationrequired | object | |
application.environmentrequired | "test" | "live" | |
application.package_namerequired | string | |
application.play_store_urlrequired | string | null | |
application.custom_schemerequired | string | null | |
application.fingerprintsrequired | object[] | |
application.fingerprints[].sha256required | string | Uppercase, colon-separated. |
application.fingerprints[].labelrequired | "play_signing" | "upload" | "debug" | null | |
application.app_namerequired | string | null | Store listing name, filled in by the metadata worker; null until then. |
application.icon_urlrequired | string | null | Store listing icon, same source. |
application.created_atrequired | string (date-time) | |
application.updated_atrequired | string (date-time) | |
issuesrequired | object[] | Validation report: |
issues[].levelrequired | "error" | "warning" | |
issues[].coderequired | "ios_app_store_id_required" | "ios_min_os_version_unsupported" | "ios_path_pattern_matches_no_link" | "android_single_fingerprint" | "android_play_signing_key_missing" | "android_debug_key_in_live" | |
issues[].platformrequired | "ios" | "android" | "web" | |
issues[].fieldrequired | string | null | |
issues[].messagerequired | string | |
issues[].help_urlrequired | string | null | |
outputsrequired | object | |
outputs.assetlinksrequired | object[] | Preview of |
outputs.assetlinks[].relationrequired | string[] | |
outputs.assetlinks[].targetrequired | object | |
outputs.assetlinks[].target.namespacerequired | "android_app" | |
outputs.assetlinks[].target.package_namerequired | string | |
outputs.assetlinks[].target.sha256_cert_fingerprintsrequired | string[] | |
outputs.android_manifestrequired | string | Elements for the MainActivity |
outputs.flutterrequired | object | |
outputs.flutter.pubspecrequired | string |
|
outputs.flutter.dart_initrequired | string |
|
Example
curl -X PUT "https://api.becklinks.com/v1/apps/android" \
-H "Authorization: Bearer $SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"package_name":"string","fingerprints":[{"sha256":"string"}]}'/apps/iosGet the iOS app
Secret key scope (any of): apps:write
Responses
200 The iOS app.
| Field | Type | Description |
|---|---|---|
applicationrequired | object | |
application.environmentrequired | "test" | "live" | |
application.bundle_idrequired | string | |
application.apple_team_idrequired | string | |
application.app_store_idrequired | string | null | |
application.min_os_versionrequired | string | null | |
application.allowed_path_patternsrequired | string[] | null | |
application.custom_schemerequired | string | null | |
application.app_namerequired | string | null | Store listing name, filled in by the metadata worker; null until then. |
application.icon_urlrequired | string | null | Store listing icon, same source. |
application.created_atrequired | string (date-time) | |
application.updated_atrequired | string (date-time) | |
issuesrequired | object[] | Validation report: |
issues[].levelrequired | "error" | "warning" | |
issues[].coderequired | "ios_app_store_id_required" | "ios_min_os_version_unsupported" | "ios_path_pattern_matches_no_link" | "android_single_fingerprint" | "android_play_signing_key_missing" | "android_debug_key_in_live" | |
issues[].platformrequired | "ios" | "android" | "web" | |
issues[].fieldrequired | string | null | |
issues[].messagerequired | string | |
issues[].help_urlrequired | string | null | |
outputsrequired | object | |
outputs.aasarequired | object | Preview of |
outputs.aasa.applinksrequired | object | |
outputs.aasa.applinks.detailsrequired | object[] | |
outputs.aasa.applinks.details[].appIDsrequired | string[] | |
outputs.aasa.applinks.details[].componentsrequired | object[] | |
outputs.xcode_entitlementsrequired | string |
|
outputs.info_plistrequired | string | Keys to add to |
outputs.flutterrequired | object | |
outputs.flutter.pubspecrequired | string |
|
outputs.flutter.dart_initrequired | string |
|
Example
curl -X GET "https://api.becklinks.com/v1/apps/ios" \
-H "Authorization: Bearer $SECRET_KEY"/apps/iosSet the iOS app
Creates or replaces the iOS app of this environment: bundle ID, Apple Team ID, App Store ID and the path patterns the app opens. The App Store ID is optional in test and required in live (422 otherwise). The response carries the validation report (issues) and the generated files to copy into the app.
Secret key scope (any of): apps:write
Request body
| Field | Type | Description |
|---|---|---|
bundle_idrequired | string | |
apple_team_idrequired | string | |
app_store_id | string | null | |
min_os_version | string | null | |
allowed_path_patterns | string[] | null | |
custom_scheme | string | null |
Responses
200 The saved iOS app.
| Field | Type | Description |
|---|---|---|
applicationrequired | object | |
application.environmentrequired | "test" | "live" | |
application.bundle_idrequired | string | |
application.apple_team_idrequired | string | |
application.app_store_idrequired | string | null | |
application.min_os_versionrequired | string | null | |
application.allowed_path_patternsrequired | string[] | null | |
application.custom_schemerequired | string | null | |
application.app_namerequired | string | null | Store listing name, filled in by the metadata worker; null until then. |
application.icon_urlrequired | string | null | Store listing icon, same source. |
application.created_atrequired | string (date-time) | |
application.updated_atrequired | string (date-time) | |
issuesrequired | object[] | Validation report: |
issues[].levelrequired | "error" | "warning" | |
issues[].coderequired | "ios_app_store_id_required" | "ios_min_os_version_unsupported" | "ios_path_pattern_matches_no_link" | "android_single_fingerprint" | "android_play_signing_key_missing" | "android_debug_key_in_live" | |
issues[].platformrequired | "ios" | "android" | "web" | |
issues[].fieldrequired | string | null | |
issues[].messagerequired | string | |
issues[].help_urlrequired | string | null | |
outputsrequired | object | |
outputs.aasarequired | object | Preview of |
outputs.aasa.applinksrequired | object | |
outputs.aasa.applinks.detailsrequired | object[] | |
outputs.aasa.applinks.details[].appIDsrequired | string[] | |
outputs.aasa.applinks.details[].componentsrequired | object[] | |
outputs.xcode_entitlementsrequired | string |
|
outputs.info_plistrequired | string | Keys to add to |
outputs.flutterrequired | object | |
outputs.flutter.pubspecrequired | string |
|
outputs.flutter.dart_initrequired | string |
|
Example
curl -X PUT "https://api.becklinks.com/v1/apps/ios" \
-H "Authorization: Bearer $SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"bundle_id":"string","apple_team_id":"string"}'/apps/webGet the web defaults
Secret key scope (any of): apps:write
Responses
200 The web defaults.
| Field | Type | Description |
|---|---|---|
applicationrequired | object | |
application.environmentrequired | "test" | "live" | |
application.website_urlrequired | string | |
application.fallback_urlrequired | string | null | |
application.desktop_behaviorrequired | "web_page" | "qr_handoff" | "store_page" | |
application.created_atrequired | string (date-time) | |
application.updated_atrequired | string (date-time) | |
issuesrequired | object[] | Validation report: |
issues[].levelrequired | "error" | "warning" | |
issues[].coderequired | "ios_app_store_id_required" | "ios_min_os_version_unsupported" | "ios_path_pattern_matches_no_link" | "android_single_fingerprint" | "android_play_signing_key_missing" | "android_debug_key_in_live" | |
issues[].platformrequired | "ios" | "android" | "web" | |
issues[].fieldrequired | string | null | |
issues[].messagerequired | string | |
issues[].help_urlrequired | string | null |
Example
curl -X GET "https://api.becklinks.com/v1/apps/web" \
-H "Authorization: Bearer $SECRET_KEY"/apps/webSet the web defaults
Creates or replaces the website URL, the fallback URL (defaults to the website URL) and what desktop visitors get. Link-level URLs override these.
Secret key scope (any of): apps:write
Request body
| Field | Type | Description |
|---|---|---|
website_urlrequired | string | |
fallback_url | string | null | |
desktop_behaviorrequired | "web_page" | "qr_handoff" | "store_page" |
Responses
200 The saved web defaults.
| Field | Type | Description |
|---|---|---|
applicationrequired | object | |
application.environmentrequired | "test" | "live" | |
application.website_urlrequired | string | |
application.fallback_urlrequired | string | null | |
application.desktop_behaviorrequired | "web_page" | "qr_handoff" | "store_page" | |
application.created_atrequired | string (date-time) | |
application.updated_atrequired | string (date-time) | |
issuesrequired | object[] | Validation report: |
issues[].levelrequired | "error" | "warning" | |
issues[].coderequired | "ios_app_store_id_required" | "ios_min_os_version_unsupported" | "ios_path_pattern_matches_no_link" | "android_single_fingerprint" | "android_play_signing_key_missing" | "android_debug_key_in_live" | |
issues[].platformrequired | "ios" | "android" | "web" | |
issues[].fieldrequired | string | null | |
issues[].messagerequired | string | |
issues[].help_urlrequired | string | null |
Example
curl -X PUT "https://api.becklinks.com/v1/apps/web" \
-H "Authorization: Bearer $SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"website_url":"string","desktop_behavior":"web_page"}'