# Payment Transfer API
source: https://developer.mastercard.com/mastercard-send-person-to-person/documentation/api-reference/payment-transfer/index.md
### Create Transfers {#create-transfers}
This API creates a payment transfer (Payment Transaction) to send funds to a recipient (POST request).
For each payment transfer, generate a unique Transfer Reference ID (6-40 characters, alphanumeric and \* , - . _ \~ allowed) and provide it as the `transfer_reference` in the POST request. If the request is successful, the API response includes a unique system-generated Transfer ID (`id`).
If the Payment Transaction is successful, the API response (HTTP 201) `status` value is 'APPROVED'. For details on the possible status values, see [Transfer Status](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/response-error-codes/status/index.md). The API request `decline_details` query parameter determines the type of API response when a transaction is declined, which is either:
* 201 response with `status` value as 'DECLINED', if the query parameter was set to 'true'
* 402 error with `ReasonCode` as 'DECLINE' (the default)
Error responses are also returned for API requests that fail Mastercard Send validation or transaction processing, for example, when a required field is missing or a value is incorrectly formatted; see [Error Codes](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/response-error-codes/error-codes/index.md).
For guidance on detecting and responding to payment exception scenarios and using the `Repeat-Flag` header, see [Exception Management](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/tutorials-and-guides/exception-management/index.md). This service supports [Idempotency](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/tutorials-and-guides/repeat-flag/index.md#idempotency) when enabled.
### Retrieve Information {#retrieve-information}
You can also use this API to retrieve transfer details (GET request), including its status, by either:
* Transfer Reference, using the `transfer_reference` you provided when you created the transfer
* Transfer ID, using the system-generated `id` that was returned when you created the transfer
The GET response `status` field can provide additional values than the POST response. For example, it can convey whether the payment transfer had errors ('ERROR') or was declined ('DECLINED').
## Environment Domains {#environment-domains}
In January 2026, we introduced the following RNTZ (Regional Network Transit Zone) domains for this API. All users of this API service must transition to these domains.
* Sandbox
* MTF
* Production
```Sandbox
https://sandbox.api.move.mastercard.com/send/static
```
```MTF
https://sandbox.api.move.mastercard.com/send
```
```Production
https://api.move.mastercard.com/send
```
To form the full endpoint URL, combine the appropriate domain portion (shown above) with the path portion shown by the OpenAPI specification (see below).
Note: Mastercard will end support of the non-RNTZ domains for this API service on 31 March 2027, see the [API release notes](https://static.developer.mastercard.com/content/mastercard-send/release-notes/mastercard-send-release-notes-26.2.pdf#page=4). We strongly recommend existing customers transition to the RNTZ domains by updating their API endpoints and testing in MTF before implementing in the Production environment. Follow the [Mastercard Send RNTZ Migration Playbook](https://static.developer.mastercard.com/content/mastercard-send/uploads/Send_RNTZ_Migration_Playbook.pdf) instructions.
## API {#api}
This API supports JSON and XML requests. In the expandable sections below, JSON example requests and responses are shown. For XML examples, see [Sample Requests and Responses](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/api-reference/payment-transfer/index.md#sample-requests-and-responses). Use [HTTP Headers](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/api-basics/index.md#http-headers) to determine the response format. We recommend you log the Correlation ID (correlation-id) response header value for tracking purposes. When seeking support, providing the relevant Correlation ID may help resolve your inquiry more quickly.
The `partnerId` portion of the URL makes the request unique to a specific Originating Institution or Transaction Initiator:
* Sandbox API: Use any ID of valid length (32 characters), e.g. `ptnr_BEeCrYJHh2BXTXPy_PEtp-8DBOo`.
* MTF and Production APIs: Use the Partner Reference ID you receive when you [onboard](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/tutorials-and-guides/onboarding-checklist/index.md) to Mastercard Send.
The 'Required' indicator in the API specification relates to general API validation. Other fields may also be required depending on the payment type, region, program rules, or network rules.
API Specification: `https://static.developer.mastercard.com/content/mastercard-send-person-to-person/swagger/send-payment-transfer-api-swagger.yaml`
## Testing {#testing}
You can make API calls to the Sandbox server from an API tool or your application code or the [tutorials](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/tutorials-and-guides/index.md), which involves creating a Mastercard Developers project and using the Sandbox keys to generate the required OAuth 1.0a Authorization Header.
The sample POST request has a test `transfer_reference` value that should always get a success response from the Sandbox. For other `transfer_reference` values, the Sandbox detects when they are reused and will return an error response (non-idempotent behavior).
The Sandbox server returns simulated responses. For Sandbox and MTF testing guidance, see [Testing](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/testing/index.md).
## Sample Requests and Responses {#sample-requests-and-responses}
This section presents example API messages for each type of API call. For requests messages:
* **Format:** JSON / XML
* **HTTP Version:** 1.0 / 1.1
* **HTTP Header Parameters:** see [HTTP Headers](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/api-basics/index.md#http-headers)
Response messages also contain the content-type and content-length header parameters.
### POST {#post}
#### Request {#request}
**Sandbox URL:** https://sandbox.api.move.mastercard.com/send/static/v1/partners/{partnerId}/transfers/payment
**MTF URL:** https://sandbox.api.move.mastercard.com/send/v1/partners/{partnerId}/transfers/payment
**Production URL:** https://api.move.mastercard.com/send/v1/partners/{partnerId}/transfers/payment
* JSON
* XML
```JSON
{
"payment_transfer": {
"transfer_reference": "DEF123456",
"payment_type": "P2P",
"amount": "5300",
"currency": "USD",
"sender_account_uri": "pan:5102589999999921;exp=2077-02;cvc=123",
"sender": {
"first_name": "John",
"middle_name": "Tyler",
"last_name": "Jones",
"nationality": "USA",
"date_of_birth": "1999-12-30",
"account_type": "03",
"address": {
"line1": "123 Elm St",
"line2": "Apartment 9",
"city": "Chicago",
"country_subdivision": "IL",
"postal_code": "60618",
"country": "USA"
},
"phone": "11234567890",
"email": "test123@abcmail.com",
"government_ids": {
"government_id_uri": [
"ppn:123456789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon"
]
}
},
"additional_message": "DEV123456",
"funding_source": "DEBIT",
"transaction_purpose": "00",
"participation_id": "TERMINAL34728",
"canada_domestic_indicator": "true",
"token_cryptogram": {
"type": "CONTACTLESS_CHIP",
"value": "jjoutwsdgfdou124354ljlsdhgout968957",
"pan_sequence_number": "011"
},
"recipient_account_uri": "pan:5102589999999913;exp=2077-02;cvc=123",
"recipient": {
"first_name": "John",
"middle_name": "Tyler",
"last_name": "Jones",
"nationality": "USA",
"date_of_birth": "1999-12-30",
"account_type": "03",
"address": {
"line1": "435 Tucker St",
"line2": "Apartment 9",
"city": "St. Louis",
"country_subdivision": "MO",
"postal_code": "63103",
"country": "USA"
},
"phone": "11234567890",
"email": "test123@abcmail.com",
"government_ids": {
"government_id_uri": [
"ppn:123456789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon"
]
},
"name_on_account": "Jane Smith"
},
"payment_origination_country": "USA",
"sanction_screening_override": "true",
"channel": "WEB",
"statement_descriptor": "THANKYOU",
"device_id": "DEV123456",
"location": "state:MO",
"participant": {
"merchant_category_code": "6536",
"interchange_rate_designator": "A3",
"card_acceptor_id": "CardAcceptor123",
"customer_service_contact_info": "8005551234",
"transfer_acceptor_address": {
"line1": "123 Elm St",
"line2": "Apartment 9",
"city": "Chicago",
"country_subdivision": "IL",
"postal_code": "60618",
"country": "USA"
}
},
"transfer_priority": "SIP",
"transaction_local_date_time": "2023-06-07T09:49:31-05:00"
}
}
```
```XML
DEF123456
P2P
5300
USD
pan:5102589999999921;exp=2077-02;cvc=123
John
Tyler
Jones
USA
1999-12-30
03
123 Elm St
Apartment 9
Chicago
IL
60618
USA
11234567890
test123@abcmail.com
ppn:123456789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon
DEV123456
DEBIT
00
TERMINAL34728
true
CONTACTLESS_CHIP
jjoutwsdgfdou124354ljlsdhgout968957
011
pan:5102589999999913;exp=2077-02;cvc=123
John
Tyler
Jones
USA
1999-12-30
03
435 Tucker St
Apartment 9
St. Louis
MO
63103
USA
11234567890
test123@abcmail.com
ppn:123456789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon
Jane Smith
USA
true
WEB
THANKYOU
DEV123456
state:MO
6536
A3
CardAcceptor123
8005551234
123 Elm St
Apartment 9
Chicago
IL
60618
USA
SIP
2023-06-07T09:49:31-05:00
```
#### Response {#response}
* JSON
* XML
```JSON
{
"transfer": {
"sender": {
"address": {
"line1": "123 Elm St",
"line2": "Apartment 9",
"city": "Chicago",
"country": "USA",
"country_subdivision": "IL",
"postal_code": "60618"
},
"phone": "11234567890",
"email": "test123@abcmail.com",
"nationality": "USA",
"first_name": "John",
"middle_name": "Tyler",
"last_name": "Jones",
"date_of_birth": "1999-12-30",
"government_ids": {
"government_id_uri": [
"ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon"
]
},
"account_type": "03"
},
"recipient": {
"address": {
"line1": "435 Tucker St",
"line2": "Apartment 9",
"city": "St. Louis",
"country": "USA",
"country_subdivision": "MO",
"postal_code": "63103"
},
"phone": "11234567890",
"email": "test123@abcmail.com",
"nationality": "USA",
"first_name": "John",
"middle_name": "Tyler",
"last_name": "Jones",
"date_of_birth": "1999-12-30",
"government_ids": {
"government_id_uri": [
"ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon"
]
},
"account_type": "03"
},
"created": "2023-06-07T09:49:31-05:00",
"status": "PENDING",
"participant": {
"merchant_category_code": "6536",
"card_acceptor_id": "CardAcceptor123",
"customer_service_contact_info": "8005551234",
"transfer_acceptor_address": {
"line1": "123 Elm St",
"line2": "Apartment 9",
"city": "Chicago",
"country": "USA",
"country_subdivision": "IL",
"postal_code": "60618"
}
},
"id": "trn_ffIxyS8SNgSXZThlvoOVasBKlva6",
"resource_type": "transfer",
"transfer_reference": "DEF123456",
"payment_type": "P2P",
"sender_account_uri": "pan:************9921",
"recipient_account_uri": "pan:************9913",
"transfer_amount": {
"value": "5300",
"currency": "USD"
},
"transaction_history": {
"data": {
"transaction": {
"type": "PAYMENT",
"id": "txn_g6QW2saTFa6HXED38RwA3cRPuYAx",
"resource_type": "transaction",
"account_uri": "pan:************9913",
"transaction_amount": {
"value": "5300",
"currency": "USD"
},
"create_timestamp": "2023-06-07T09:49:31-05:00",
"status": "PENDING",
"status_reason": "PENDING",
"status_timestamp": "2023-06-07T09:52:05-05:00",
"transaction_local_date_time": "2023-06-07T09:49:31-05:00"
}
},
"resource_type": "list",
"item_count": 1
},
"statement_descriptor": "THANKYOU",
"channel": "WEB",
"device_id": "DEV123456",
"location": "state:MO",
"status_timestamp": "2023-06-07T09:52:05-05:00",
"payment_origination_country": "USA",
"sanction_screening_override": "TRUE",
"transfer_priority": "SIP",
"transfer_acceptor_address": {
"line1": "123 Elm St",
"line2": "Apartment 9",
"city": "Chicago",
"country": "USA",
"country_subdivision": "IL",
"postal_code": "60618"
},
"canada_domestic_indicator": true,
"transaction_purpose": "00",
"funding_source": "DEBIT",
"transaction_local_date_time": "2023-06-07T09:49:31-05:00"
}
}
```
```XML
123 Elm St
Apartment 9
Chicago
USA
IL
60618
11234567890
test123@abcmail.com
USA
John
Tyler
Jones
1999-12-30
ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon
03
435 Tucker St
Apartment 9
St. Louis
USA
MO
63103
11234567890
test123@abcmail.com
USA
John
Tyler
Jones
1999-12-30
ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon
03
2023-06-07T09:49:31-05:00
PENDING
6536
CardAcceptor123
8005551234
123 Elm St
Apartment 9
Chicago
USA
IL
60618
trn_ffIxyS8SNgSXZThlvoOVasBKlva6
transfer
DEF123456
P2P
pan:************9921
pan:************9913
5300
USD
PAYMENT
txn_g6QW2saTFa6HXED38RwA3cRPuYAx
transaction
pan:************9913
5300
USD
2023-06-07T09:49:31-05:00
PENDING
PENDING
2023-06-07T09:52:05-05:00
2023-06-07T09:49:31-05:00
list
1
THANKYOU
WEB
DEV123456
state:MO
2023-06-07T09:52:05-05:00
USA
TRUE
SIP
123 Elm St
Apartment 9
Chicago
USA
IL
60618
true
00
DEBIT
2023-06-07T09:49:31-05:00
```
### GET - Retrieve by Transfer ID {#get---retrieve-by-transfer-id}
#### Request {#request-1}
**Sandbox URL:** https://sandbox.api.move.mastercard.com/send/static/v1/partners/{partnerId}/transfers/{transferId}
**MTF URL:** https://sandbox.api.move.mastercard.com/send/v1/partners/{partnerId}/transfers/{transferId}
**Production URL:** https://api.move.mastercard.com/send/v1/partners/{partnerId}/transfers/{transferId}
No body
#### Response {#response-1}
* JSON
* XML
```JSON
{
"transfer": {
"sender": {
"address": {
"line1": "123 Elm St",
"line2": "Apartment 9",
"city": "Chicago",
"country": "USA",
"country_subdivision": "IL",
"postal_code": "60618"
},
"phone": "11234567890",
"email": "test123@abcmail.com",
"nationality": "USA",
"first_name": "John",
"middle_name": "Tyler",
"last_name": "Jones",
"date_of_birth": "1999-12-30",
"government_ids": {
"government_id_uri": [
"ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon"
]
},
"account_type": "03"
},
"recipient": {
"address": {
"line1": "435 Tucker St",
"line2": "Apartment 9",
"city": "St. Louis",
"country": "USA",
"country_subdivision": "MO",
"postal_code": "63103"
},
"phone": "11234567890",
"email": "test123@abcmail.com",
"nationality": "USA",
"first_name": "John",
"middle_name": "Tyler",
"last_name": "Jones",
"date_of_birth": "1999-12-30",
"government_ids": {
"government_id_uri": [
"ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon"
]
},
"account_type": "03"
},
"created": "2023-06-07T09:49:31-05:00",
"status": "PENDING",
"participant": {
"interchange_rate_designator": "A3",
"transfer_acceptor_address": {
"line1": "123 Elm St",
"line2": "Apartment 9",
"city": "Chicago",
"country": "USA",
"country_subdivision": "IL",
"postal_code": "60618"
}
},
"id": "trn_ffIxyS8SNgSXZThlvoOVasBKlva6",
"resource_type": "transfer",
"transfer_reference": "DEF123456",
"payment_type": "P2P",
"sender_account_uri": "pan:************9921",
"recipient_account_uri": "pan:************9913",
"transfer_amount": {
"value": "5300",
"currency": "USD"
},
"transaction_history": {
"data": {
"transaction": {
"type": "PAYMENT",
"id": "txn_g6QW2saTFa6HXED38RwA3cRPuYAx",
"resource_type": "transaction",
"account_uri": "pan:************9913",
"transaction_amount": {
"value": "5300",
"currency": "USD"
},
"create_timestamp": "2023-06-07T09:49:31-05:00",
"status": "PENDING",
"status_reason": "PENDING",
"status_timestamp": "2023-06-07T09:53:25-05:00",
"transaction_local_date_time": "2023-06-07T09:49:31-05:00"
}
},
"resource_type": "list",
"item_count": 1
},
"statement_descriptor": "THANKYOU",
"channel": "WEB",
"device_id": "DEV123456",
"location": "state:MO",
"status_timestamp": "2023-06-07T09:53:25-05:00",
"payment_origination_country": "USA",
"sanction_screening_override": "TRUE",
"canada_domestic_indicator": true,
"transaction_purpose": "00",
"funding_source": "DEBIT",
"transaction_local_date_time": "2023-06-07T09:49:31-05:00"
}
}
```
```XML
123 Elm St
Apartment 9
Chicago
USA
IL
60618
11234567890
test123@abcmail.com
USA
John
Tyler
Jones
1999-12-30
ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon
03
435 Tucker St
Apartment 9
St. Louis
USA
MO
63103
11234567890
test123@abcmail.com
USA
John
Tyler
Jones
1999-12-30
ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon
03
2023-06-07T09:49:31-05:00
PENDING
A3
123 Elm St
Apartment 9
Chicago
USA
IL
60618
trn_ffIxyS8SNgSXZThlvoOVasBKlva6
transfer
DEF123456
P2P
pan:************9921
pan:************9913
5300
USD
PAYMENT
txn_g6QW2saTFa6HXED38RwA3cRPuYAx
transaction
pan:************9913
5300
USD
2023-06-07T09:49:31-05:00
PENDING
PENDING
2023-06-07T09:53:25-05:00
2023-06-07T09:49:31-05:00
list
1
THANKYOU
WEB
DEV123456
state:MO
2023-06-07T09:53:25-05:00
USA
TRUE
true
00
DEBIT
2023-06-07T09:49:31-05:00
```
### GET - Retrieve by Transfer Reference {#get---retrieve-by-transfer-reference}
#### Request {#request-2}
**Sandbox URL:** https://sandbox.api.move.mastercard.com/send/static/v1/partners/{partnerId}/transfers?ref={transfer_reference}
**MTF URL:** https://sandbox.api.move.mastercard.com/send/v1/partners/{partnerId}/transfers?ref={transfer_reference}
**Production URL:** https://api.move.mastercard.com/send/v1/partners/{partnerId}/transfers?ref={transfer_reference}
No body
#### Response {#response-2}
* JSON
* XML
```JSON
{
"transfers": {
"data": {
"transfer": [
{
"sender": {
"address": {
"line1": "123 Elm St",
"line2": "Apartment 9",
"city": "Chicago",
"country": "USA",
"country_subdivision": "IL",
"postal_code": "60618"
},
"phone": "11234567890",
"email": "test123@abcmail.com",
"nationality": "USA",
"first_name": "John",
"middle_name": "Tyler",
"last_name": "Jones",
"date_of_birth": "1999-12-30",
"government_ids": {
"government_id_uri": [
"ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon"
]
},
"account_type": "03"
},
"recipient": {
"address": {
"line1": "435 Tucker St",
"line2": "Apartment 9",
"city": "St. Louis",
"country": "USA",
"country_subdivision": "MO",
"postal_code": "63103"
},
"phone": "11234567890",
"email": "test123@abcmail.com",
"nationality": "USA",
"first_name": "John",
"middle_name": "Tyler",
"last_name": "Jones",
"date_of_birth": "1999-12-30",
"government_ids": {
"government_id_uri": [
"ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon"
]
},
"account_type": "03"
},
"created": "2023-06-07T09:49:31-05:00",
"status": "PENDING",
"participant": {
"interchange_rate_designator": "A3",
"transfer_acceptor_address": {
"line1": "123 Elm St",
"line2": "Apartment 9",
"city": "Chicago",
"country": "USA",
"country_subdivision": "IL",
"postal_code": "60618"
}
},
"id": "trn_ffIxyS8SNgSXZThlvoOVasBKlva6",
"resource_type": "transfer",
"transfer_reference": "DEF123456",
"payment_type": "P2P",
"sender_account_uri": "pan:************9921",
"recipient_account_uri": "pan:************9913",
"transfer_amount": {
"value": "5300",
"currency": "USD"
},
"transaction_history": {
"data": {
"transaction": {
"type": "PAYMENT",
"id": "txn_g6QW2saTFa6HXED38RwA3cRPuYAx",
"resource_type": "transaction",
"account_uri": "pan:************9913",
"transaction_amount": {
"value": "5300",
"currency": "USD"
},
"create_timestamp": "2023-06-07T09:49:31-05:00",
"status": "PENDING",
"status_reason": "PENDING",
"status_timestamp": "2023-06-07T09:55:01-05:00",
"transaction_local_date_time": "2023-06-07T09:49:31-05:00"
}
},
"resource_type": "list",
"item_count": 1
},
"statement_descriptor": "THANKYOU",
"channel": "WEB",
"device_id": "DEV123456",
"location": "state:MO",
"status_timestamp": "2023-06-07T09:55:01-05:00",
"payment_origination_country": "USA",
"sanction_screening_override": "TRUE",
"canada_domestic_indicator": true,
"transaction_purpose": "00",
"funding_source": "DEBIT",
"transaction_local_date_time": "2023-06-07T09:49:31-05:00"
}
]
},
"item_count": 1,
"resource_type": "list"
}
}
```
```XML
123 Elm St
Apartment 9
Chicago
USA
IL
60618
11234567890
test123@abcmail.com
USA
John
Tyler
Jones
1999-12-30
ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon
03
435 Tucker St
Apartment 9
St. Louis
USA
MO
63103
11234567890
test123@abcmail.com
USA
John
Tyler
Jones
1999-12-30
ppn:*****6789;expiration-date=2050-05-27;issue-date=2011-07-12;issuing-country=USA;issuing-place=OFallon
03
2023-06-07T09:49:31-05:00
PENDING
A3
123 Elm St
Apartment 9
Chicago
USA
IL
60618
trn_ffIxyS8SNgSXZThlvoOVasBKlva6
transfer
DEF123456
P2P
pan:************9921
pan:************9913
5300
USD
PAYMENT
txn_g6QW2saTFa6HXED38RwA3cRPuYAx
transaction
pan:************9913
5300
USD
2023-06-07T09:49:31-05:00
PENDING
PENDING
2023-06-07T09:55:01-05:00
2023-06-07T09:49:31-05:00
list
1
THANKYOU
WEB
DEV123456
state:MO
2023-06-07T09:55:01-05:00
USA
TRUE
true
00
DEBIT
2023-06-07T09:49:31-05:00
1
list
```
## Next Steps {#next-steps}
* [Error Codes](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/response-error-codes/error-codes/index.md) describes error messages and resolutions.
* [Testing](https://developer.mastercard.com/mastercard-send-person-to-person/documentation/testing/index.md) describes how to test the service in Sandbox and MTF.