curl --request POST \
--url https://api-sandbox.synctera.com/v0/external_cards/transfers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 2,
"currency": "USD",
"external_card_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"originating_account_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"type": "PULL",
"originating_customer_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7"
}
'import requests
url = "https://api-sandbox.synctera.com/v0/external_cards/transfers"
payload = {
"amount": 2,
"currency": "USD",
"external_card_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"originating_account_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"type": "PULL",
"originating_customer_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 2,
currency: 'USD',
external_card_id: '7d943c51-e4ff-4e57-9558-08cab6b963c7',
originating_account_id: '7d943c51-e4ff-4e57-9558-08cab6b963c7',
type: 'PULL',
originating_customer_id: '7d943c51-e4ff-4e57-9558-08cab6b963c7'
})
};
fetch('https://api-sandbox.synctera.com/v0/external_cards/transfers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.synctera.com/v0/external_cards/transfers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 2,
'currency' => 'USD',
'external_card_id' => '7d943c51-e4ff-4e57-9558-08cab6b963c7',
'originating_account_id' => '7d943c51-e4ff-4e57-9558-08cab6b963c7',
'type' => 'PULL',
'originating_customer_id' => '7d943c51-e4ff-4e57-9558-08cab6b963c7'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.synctera.com/v0/external_cards/transfers"
payload := strings.NewReader("{\n \"amount\": 2,\n \"currency\": \"USD\",\n \"external_card_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"originating_account_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"type\": \"PULL\",\n \"originating_customer_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-sandbox.synctera.com/v0/external_cards/transfers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 2,\n \"currency\": \"USD\",\n \"external_card_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"originating_account_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"type\": \"PULL\",\n \"originating_customer_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.synctera.com/v0/external_cards/transfers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 2,\n \"currency\": \"USD\",\n \"external_card_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"originating_account_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"type\": \"PULL\",\n \"originating_customer_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\"\n}"
response = http.request(request)
puts response.read_body{
"account_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"amount": 123,
"country_code": "US",
"created_time": "2010-05-06T12:23:34.321Z",
"currency": "USD",
"customer_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"external_card_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"id": "<string>",
"last_modified_time": "2010-05-06T12:23:34.321Z",
"merchant": {
"address": {
"address_line_1": "100 Main St.",
"city": "New York",
"country_code": "US",
"postal_code": "49633",
"state": "NY",
"address_line_2": "Suite 99"
},
"name": "<string>",
"email": "alice@example.com",
"phone_number": "+14374570680"
},
"status": "CANCELED",
"type": "PULL",
"network_decline_details": "<string>",
"reason": "<string>",
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"three_ds_id": "40e2de9e-4375-4fa1-9393-92da972a9338"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}Create External Card Transfer
Create an External Card Transfer
curl --request POST \
--url https://api-sandbox.synctera.com/v0/external_cards/transfers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 2,
"currency": "USD",
"external_card_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"originating_account_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"type": "PULL",
"originating_customer_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7"
}
'import requests
url = "https://api-sandbox.synctera.com/v0/external_cards/transfers"
payload = {
"amount": 2,
"currency": "USD",
"external_card_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"originating_account_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"type": "PULL",
"originating_customer_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 2,
currency: 'USD',
external_card_id: '7d943c51-e4ff-4e57-9558-08cab6b963c7',
originating_account_id: '7d943c51-e4ff-4e57-9558-08cab6b963c7',
type: 'PULL',
originating_customer_id: '7d943c51-e4ff-4e57-9558-08cab6b963c7'
})
};
fetch('https://api-sandbox.synctera.com/v0/external_cards/transfers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.synctera.com/v0/external_cards/transfers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 2,
'currency' => 'USD',
'external_card_id' => '7d943c51-e4ff-4e57-9558-08cab6b963c7',
'originating_account_id' => '7d943c51-e4ff-4e57-9558-08cab6b963c7',
'type' => 'PULL',
'originating_customer_id' => '7d943c51-e4ff-4e57-9558-08cab6b963c7'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.synctera.com/v0/external_cards/transfers"
payload := strings.NewReader("{\n \"amount\": 2,\n \"currency\": \"USD\",\n \"external_card_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"originating_account_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"type\": \"PULL\",\n \"originating_customer_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-sandbox.synctera.com/v0/external_cards/transfers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 2,\n \"currency\": \"USD\",\n \"external_card_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"originating_account_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"type\": \"PULL\",\n \"originating_customer_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.synctera.com/v0/external_cards/transfers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 2,\n \"currency\": \"USD\",\n \"external_card_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"originating_account_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\",\n \"type\": \"PULL\",\n \"originating_customer_id\": \"7d943c51-e4ff-4e57-9558-08cab6b963c7\"\n}"
response = http.request(request)
puts response.read_body{
"account_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"amount": 123,
"country_code": "US",
"created_time": "2010-05-06T12:23:34.321Z",
"currency": "USD",
"customer_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"external_card_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"id": "<string>",
"last_modified_time": "2010-05-06T12:23:34.321Z",
"merchant": {
"address": {
"address_line_1": "100 Main St.",
"city": "New York",
"country_code": "US",
"postal_code": "49633",
"state": "NY",
"address_line_2": "Suite 99"
},
"name": "<string>",
"email": "alice@example.com",
"phone_number": "+14374570680"
},
"status": "CANCELED",
"type": "PULL",
"network_decline_details": "<string>",
"reason": "<string>",
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"three_ds_id": "40e2de9e-4375-4fa1-9393-92da972a9338"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
An idempotency key is an arbitrary unique value generated by client to detect subsequent retries of the same request. It is recommended that a UUID or a similar random identifier be used as an idempotency key. A different key must be used for each request, unless it is a retry.
"7d943c51-e4ff-4e57-9558-08cab6b963c7"
Body
Details of the External Card Transfer to create
- Push Request
- Pull Request
Push funds to an External Card
Amount of the transfer in cents
x >= 1ISO 4217 Alpha-3 currency code
3"USD"
The ID of the external card from/to which the transfer will be initiated/received
"7d943c51-e4ff-4e57-9558-08cab6b963c7"
The ID of the account to which the transfer will be initiated/received
"7d943c51-e4ff-4e57-9558-08cab6b963c7"
Type of operation for transfer.
| Type | Description |
|---|---|
| PUSH | Push fund to the external card from the account_id |
| PULL | Pull funds from the external card to the account_id |
PULL, PUSH "PULL"
Merchant descriptor information that will be shown on statement and transaction details. If not provided, FinTech information will be used.
Show child attributes
Show child attributes
For person-to-person PUSH transactions, this is the customer_id of the sender who must have privileges to access funds in the originating account in order to send funds to the recipient cardholder
"7d943c51-e4ff-4e57-9558-08cab6b963c7"
Response
External Card Transfer created
- Pull Response
- Push Response
Pull funds from an External Card
The ID of the account to which the card will be linked
"7d943c51-e4ff-4e57-9558-08cab6b963c7"
Amount of the transfer in cents
ISO-3166-1 Alpha-2 country code
"US"
"2010-05-06T12:23:34.321Z"
ISO 4217 Alpha-3 currency code
3"USD"
The ID of the customer to whom the card belongs
"7d943c51-e4ff-4e57-9558-08cab6b963c7"
The ID of the external card from/to which the transfer was initiated/received
"7d943c51-e4ff-4e57-9558-08cab6b963c7"
The ID of the transfer
"2010-05-06T12:23:34.321Z"
Merchant descriptor information that will be shown on statement and transaction details. If not provided, FinTech information will be used.
Show child attributes
Show child attributes
The status of the transfer
CANCELED, DECLINED, PENDING, SUCCEEDED, UNKNOWN Type of operation for transfer.
| Type | Description |
|---|---|
| PUSH | Push fund to the external card from the account_id |
| PULL | Pull funds from the external card to the account_id |
| PULL_REVERSAL | Reversed pull funds transfer from an external card |
PULL, PULL_REVERSAL, PUSH "PULL"
If available, a human readable string indicating why a transfer was declined downstream of our system
The reason for the status, e.g. INSUFFICIENT_FUNDS, SUSPECTED_FRAUD, NETWORK_DECLINED
The transaction ID
Unique identifier of an External Card Transfer 3-D Secure Authorization - conditionally required according to your program's 3DS policy
"40e2de9e-4375-4fa1-9393-92da972a9338"
Was this page helpful?

