Skip to content
EntitlerDocs

POST/v1/customers/{external_id}/app-store/purchases:check

Check an App Store purchase

Verifies a transaction signed by the App Store for the customer: its signature, that it belongs to the environment's App Store connection for its bundle ID and that its environment is one the Entitler environment admits. Links the purchase when nobody owns it, applies the connection's restore policy when another customer does, and follows it into the customer's plans. Needs customers:write or billing:self.

curl -X POST 'https://api.entitler.co/v1/customers/ada/app-store/purchases:check' \
  -H "Authorization: Bearer $ENTITLER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"restore":true,"signedTransaction":"signedTransaction","target":{"environmentId":"environmentId","projectId":"projectId","teamId":"teamId"}}'

Credentials

Send any one of these:

  • Bearer token

Path parameters

NameTypeDescription
external_idrequiredstringThe customer's external ID, or me for the customer a customer token or identity token names.

Request body

object

  • restoreboolean
  • signedTransactionstring
  • targetProductTarget
    • environmentIdstring
    • projectIdstring
    • teamIdstring

Responses

200The CheckAppStorePurchaseResponse message.

CheckAppStorePurchaseResponse

  • connectionIdstringrequired
  • originalTransactionIdstringrequired
  • outcomeAppStorePurchaseCheckOutcomerequired

    One of APP_STORE_PURCHASE_CHECK_OUTCOME_UNSPECIFIED, APP_STORE_PURCHASE_CHECK_OUTCOME_LINKED, APP_STORE_PURCHASE_CHECK_OUTCOME_ALREADY_LINKED, APP_STORE_PURCHASE_CHECK_OUTCOME_TRANSFERRED.

ErrorA refusal, with the HTTP status of its gRPC code.

Error

  • errorobjectrequired
    • codestringrequired
    • parametersobjectrequired

      Each value: string

    • reasonstringor nullrequired