---
title: Finish Transaction
framework: appstoreserverapi
role: symbol
role_heading: Web Service Endpoint
path: appstoreserverapi/finish-transaction
---

# Finish Transaction

Notifies the App Store server that your system has finished processing the customer’s transaction.

## URL

POST https://api.storekit.apple.com/inApps/v1/transactions/{transactionId}/finish

## Sandbox URL

POST https://api.storekit-sandbox.apple.com/inApps/v1/transactions/{transactionId}/finish

## Path Parameters

transactionId: The transaction identifier of the transaction to mark as finished.

## Response Codes

200 OK: Request succeeded. 400 Bad Request: The request is invalid and can’t be accepted. 401 Unauthorized: The JSON Web Token (JWT) in the authorization header is invalid. For more information, see Generating JSON Web Tokens for API requests. 404 Not Found: The transaction identifier wasn’t found. 429 : The request exceeded the rate limit. For more information, see Identifying rate limits. 500 Internal Server Error: Server error. Try again later.

## Mentioned in

App Store Server API changelog Identifying rate limits

## Discussion

Discussion If you manage entitlement logic on your server, your server can call Finish Transaction after it finishes providing the customer with the new content. If you call finish() in your app, there’s no need to call the Finish Transaction endpoint from your server.
