Developer API

Build on Aube

Connect, message, transact, and introduce people through Aube's API. Build bots, integrations, and experiences that bring people together.

Simple REST API
GET /api/v1/wallet/balance

{
  "balance": 42.58,
  "is_subscribed": true
}

RESTful API

Standard REST endpoints with JSON responses. Easy to integrate with any language or framework you're already using.

RESTarchitecture

API Key Auth

Secure authentication using API keys. Generate keys in the app, include them in your requests, and you're ready to go.

Secureauthentication

Rate Limited

Smart rate limiting per endpoint type. General: 100/min, Messages: 30/min, Contacts: 20/hour, Intros: 10/hour.

Protectedanti-spam

Wallet & UBI

Full access to balances, transactions, and the UBI system. Send money by PIN, accept or decline transfers.

1 unitper day

Messaging

Full messaging API. Create conversations, send messages, build chatbots and integrations.

Chatenabled

Introductions

Introduce people to each other. Recipients accept or decline. When all accept, a conversation is created.

Connectpeople

Contacts

Manage your contact list. Send requests, accept or decline. Contacts require mutual acceptance.

Trustbased
Getting Started

Authentication

All API requests require authentication using an API key. Create keys in the Aube app under Settings → Developer.

Include your API key in the X-API-Key header, or use Bearer token authentication.

HeaderX-API-Key: aube_your_api_key_here
🔑API Key

Endpoints

Everything you need to build on Aube

Wallet & UBI

GET/wallet/balance

Get the current wallet balance, subscription status, and Shmita info.

{
  "balance": 42.58,
  "subscription_days": 45.2,
  "is_subscribed": true,
  "next_shmita": "2029-09-09"
}
POST/wallet/send

Send money to another user by their PIN code.

{
  "recipient_pin": "ABC123",
  "amount": 5.0,
  "note": "Thanks!"
}
GET/wallet/transactions

Get transaction history including sent and received transfers.

{
  "transactions": [
    { "amount": 5.0, "status": "accepted" }
  ]
}
GET/wallet/pending

Get pending incoming transfers waiting for your response.

{
  "pending_transactions": [
    { "amount": 10.0, "sender_pin": "XYZ789" }
  ]
}
POST/wallet/transactions/:id/accept

Accept an incoming transfer. The amount is added to your balance.

{
  "message": "Transfer accepted",
  "transaction": { "status": "accepted" }
}
POST/wallet/transactions/:id/decline

Decline an incoming transfer. Funds are refunded to sender.

{
  "message": "Transfer declined",
  "transaction": { "status": "declined" }
}
GET/wallet/subscription

Get your subscription status and dates.

{
  "is_subscribed": true,
  "status": "active",
  "start_date": "2026-01-01",
  "end_date": "2026-02-01"
}

Messaging

POST/messages/send

Send a direct message by PIN. Creates conversation if needed.

{
  "recipient_pin": "ABC123",
  "content": "Hello!"
}
GET/conversations

List all your conversations with participants and last message.

{
  "conversations": [
    { "id": "...", "participants": [...] }
  ]
}
POST/conversations

Create a conversation or group by PIN codes.

{
  "participant_pin": "ABC123"
}
// Or for groups:
{
  "participant_pins": ["ABC", "XYZ"],
  "name": "My Group"
}
GET/conversations/:id

Get a specific conversation with participants and last message.

{
  "id": "...",
  "participants": [...],
  "last_message": {...}
}
GET/conversations/:id/messages

Get messages in a conversation. Supports polling with ?since=timestamp.

{
  "messages": [
    { "content": "Hi!", "sender": {...} }
  ],
  "timestamp": 1234567890
}
POST/conversations/:id/messages

Send a message to a conversation. Rate limited: 30/min.

{
  "content": "Hello everyone!"
}

Introductions

POST/introductions

Introduce 2+ people by PIN. Rate limited: 10/hour.

{
  "participant_pins": ["ABC123", "XYZ789"],
  "message": "You should meet!"
}
GET/introductions

Get all your introductions (sent and received).

{
  "introductions": [
    { "id": "...", "introducer": {...} }
  ]
}
GET/introductions/pending

Get introductions waiting for your response.

{
  "introductions": [
    { "introducer": {...}, "participants": [...] }
  ]
}
POST/introductions/:id/accept

Accept an introduction. When all accept, a conversation is created.

{
  "id": "...",
  "conversation_id": "..." // when all accepted
}
POST/introductions/:id/decline

Decline an introduction.

{
  "id": "...",
  "status": "declined"
}

Contacts

GET/contacts

Get your accepted contacts list.

{
  "contacts": [
    { "id": "...", "contact": {...} }
  ]
}
POST/contacts/request

Send a contact request by PIN. Rate limited: 20/hour.

{
  "pin_code": "ABC123"
}
GET/contacts/requests/pending

Get incoming contact requests waiting for your response.

{
  "requests": [
    { "id": "...", "requester": {...} }
  ]
}
POST/contacts/requests/:id/accept

Accept an incoming contact request. Creates mutual contact.

{
  "message": "Contact request accepted"
}
POST/contacts/requests/:id/decline

Decline an incoming contact request.

{
  "message": "Contact request declined"
}
DELETE/contacts/:id

Remove a contact from your list (removes mutual connection).

{
  "message": "Contact removed"
}
GET/contacts/check/:pin

Check if a user (by PIN) is in your contacts.

{
  "is_contact": true,
  "user": { "id": "...", "display_name": "..." }
}

Profile

GET/me

Get your profile info (display name, PIN code).

{
  "id": "...",
  "display_name": "John",
  "pin_code": "ABC123"
}

Base URL

All endpoints are prefixed with this URL

https://api.aube.run/api/v1

Rate Limits

Different endpoints have different limits

General100/min
Contacts20/hour
Intros10/hour

Response Codes

Standard HTTP status codes

200Success
201Created
400Bad Request
401No Auth
500Server Error

Ready to Build?

Download the app to create your API key and start building on Aube.