Skip to content

Check whether an update is available for the client

Deprecated
GET
/v0.1/public/codepush/update_check
curl --request GET \
--url 'https://api.aetherpush.com/v0.1/public/codepush/update_check?deployment_key=example&app_version=example&is_companion=true'

Called by the React Native SDK at app launch (and periodically thereafter) to determine if a newer JS bundle is available.

Field names in the response use snake_case for backward compatibility with the react-native-code-push SDK.

Caches responses for short windows in Redis to amortize per-deployment fanout.

deployment_key
required
string

Deployment key (provided in app bundle config).

app_version
required
string

Binary version of the installed app (semver). The server tolerates plain integer versions (1) and missing-patch versions (1.0) by normalizing internally.

package_hash
string

SHA-256 hash of the currently installed JS bundle.

client_unique_id
string

Stable per-install identifier for rollout selection.

is_companion
string
Allowed values: true false
label
string

Update info (may indicate no update available).

Media typeapplication/json

Wrapper response for update_check. The actual update info lives under update_info.

object
update_info
required

Response shape consumed by the React Native SDK acquisition endpoint. Field names use snake_case for backward compatibility with react-native-code-push. Returned wrapped in { "update_info": ... }.

object
app_version
string
target_binary_range

Semver range of binary versions this update targets.

string
description
string
download_url
string format: uri
is_available
required
boolean
is_mandatory
boolean
label
string
package_hash
string
package_size
integer format: int64
should_run_binary_version
boolean
update_app_version
boolean
Example
{
"update_info": {
"is_available": true,
"is_mandatory": false,
"app_version": "1.0.0",
"target_binary_range": "1.0.0",
"package_hash": "9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8c",
"download_url": "https://example-cdn.com/bundles/abc123",
"package_size": 1234567,
"description": "Bug fixes",
"label": "v3",
"should_run_binary_version": false,
"update_app_version": false
}
}
Deprecation
string

Present on legacy acquisition endpoints. Signals the endpoint is deprecated in favor of its canonical /v1/public/aether/* successor. The value is the string true.

Example
true
Link
string

RFC 8288 link header with two link values: the canonical successor endpoint via rel=“successor-version”, and the CodePush migration guide via rel=“deprecation”.

Example
</v1/public/aether/update_check>; rel="successor-version", <https://docs.aetherpush.com/migration/codepush/>; rel="deprecation"

Invalid deployment_key or app_version.

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}