Flywire API Basics

The Flywire API is an HTTP-based REST API that uses API Keys for authorization.

API request and response bodies are formatted in JSON.

Base URL

The base URL for the Flywire API is

https://api-platform.flywire.com/payments/v1/
You can check if the Flywire API is up and running on the status page: https://status.flywire.com

Registering for the Flywire API

You need to register an application in order to make requests to the Flywire API. To be able to register, you have to be a client of Flywire and have one or more recipients. Your application will have access to all the recipients that belong to a client.

Registering an application is a manual process at the moment. Please contact [email protected] to register and get the API Key for your application as well as a Shared Secret for validating notifications.

Authenticating your Requests

All requests to the Flywire API need to be authenticated with an API Key. You get your unique API Key after you’ve registered for the Flywire API.

To include your API Key in your requests, add your API Key in the header in the format:
X-Authentication-Key: {api_key}

curl https://base-url-placeholder/recipient
-X GET \
-H "Content-Type: application/json" \
-H "X-Authentication-Key: {api_key}" \

 

Format of Requests

Requests to the API are composed of the following components:

HTTP Method

GET: Retrieves data from a resource

POST: Creates a new entry

PUT: Fully updates a resource

PATCH: Partially updates a resource

DELETE: Deletes an existing resource

HTTP Parameters

Parameters that are added to the URL as query parameters. Some requests require HTTP parameters, some don't.

HTTP Headers

"Content-Type: application/json"

"X-Authentication-Key: {Your API Key}"

Base URL

Production: https://api-platform.flywire.com/payments/v1/

Sandbox: https://api-platform-sandbox.flywire.com/payments/v1/

Resource

The resource to read or update.

Example: /orders

Body

A JSON required for most POST, PUT and PATCH requests.

curl https://base-url-placeholder/payments/UUI754118889/authorization_adjustments
-X POST \
-H "Content-Type: application/json" \
-H "X-Authentication-Key: {api_key}" \
-d '{
    "amount": 70000
}'

Format of Responses

Flywire uses conventional HTTP response codes to indicate the success or failure of an API request. Each request returns a success or error HTTP status code.

Success response codes (2xx)

Codes in the 2xx range indicate success.

Status code Description
200 - OK Request has been successfully processed.
201 - Created Create resource operation successfully performed.
204 - No content The update operation completed successfully. No response body returned.

Error response codes (4xx and 5xx)

See Error Handling Guide for details about error responses.

Rate Limits

The Flywire API limits how many requests you can send in a certain time to avoid traffic spikes.

Rate limits are enforced per IP address, not per application.

If you exceed the limit, you will be blocked from accessing the Flywire API for 10 minutes.

 

Environment Rate Limit
Flywire API Production

50 requests per minute

Flywire API Sandbox

50 requests per minute