### Set API Key Environment Variable
Source: https://docs.synctera.com/reference/need-to-know
Set the 'apikey' environment variable to store your API key for use in guides and examples. This simplifies authentication in subsequent commands.
```shell
export apikey=476d901b4-a264a79-9db9-96d3dfaafb732
```
--------------------------------
### Account Product Response
Source: https://docs.synctera.com/docs/interest-guide
This is an example response after successfully creating an account product with interest rate configurations.
```json
{
"accrual_payout_schedule": "MONTHLY",
"calculation_method": "COMPOUNDED_MONTHLY",
"description": "Sample interest request body",
"id": "52c80838-90b3-4afb-b3ff-98a97b5df96b",
"product_type": "INTEREST",
"rates": [
{
"accrual_period": "DAILY",
"rate": 100,
"valid_from": "2021-06-01",
"valid_to": "2021-06-15"
},
{
"accrual_period": "DAILY",
"rate": 100,
"valid_from": "2021-06-15"
}
]
}
```
--------------------------------
### List All Disclosure Records
Source: https://docs.synctera.com/docs/record-disclosure-acceptance
Use this endpoint to get a paginated list of all disclosure records across your customer base. No specific setup is required beyond standard API authentication.
```bash
GET /v0/disclosures
```
--------------------------------
### Example account creation response
Source: https://docs.synctera.com/docs/create-accounts-guide
This is an example of the JSON response received after successfully creating an account. It includes details like account number, balances, and status.
```json
{
"access_status": "ACTIVE",
"access_status_last_updated_time": "2022-10-06T14:03:54.962704Z",
"account_number": "790954299503",
"account_number_masked": "790*****9503",
"account_type": "SAVING",
"balances": [
{
"balance": 0,
"type": "ACCOUNT_BALANCE"
},
{
"balance": 0,
"type": "AVAILABLE_BALANCE"
}
],
"bank_routing": "112233445",
"creation_time": "2022-10-06T14:03:54.963162Z",
"currency": "USD",
"customer_ids": [
"110acc45-0b53-4d21-b624-29f88879c6a0"
],
"customer_type": "PERSONAL",
"id": "ce439ca4-8eb6-45e6-955c-46441af33770",
"is_account_pool": false,
"is_ach_enabled": false,
"is_card_enabled": false,
"is_p2p_enabled": false,
"is_wire_enabled": false,
"last_updated_time": "2022-10-06T14:03:54.963162Z",
"status": "ACTIVE_OR_DISBURSED"
}
```
--------------------------------
### Get a webhook
Source: https://docs.synctera.com/llms.txt
Get a webhook.
```APIDOC
## GET /webhooks/{webhook_id}
### Description
Get a webhook.
### Method
GET
### Endpoint
/webhooks/{webhook_id}
```
--------------------------------
### Complete HTML Example for External Card Creation
Source: https://docs.synctera.com/docs/link-external-cards
This HTML example shows how to embed the external card creation widget, fetch a widget token from a backend API, and handle success and failure events.
```html
External Card Creation Widget Example
Add Payment Card
```
--------------------------------
### Get Reward
Source: https://docs.synctera.com/llms.txt
Get a reward by ID.
```APIDOC
## GET /rewards/{reward_id}
### Description
Retrieves a specific reward by its unique identifier.
### Method
GET
### Endpoint
/rewards/{reward_id}
### Parameters
#### Path Parameters
- **reward_id** (string) - Required - The unique identifier of the reward.
```
--------------------------------
### Initialize Marqeta.js Bootstrap
Source: https://docs.synctera.com/docs/card-widgets
Call `window.marqeta.bootstrap` with your client access token and component configurations to render the card data. This function creates iframes within the specified DOM elements.
```javascript
window.marqeta.bootstrap({
clientAccessToken: clientAccessToken,
integrationType: "custom",
component: {
showPan: {
cardPan: { domId: "display-card-pan", format: true },
cardExp: { domId: "display-card-exp", format: true },
cardCvv: { domId: "display-card-cvv" },
},
},
callbackEvents: {
onSuccess: () => console.log("Widget loaded!"),
onFailure: () => console.warn("Widget failed to load."),
},
});
```
--------------------------------
### Get relationship
Source: https://docs.synctera.com/llms.txt
Get relationship by ID.
```APIDOC
## GET /relationships/{relationship_id}
### Description
Retrieves a specific relationship by its unique identifier.
### Method
GET
### Endpoint
/relationships/{relationship_id}
### Parameters
#### Path Parameters
- **relationship_id** (string) - Required - The unique identifier of the relationship.
```
--------------------------------
### Create a Customer using cURL
Source: https://docs.synctera.com/docs/dev-setup
Use this cURL command to create a new customer in the Synctera sandbox. Ensure you replace {API_KEY} with your actual API key and provide the required customer details in JSON format.
```bash
curl -X POST https://api-sandbox.synctera.com/v0/customers \
-H 'Authorization: Bearer {API_KEY}' \
-H 'Content-Type: application/json; charset=utf-8' \
--data-binary @- << EOF
{
"first_name": "Jane",
"last_name": "Doe",
"middle_name": "Fawn",
"legal_address": {
"default_address_flg": true,
"type": "home",
"house_number": "781",
"address_line_1": "Street Rd.",
"address_line_2": "Apartment 32",
"city": "Centerville",
"state": "CO",
"postal_code": "40993",
"country_code": "US"
},
"shipping_address": {
"default_address_flg": false,
"type": "work",
"house_number": "485",
"address_line_1": "Boulevard Ave.",
"city": "Centerville",
"state": "CO",
"postal_code": "40995",
"country_code": "US"
},
"dob": "2000-01-01",
"ssn": "123-45-6789",
"email": "DeerMe32@gmail.com",
"mobile_phone_number": "+17520343695",
"status": "ACTIVE"
}
EOF
```
--------------------------------
### Create a Business Customer
Source: https://docs.synctera.com/docs/kyc-kyb-verification
Use the `POST /businesses` endpoint to create a new business customer record. This includes details like the business name, address, structure, and formation date.
```shell
curl \
-X POST \
-H "Authorization: Bearer $apikey" \
-H 'Content-Type: application/json' \
https://api.synctera.com/v0/businesses \
--data-binary '
{
"entity_name": "Your New Business",
"website": "https://example.com",
"phone_number": "+16045551212",
"legal_address": {
"address_line_1": "123 Main St.",
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country_code": "US"
},
"structure": "CORPORATION",
"formation_date": "2000-01-01",
"formation_state": "DE",
"ein": "99-9999999",
"is_customer": true,
"status": "ACTIVE"
}'
```
--------------------------------
### Get person
Source: https://docs.synctera.com/llms.txt
Get person by ID.
```APIDOC
## GET /persons/{person_id}
### Description
Retrieves person details by their unique identifier.
### Method
GET
### Endpoint
/persons/{person_id}
### Parameters
#### Path Parameters
- **person_id** (string) - Required - The unique identifier of the person.
```
--------------------------------
### Get Fee
Source: https://docs.synctera.com/llms.txt
Get a fee by ID.
```APIDOC
## GET /fees/{fee_id}
### Description
Retrieves a specific fee by its unique identifier.
### Method
GET
### Endpoint
/fees/{fee_id}
### Parameters
#### Path Parameters
- **fee_id** (string) - Required - The unique identifier of the fee.
```
--------------------------------
### Recreate Account on New Tenant
Source: https://docs.synctera.com/docs/bank-migration
Create a new account on the new tenant, linking it to the newly created customer ID. Record the new account ID.
```shell
curl -X POST https://api.synctera.com/v0/accounts \
-H "Authorization: Bearer $new_apikey" \
-H "Content-Type: application/json" \
--data-binary '{ \
"account_type": "CHECKING", \
"customer_ids": ["def45678-0000-0000-0000-000000000002"] \
}'
```
--------------------------------
### Get a wire by id
Source: https://docs.synctera.com/llms.txt
Get a wire by id.
```APIDOC
## GET /wires/{wire_id}
### Description
Get a wire by id.
### Method
GET
### Endpoint
/wires/{wire_id}
```
--------------------------------
### React Example for External Card Creation
Source: https://docs.synctera.com/docs/link-external-cards
This React example demonstrates integrating the external card creation widget. It handles script loading, token fetching, and event listening within a functional component.
```javascript
import { useEffect, useState } from 'react';
function PaymentCardForm({ customerId }) {
const [widgetToken, setWidgetToken] = useState(null);
const [error, setError] = useState(null);
useEffect(() => {
// Load widget script
const script = document.createElement('script');
script.type = 'module';
script.src = 'https://widgets.synctera.com/external-card-creation/v1/index.js';
document.head.appendChild(script);
// Fetch widget token
fetch('/api/widget-token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ customer_id: customerId })
})
.then(res => res.json())
.then(data => setWidgetToken(data.widget_token))
.catch(err => setError(err.message));
return () => {
document.head.removeChild(script);
};
}, [customerId]);
useEffect(() => {
if (!widgetToken) return;
const widget = document.querySelector('external-card-creation');
const handleSuccess = (event) => {
console.log('Success:', event.detail);
// Handle successful submission
};
const handleFailure = (event) => {
setError(event.detail.error);
};
widget?.addEventListener('success', handleSuccess);
widget?.addEventListener('failure', handleFailure);
return () => {
widget?.removeEventListener('success', handleSuccess);
widget?.removeEventListener('failure', handleFailure);
};
}, [widgetToken]);
if (error) {
return Error: {error}
;
}
if (!widgetToken) {
return Loading payment form...
;
}
return (
Add Payment Card
);
}
export default PaymentCardForm;
```
--------------------------------
### Get a statement
Source: https://docs.synctera.com/llms.txt
Gets a full statement by its ID.
```APIDOC
## GET /statements/{statement_id}
### Description
Retrieves a full statement by its unique identifier.
### Method
GET
### Endpoint
/statements/{statement_id}
### Parameters
#### Path Parameters
- **statement_id** (string) - Required - The unique identifier of the statement.
```
--------------------------------
### Create Interest Account Product
Source: https://docs.synctera.com/docs/interest-guide
Use this endpoint to create a new account product with specified interest rate configurations. Ensure date ranges for rates are continuous and non-overlapping.
```shell
curl \
-X POST \
$baseurl/v0/accounts/products \
-H "Authorization: Bearer $apikey" \
-H 'Content-Type: application/json' \
--data-binary '
{
"product_type": "INTEREST",
"description": "Sample interest request body",
"calculation_method": "COMPOUNDED_MONTHLY",
"accrual_payout_schedule": "MONTHLY",
"rates": [
{
"valid_from": "2021-06-15",
"rate": 100,
"accrual_period": "DAILY"
},
{
"valid_from": "2021-06-01",
"valid_to": "2021-06-15",
"rate": 100,
"accrual_period": "DAILY"
}
]
}'
```
--------------------------------
### Get Spend Control
Source: https://docs.synctera.com/llms.txt
Get spend control details.
```APIDOC
## GET /spend-controls/{spend_control_id}
### Description
Retrieves details of a specific spend control.
### Method
GET
### Endpoint
/spend-controls/{spend_control_id}
### Parameters
#### Path Parameters
- **spend_control_id** (string) - Required - The unique identifier of the spend control.
```
--------------------------------
### Create a Personal Customer
Source: https://docs.synctera.com/docs/document-verification
Use the `POST /persons` endpoint to create a new customer record. This is the first step in the verification process.
```shell
curl \
-X POST \
-H "Authorization: Bearer $apikey" \
-H 'Content-Type: application/json' \
https://api.synctera.com/v0/persons \
--data-binary '
{
"first_name": "Christopher",
"middle_name": "James",
"last_name": "Albertson",
"dob": "1985-06-14",
"email": "chris@example.com",
"phone_number": "+16045551212",
"ssn": "456-78-9999",
"legal_address": {
"address_line_1": "123 Main St.",
"city": "Beverly Hills",
"state": "CA",
"postal_code": "99999",
"country_code": "US"
},
"is_customer": true,
"status": "ACTIVE"
}'
```
--------------------------------
### Get a Reward template
Source: https://docs.synctera.com/llms.txt
Get a reward template by ID.
```APIDOC
## GET /reward-templates/{template_id}
### Description
Retrieves a specific reward template by its unique identifier.
### Method
GET
### Endpoint
/reward-templates/{template_id}
### Parameters
#### Path Parameters
- **template_id** (string) - Required - The unique identifier of the reward template.
```
--------------------------------
### Create Business Customer
Source: https://docs.synctera.com/docs/create-a-business
Creates a business customer. Use `PROSPECT` status for initial creation if not all attributes are available. Set `is_customer` to `true` to enable account holding.
```shell
curl \
-X POST \
$baseurl/v0/businesses \
-H "Authorization: Bearer $apikey" \
-H 'Content-Type: application/json' \
--data-binary ' \
{
"status": "PROSPECT",
"is_customer": true,
"entity_name": "Acme Trap Company",
"trade_names": [
"Acme",
"Acme Corp",
"CorporationID#77231"
],
"formation_date": "2000-01-01",
"formation_state": "NY",
"structure": "CORPORATION",
"phone_number": "+12124567890",
"ein": "12-3456789",
"legal_address": {
"address_line_1": "50 Main St",
"city": "New York",
"state": "NY",
"postal_code": "12345",
"country_code": "US"
}
}''
```
--------------------------------
### Create Account Product
Source: https://docs.synctera.com/reference/createaccountresourceproduct
Use this endpoint to create a new account product. Ensure that rates are provided and are not empty.
```APIDOC
## POST /accounts/products
### Description
Create an account product. Rates cannot be nil or empty.
### Method
POST
### Endpoint
/accounts/products
### Request Body
- **rates** (object) - Required - An object containing rate information for the account product.
### Request Example
{
"rates": {
"interest_rate": "0.01"
}
}
### Response
#### Success Response (201 Created)
- **id** (string) - The unique identifier for the created account product.
- **rates** (object) - The rates associated with the account product.
#### Response Example
{
"id": "prod_12345abcde",
"rates": {
"interest_rate": "0.01"
}
}
```
--------------------------------
### Get a posted transaction
Source: https://docs.synctera.com/llms.txt
Get a posted transaction by its uuid.
```APIDOC
## GET /posted-transactions/{transaction_uuid}
### Description
Retrieves a posted transaction by its unique identifier (UUID).
### Method
GET
### Endpoint
/posted-transactions/{transaction_uuid}
### Parameters
#### Path Parameters
- **transaction_uuid** (string) - Required - The unique identifier (UUID) of the posted transaction.
```
--------------------------------
### Get a pending transaction
Source: https://docs.synctera.com/llms.txt
Get a pending transaction by its uuid.
```APIDOC
## GET /pending-transactions/{transaction_uuid}
### Description
Retrieves a pending transaction by its unique identifier (UUID).
### Method
GET
### Endpoint
/pending-transactions/{transaction_uuid}
### Parameters
#### Path Parameters
- **transaction_uuid** (string) - Required - The unique identifier (UUID) of the pending transaction.
```
--------------------------------
### Create an application
Source: https://docs.synctera.com/llms.txt
Creates a new application. This is a Beta endpoint, and community feedback is welcome.
```APIDOC
## POST /applications
### Description
Creates a new application. This is a Beta endpoint, and community feedback is welcome.
### Method
POST
### Endpoint
/applications
```
--------------------------------
### Get a Fee template
Source: https://docs.synctera.com/llms.txt
Get a fee template by ID.
```APIDOC
## GET /fee-templates/{template_id}
### Description
Retrieves a specific fee template by its unique identifier.
### Method
GET
### Endpoint
/fee-templates/{template_id}
### Parameters
#### Path Parameters
- **template_id** (string) - Required - The unique identifier of the fee template.
```
--------------------------------
### Example Business Object
Source: https://docs.synctera.com/docs/create-a-business
An example JSON response for a business object, showing details like status, verification status, and other entity information.
```json
{
"creation_time": "2022-04-29T21:12:55.179008Z",
"ein": "12-3456789",
"entity_name": "Acme Trap Company",
"formation_date": "2000-01-01",
"formation_state": "NY",
"id": "{BUSINESS_ID}",
"is_customer": true,
"last_updated_time": "2022-04-29T21:19:09.521182Z",
"legal_address": {
"address_line_1": "50 Main St",
"city": "New York",
"country_code": "US",
"postal_code": "12345",
"state": "NY"
},
"phone_number": "+12124567890",
"status": "ACTIVE",
"structure": "CORPORATION",
"trade_names": ["Acme", "Acme Corp", "CorporationID#77231"],
"verification_last_run": "2022-04-29T21:19:09.432601Z",
"verification_status": "ACCEPTED"
}
```
--------------------------------
### Get a EDD
Source: https://docs.synctera.com/llms.txt
Get a EDD (Electronic Data Disclosure).
```APIDOC
## GET /edds/{edd_id}
### Description
Retrieves a specific Electronic Data Disclosure (EDD).
### Method
GET
### Endpoint
/edds/{edd_id}
### Parameters
#### Path Parameters
- **edd_id** (string) - Required - The unique identifier of the EDD.
```
--------------------------------
### Recreate Customer on New Tenant
Source: https://docs.synctera.com/docs/bank-migration
Create a customer on the new tenant using personal information from the old tenant. Record the new person ID returned in the response.
```shell
curl -X POST https://api.synctera.com/v0/persons \
-H "Authorization: Bearer $new_apikey" \
-H "Content-Type: application/json" \
--data-binary '{ \
"first_name": "Jane", \
"last_name": "Smith", \
"dob": "1985-06-15", \
"email": "jane.smith@example.com", \
"phone_number": "+14155551234", \
"legal_address": { \
"street_line_1": "123 Main St", \
"city": "San Francisco", \
"state": "CA", \
"postal_code": "94105", \
"country_code": "US" \
} \
}'
```
```json
{
"id": "def45678-0000-0000-0000-000000000002",
"first_name": "Jane",
"last_name": "Smith"
}
```