Contents

Associate Seat

Associate a customer with a claimed seat in a group subscription that uses developer-hosted invitations.

URL

POST https://api.storekit.apple.com/groups/v1/transactions/{originalTransactionId}/seats/{seatClaimId}/associate

Sandbox URL

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

Path Parameters

NameTypeDescription
originalTransactionId RequiredoriginalTransactionId

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

seatClaimId RequiredseatClaimId

The identifier of the seat claim, which the Claim Seat endpoint returns.

Response Codes

StatusReasonTypeDescription
200OK

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 | AppTransactionIdNotFoundError | SeatClaimIdNotFoundError)

The original transaction identifier, the app transaction identifier, or the seat claim 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. Use it to tell the App Store which customer occupies a seat that you already claimed, when you learn the customer’s appTransactionId after the claim. Provide the appTransactionId in an AssociateSeatRequest.

If you know the customer’s appTransactionId when you claim the seat, include it in the ClaimSeatRequest instead; you don’t need to call this endpoint.

Associating a customer with a seat doesn’t grant them access. You’re responsible for providing access to the subscription.

HTTP Body

The request body that contains the app transaction identifier of the customer who occupies the seat.

See Also

Seat management