curl --request POST \
--url https://api.redbark.com/v2/syncs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Redbark-Version: <api-key>' \
--data '
{
"destination": "dest_3Fg5Hj7kLm9nPq1rSt3uVw",
"accounts": [
"<string>"
]
}
'const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Redbark-Version': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({destination: 'dest_3Fg5Hj7kLm9nPq1rSt3uVw', accounts: ['<string>']})
};
fetch('https://api.redbark.com/v2/syncs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.redbark.com/v2/syncs"
payload = {
"destination": "dest_3Fg5Hj7kLm9nPq1rSt3uVw",
"accounts": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Redbark-Version": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "sync_8Pq2Rs4tUv6wXy8zAb1cDe",
"object": "sync",
"name": "<string>",
"type": "transactions",
"enabled": true,
"status": "idle",
"attention": {
"code": "<string>",
"message": "<string>"
},
"destination": {
"id": "<string>",
"type": "<string>",
"name": "<string>",
"mapping_mode": "bulk"
},
"accounts": [
"<string>"
],
"account_mappings": [
{
"account": "<string>",
"resource": "<string>",
"resource_name": "<string>"
}
],
"options": {
"data_from": "<string>",
"include_pending": true,
"mask_account_numbers": true,
"custom_categories": true,
"include_balances_tab": true
},
"rulesets": [
"<string>"
],
"latest_run": {
"id": "run_4Kt7Lm2nPq9rSv1wXy3zAb",
"object": "sync_run",
"sync": "<string>",
"destination": "<string>",
"status": "queued",
"trigger": "schedule",
"counts": {
"processed": 123,
"added": 123,
"updated": 123,
"rejected": 123,
"skipped_by_rules": 123
},
"failure": {
"code": "<string>",
"message": "<string>",
"retryable": true
},
"started_at": "2026-08-21T09:30:00.000Z",
"completed_at": "2026-08-21T09:30:00.000Z",
"duration_ms": 123,
"livemode": true,
"created": "2026-08-21T09:30:00.000Z"
},
"last_synced_at": "2026-08-21T09:30:00.000Z",
"metadata": {},
"livemode": true,
"created": "2026-08-21T09:30:00.000Z",
"updated": "2026-08-21T09:30:00.000Z"
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Create a sync
Creates a sync from accounts to a destination and queues its first run. The destination must be active (have a target); YNAB needs account_mappings; brokerage accounts need a Sheets destination. One sync per destination.
curl --request POST \
--url https://api.redbark.com/v2/syncs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Redbark-Version: <api-key>' \
--data '
{
"destination": "dest_3Fg5Hj7kLm9nPq1rSt3uVw",
"accounts": [
"<string>"
]
}
'const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Redbark-Version': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({destination: 'dest_3Fg5Hj7kLm9nPq1rSt3uVw', accounts: ['<string>']})
};
fetch('https://api.redbark.com/v2/syncs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.redbark.com/v2/syncs"
payload = {
"destination": "dest_3Fg5Hj7kLm9nPq1rSt3uVw",
"accounts": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Redbark-Version": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "sync_8Pq2Rs4tUv6wXy8zAb1cDe",
"object": "sync",
"name": "<string>",
"type": "transactions",
"enabled": true,
"status": "idle",
"attention": {
"code": "<string>",
"message": "<string>"
},
"destination": {
"id": "<string>",
"type": "<string>",
"name": "<string>",
"mapping_mode": "bulk"
},
"accounts": [
"<string>"
],
"account_mappings": [
{
"account": "<string>",
"resource": "<string>",
"resource_name": "<string>"
}
],
"options": {
"data_from": "<string>",
"include_pending": true,
"mask_account_numbers": true,
"custom_categories": true,
"include_balances_tab": true
},
"rulesets": [
"<string>"
],
"latest_run": {
"id": "run_4Kt7Lm2nPq9rSv1wXy3zAb",
"object": "sync_run",
"sync": "<string>",
"destination": "<string>",
"status": "queued",
"trigger": "schedule",
"counts": {
"processed": 123,
"added": 123,
"updated": 123,
"rejected": 123,
"skipped_by_rules": 123
},
"failure": {
"code": "<string>",
"message": "<string>",
"retryable": true
},
"started_at": "2026-08-21T09:30:00.000Z",
"completed_at": "2026-08-21T09:30:00.000Z",
"duration_ms": 123,
"livemode": true,
"created": "2026-08-21T09:30:00.000Z"
},
"last_synced_at": "2026-08-21T09:30:00.000Z",
"metadata": {},
"livemode": true,
"created": "2026-08-21T09:30:00.000Z",
"updated": "2026-08-21T09:30:00.000Z"
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Authorizations
Authorization: Bearer rbk_live_...
The API release your integration is built against, e.g. 2026-10-01.wattle. Required on every request.
Body
"dest_3Fg5Hj7kLm9nPq1rSt3uVw"
1Default transactions
transactions, accounts, holdings, trades 80Sheets only: per_account writes each account to its own tab (created for you when account_mappings is omitted)
bulk, per_account Required for YNAB (budget account per bank account); optional for Sheets per_account
Show child attributes
Show child attributes
Show child attributes
Show child attributes
1Show child attributes
Show child attributes
Queue the first run immediately (default true)
Up to 50 string pairs. Set a key to null to unset it.
Show child attributes
Show child attributes
Response
The created sync (latest_run is the queued first run)
"sync_8Pq2Rs4tUv6wXy8zAb1cDe"
sync transactions, accounts, holdings, trades idle, running, waiting, attention Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
include[]=latest_run
Show child attributes
Show child attributes
"2026-08-21T09:30:00.000Z"
Up to 50 string pairs. Set a key to null in an update to unset it.
Show child attributes
Show child attributes
"2026-08-21T09:30:00.000Z"
"2026-08-21T09:30:00.000Z"

