Developer

One integration. Every surface.

The same services the app runs on, available to you: the wallet, the loyalty ledger, offers, supply, and one basket that settles across all of it. Take the pieces you want and render the rest yourself.

Preview
We are building the BLACKBOOK API now, and none of it is live yet. What follows shows the shape of the services, endpoints and SDKs as we are designing them. Names, fields and behaviour can change before release. The full reference, sandbox keys and SDKs are issued to partners with access.
01Identity & wallet

One sign-in, and the memberships behind it, held with consent.

02Loyalty & exchange

Balances, earn and burn at the transaction, value moved between programmes.

03Offers & content

Offers by place and moment, and the content behind them.

04Supply

Stays, seats, transfers, tables and experiences, as one inventory.

05Basket & checkout

One basket, split bills, points and cash in one payment.

06Connectors & plug-ins

The same services inside Claude and ChatGPT.

01 · Quickstart

A member’s wallet in your app, in four calls.

The shortest route from keys to a first response: authenticate your system, open a session the member consents to, and read their balances. Tap a step to see the call.

  1. 01
    Get your keys

    Sandbox keys arrive with access. Live keys follow once the integration is signed off.

  2. 02
    Authenticate

    Exchange your client credentials for an access token, scoped to the services you use.

  3. 03
    Open a member session

    The member approves exactly what you asked for. You receive a member token for those scopes only.

  4. 04
    Read the wallet

    Balances, programmes and what each one gives the member right now.

Environment

        
02 · Guides

One guide for each job.

Each guide takes one journey from start to finish, with the calls, the webhooks and the edge cases. They are issued with the reference.

01Show the wallet in your app

Balances, programmes and entitlements for a signed-in member.

GET /v1/wallets/me
02Earn on a booking

Post the earn at the transaction, to your programme’s ledger.

POST /v1/earn-events
03Pay with points at checkout

Points, card or both, in the same payment.

POST /v1/baskets/{id}/pay
04Search and book a stay

Search, hold and confirm, with the member’s status applied.

POST /v1/search
05Hold a table

A table held against the plan, settled when the bill comes.

POST /v1/holds
06Push an offer

An offer to the right members, at the moment it applies, with a cap.

POST /v1/offers
07Read signals

Groups and opportunities, never names, for your own programme.

GET /v1/signals
08Handle a consent change

What to do when a member narrows or withdraws a permission.

consent.revoked
09Receive webhooks

Signed events for orders, points, offers and consent.

POST your-endpoint
10Feed a micro label

Your content, events and benefits into your space in the app.

PUT /v1/labels/{id}/content
03 · The API at a glance

Resources, by service.

REST over HTTPS, JSON in and out, one base URL per environment. A selection of the resources in each service; the reference covers every field, error and event.

Identity & wallet

Members, sessions and consents, and the wallet behind them.

  • POST/v1/member-sessions
  • GET/v1/wallets/me
  • GET/v1/consents
  • DELETE/v1/consents/{id}
Loyalty & exchange

Programmes, earn and burn, and SwapX between programmes.

  • GET/v1/programmes
  • POST/v1/earn-events
  • POST/v1/swaps/quotes
  • POST/v1/swaps
Offers & content

Offers, redemptions, signals and content.

  • POST/v1/offers
  • GET/v1/offers/{id}/results
  • POST/v1/redemptions
  • GET/v1/signals
Supply

Search, holds and orders across stays, flights, transfers, tables and experiences.

  • POST/v1/search
  • POST/v1/holds
  • POST/v1/orders
  • GET/v1/orders/{id}
Basket & checkout

One basket across suppliers, paid once, split when needed.

  • POST/v1/baskets
  • POST/v1/baskets/{id}/items
  • POST/v1/baskets/{id}/pay
  • POST/v1/baskets/{id}/split
Connectors & plug-ins

The MCP server assistants call, with identity and consent carried through.

  • MCPsearch_supply
  • MCPhold_booking
  • MCPpay_basket
  • MCPread_wallet
04 · The basics

How every call behaves.

The same conventions across every service, so the second integration is quicker than the first.

  • AuthenticationOAuth 2.0 client credentials for your systems, and member tokens scoped by consent. Keys are held per environment.
  • EnvironmentsA sandbox with synthetic members, supply and settlement, and live. The base URL is the only thing that changes.
  • VersioningDated versions, set per request in the BLACKBOOK-Version header, so an upgrade happens when you choose.
  • IdempotencyAn Idempotency-Key on every write, so a retry never books or pays twice.
  • PaginationCursor-based, with limit and after on every list.
  • ErrorsJSON with a type, a code, a readable message and a request id to quote to support.
  • Rate limitsPer key, with the remaining allowance returned in the response headers.
  • WebhooksSigned events, retried until acknowledged: order.confirmed, points.posted, offer.redeemed, consent.revoked and more.
05 · SDKs and components

Drop in the pieces, or call them yourself.

Native components for the app you already publish, themed to your brand, and server libraries for the calls behind them.

iOS

The wallet, offers, basket and checkout as native modules.

Swift
Android

The same modules for Android apps.

Kotlin
Web components

Drop-in elements for the wallet, offers and basket on your own site.

<bb-wallet>
Server libraries

Typed clients for the API, with webhook signature checks built in.

Node · Python
MCP server

The services as tools for Claude, ChatGPT and other assistants, under your brand.

mcp.blackbookapp.co
Sandbox data

Synthetic members, supply and settlement to build and test against.

sandbox
07 · Short answers

The short answers.

Do we have to replace anything?

No. Whatever you run today keeps running — the loyalty engine, the reservation system, the policy platform, the membership database, the CMS. We connect around it.

Who holds the customer?

You do, whether you call them a member, a cardholder, a guest, a policyholder or a subscriber. We work on a token you mint and resolve; identity, contact details and the send button stay on your side.

Can we bring our own inventory or offers?

Yes. Whatever you already sell or already give away — rooms, seats, cover, court time, tickets, subscriber benefits — sits alongside ours in the same basket and settles the same way. Commercial terms vary with what each side brings, so the split reflects it and the arrangement is worth doing for both of us.

What about payments?

Orchestration sits under the basket — settlement across multiple suppliers, split bills, and points and cash in the same transaction. Card data is tokenised and never held by us.

How long does a first integration take?

Weeks, not quarters, for one service against one use case. Most partners start with a single flow and widen from there.

We are not in travel. Is this for us?

Yes. Travel is the first place the wallet gets used, not the limit of it. Card programmes, clubs, insurers, publishers and retailers all build on the same services — identity, a currency, offers, a basket that settles.

Where does it run?

A dedicated environment per partner, in the region you require, encrypted in transit and at rest, with a full audit trail.

Where are the docs?

With access. The reference, the SDKs and the keys arrive together, once we know which services you want.

08 · Access

Tell us what you want to build.

A short note is enough. We come back with the reference, sandbox keys for the services you need, and someone technical on the other end of it.