Contents

Get Seat Info

Get the seat counts and the seat claims of a group subscription that uses developer-hosted invitations.

URL

GET https://api.storekit.apple.com/groups/v1/transactions/{originalTransactionId}/seats

Sandbox URL

GET https://api.storekit-sandbox.apple.com/groups/v1/transactions/{originalTransactionId}/seats

Path Parameters

NameTypeDescription
originalTransactionId RequiredoriginalTransactionId

The original transaction identifier of the group purchaser’s subscription.

Response Codes

StatusReasonTypeDescription
200OK
Content-Type: application/json
GetSeatInfoResponse

Request succeeded.

400Bad Request
Content-Type: application/json
(InvalidTransactionIdError | AppTransactionIdNotSupportedError | FamilyTransactionNotSupportedError | BundleTransactionIdNotSupportedError | TransactionNotDevManagedGroupError)

Invalid request. See the error code for more information.

401Unauthorized

The JSON Web Token (JWT) in the authorization header is invalid. For more information, see Generating JSON Web Tokens for API requests.

403Forbidden
Content-Type: application/json
SubscriptionNotActiveError

The subscription isn’t active.

404Not Found
Content-Type: application/json
OriginalTransactionIdNotFoundError

The original transaction identifier wasn’t found.

429
Content-Type: application/json
RateLimitExceededError

The request exceeded the rate limit.

500Internal Server Error
Content-Type: application/json
(GeneralInternalError | GeneralInternalRetryableError)

Server error. Try again later.

Mentioned in

Discussion

Call this endpoint only for an active group subscription that uses developer-hosted invitations, where the invitationManagement value in the purchaser’s transaction is DEVELOPER. Your app hosts the invitations to these subscriptions, and you claim a seat for each member by calling the Claim Seat endpoint.

The response, GetSeatInfoResponse, contains:

  • The total number of seats in the subscription, totalSeatCount.

  • The number of seats that are available to claim, availableSeatCount.

  • The identifiers of the active seat claims, in the assignedSeatClaimIds array.

The first seat always belongs to the group purchaser, so it’s never available to claim.

Use this endpoint to show the number of available seats in your invitation experience, and to recover the seatClaimId of a claimed seat if your records don’t contain it.

If the group purchaser reduces the number of seats, the App Store doesn’t unclaim any seats when the subscription renews. As a result, the number of claimed seats can be greater than totalSeatCount. To release seats, call the Unclaim Seat endpoint, which describes how to handle a smaller group at renewal.

See Also

Seat management