Documentation Center

Guides, references & downloads

Everything you need to use, integrate, and build on the Goldküste escrow platform.

All documentation

Loading…

Developer API reference

Full developer portal →

Goldküste REST API

Base URL:
v1
POST /v1/auth/register
Register a new account. Role must be buyer, seller, or logistics.
curl -X POST /v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"name":"Alice","email":"alice@example.com","password":"secret","role":"buyer"}'
const res = await fetch('/v1/auth/register', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: 'Alice', email: 'alice@example.com', password: 'secret', role: 'buyer' })
});
const { user, tokens } = await res.json();
import requests
r = requests.post('/v1/auth/register',
    json={"name":"Alice","email":"alice@example.com","password":"secret","role":"buyer"})
data = r.json()
POST /v1/auth/login
Authenticate and receive an access token + refresh token pair.
curl -X POST /v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"alice@example.com","password":"secret"}'
const { tokens } = await fetch('/v1/auth/login', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ email: 'alice@example.com', password: 'secret' })
}).then(r => r.json());
r = requests.post('/v1/auth/login',
    json={"email":"alice@example.com","password":"secret"})
tokens = r.json()["tokens"]
GET /v1/users/me
Return the authenticated user's profile. Requires Authorization: Bearer <token>.
curl /v1/users/me \
  -H "Authorization: Bearer YOUR_TOKEN"
const user = await fetch('/v1/users/me', {
  headers: { 'Authorization': `Bearer ${token}` }
}).then(r => r.json());
r = requests.get('/v1/users/me',
    headers={"Authorization": f"Bearer {token}"})
user = r.json()
POST /v1/transactions
Create a new escrow transaction. Buyer initiates; seller and logistics provider are resolved by email.
curl -X POST /v1/transactions \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title":"Laptop purchase","sellerId":"uuid","amount":1200,"currency":"EUR"}'
const txn = await fetch('/v1/transactions', {
  method: 'POST',
  headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({ title: 'Laptop purchase', sellerId: 'uuid', amount: 1200, currency: 'EUR' })
}).then(r => r.json());
r = requests.post('/v1/transactions',
    headers={"Authorization": f"Bearer {token}"},
    json={"title":"Laptop purchase","sellerId":"uuid","amount":1200,"currency":"EUR"})
txn = r.json()
GET /v1/tracking/search
Search shipment tracking by tracking number, shipment ID, or transaction reference. Public endpoint.
curl "/v1/tracking/search?q=GK-2026-ABC123"
const result = await fetch('/v1/tracking/search?q=GK-2026-ABC123').then(r => r.json());
r = requests.get('/v1/tracking/search', params={"q":"GK-2026-ABC123"})
result = r.json()
View full developer documentation →