Skip to main content
This tool uses the Redbark REST API, which is in beta. Behaviour may change as the API evolves.
Sure sync runs as a standalone Docker container that pulls transactions from the Redbark API and imports them directly into your Sure instance. It is not a dashboard destination.
This is a self-hosted Docker tool. You run it on your own infrastructure alongside your Sure instance.

Prerequisites

  • A running Sure instance
  • Docker installed on your machine or server
  • A Redbark account with connected bank accounts
  • A Redbark API key
  • A Sure API key with read_write scope

Setup

1

Get a Redbark API key

Plan required: Developer or Professional. API access is not available on the Saver plan.
Log into Redbark, go to Settings > API Keys, and create a new key. Copy it. It is only shown once.
2

Get a Sure API key

Log into your Sure instance, go to Settings > Security > API Keys, and create a key with read_write scope.
3

Find your Redbark account IDs

Run the tool with --list-redbark-accounts to see your connected accounts and their IDs:
4

Find your Sure account IDs

Run with --list-sure-accounts to see your Sure accounts:
5

Create your account mapping

Map each Redbark account to a Sure account using the format redbark_id:sure_id, comma-separated:
6

Configure environment variables

Create a .env file with your configuration:
7

Dry run

Preview what would be imported without writing any changes:
8

Sync

Run the sync:

Configuration

Environment variables

Category mapping (optional)

Map Redbark transaction categories to Sure category UUIDs:
The left side of each mapping is a Redbark category (case-insensitive). The available categories are: Not all transactions have a category. Categories are assigned by the bank via CDR enrichment and may vary by institution. Run --list-sure-categories to find your Sure category UUIDs. Categories that don’t match a mapping are included in the transaction notes for reference.

CLI flags

Running with Docker

Docker run

No volume is needed. Sure sync is stateless with no local cache.

Docker Compose

Kubernetes CronJob

Scheduling

Use cron or your orchestrator’s scheduling to run syncs automatically:

How deduplication works

Each synced transaction is tagged with a machine-readable marker in the Sure transaction notes:
On subsequent runs, the tool checks for duplicates using two methods:
  1. Exact match: searches existing Sure transactions for [redbark:<id>] in the notes field
  2. Fingerprint match: compares date + amount + normalised name to catch manually imported transactions
You can run the sync as often as you want. Duplicates are never created.

Exit codes

Troubleshooting

Connection refused to Sure Make sure your Sure instance is running and reachable from the Docker container. If both services are in the same Docker Compose stack, use the service name (e.g. http://sure:3000) rather than localhost. Invalid API key Double-check your SURE_API_KEY has read_write scope. Read-only keys cannot create transactions. Account not found Verify your account mapping using --list-redbark-accounts and --list-sure-accounts. Redbark account IDs look like acc_abc123 and Sure account IDs are UUIDs. Category mapping issues Use --list-sure-categories to find the correct category UUIDs. Unmapped categories are included in the transaction notes rather than being lost.

Security

Your Redbark API key is only sent over HTTPS. Your Sure API key is sent to your own infrastructure. Never bake secrets into Docker images. Use --env-file, Docker Secrets, or Kubernetes Secrets. The tool is stateless and stores no transaction data locally.

Source code

The sync tool is open source: github.com/redbark-co/sure-sync