Developers
Everything an engineer - or an AI agent - needs to integrate with waybill.ge. The product's primary programmatic surface is a hosted MCP (Model Context Protocol) server; a small public REST API and machine-readable discovery files sit alongside it.
Quick reference
| Resource | URL |
|---|---|
| MCP endpoint | /mcp (streamable HTTP) |
| Agent index (llms.txt) | /llms.txt |
| OpenAPI spec | /openapi.json |
| API reference (Swagger UI) | /docs |
| Public REST API | /api/v1/ |
| OAuth discovery | /.well-known/oauth-protected-resource/mcp/ |
| Site map | /sitemap.xml |
Markdown-first: every public page on this site is also available as
text/markdown - either send an Accept: text/markdown header or
append .md to the path (for example /developers.md).
Authentication and scopes
Two credential types, both sent as a Bearer token to /mcp:
- OAuth 2.1 (recommended for agent platforms such as claude.ai,
Claude Code, and ChatGPT). Grok Bot uses the same account.
Authorization-code flow with PKCE; dynamic
client registration (RFC 7591) and client-ID metadata documents are
both supported. Scope model:
mcp- access to the tenant's RS.GE waybill tools, read-only Balance.ge accounting tools and read-only QuickShipper delivery tools, on the same approval. Trial includes full access to all features. A monthly action limit still applies. Balance tools do not post or write the ledger; QuickShipper tools do not create, change or cancel deliveries. Discovery starts at/.well-known/oauth-protected-resource/mcp/. The same scope covers the read-only Bank of Georgia tools.
- API keys (
rsk_live_...) minted in the dashboard under API keys. A key is tenant-scoped, revocable at any time, shown once at creation, and stored server-side as an Argon2 hash. Keys use the same account and the same monthly action limit as OAuth tokens.
Never embed your RS.GE service password, your Balance.ge API password or your QuickShipper login in a client; each is entered once in the dashboard (QuickShipper keeps only the login token it issues) and stored encrypted.
The same goes for a Bank of Georgia API key: it is entered once in the dashboard and stored encrypted.
MCP tools
The server exposes typed tools for the full RS.GE waybill lifecycle:
save_waybill_draft, activate_waybill, close_waybill,
cancel_waybill, confirm_waybill, reject_waybill,
save_invoice_from_waybill, plus read tools (get_waybill,
list_seller_waybills, list_buyer_waybills, lookup_name_by_tin,
lookup_taxpayer_info, list_units, list_waybill_types,
list_transport_types) and system tools (check_credentials,
get_quota_status, get_egress_ip, whoami).
For RS.GE e-invoices without a waybill it exposes
save_advance_invoice, save_supply_invoice, attach_advance_invoice
(offsets an advance against the final invoice), send_invoice,
get_invoice and list_attachable_advance_invoices.
The same server exposes read-only Balance.ge tools for connected
cloud.balance.ge companies: balance_list_companies,
balance_check_credentials, balance_list_clients,
balance_list_vendors, balance_list_items, balance_list_employees,
balance_list_warehouses, balance_list_branches,
balance_list_price_types, balance_get_stocks, balance_get_prices,
balance_client_balances, balance_vendor_balances,
balance_fetch_general_ledger, balance_cash_flow,
balance_open_financials, balance_open_operations. These tools
answer questions. They do not post or write the ledger.
For QuickShipper delivery accounts it exposes read-only tools:
quickshipper_list_connections, quickshipper_get_delivery_quote
(live prices for a route; needs both addresses and coordinates),
quickshipper_get_order (one delivery's status history and tracking
link) and quickshipper_list_orders (your deliveries by Tbilisi date
range and status, newest first). They do not create, change or cancel
deliveries, and phone numbers and coordinates are left out of order
answers.
For Bank of Georgia accounts it exposes read-only tools:
bank_list_connections, bank_check_connection, bank_get_balances,
bank_list_transactions and bank_statement_summary. They read only
the accounts the user selected, with the Business Online API key the
user entered in the dashboard, and cannot make payments or transfers.
Every tool returns a structured {ok, data | code+message} JSON shape.
Public REST API
A minimal unauthenticated surface for integrators and agents:
GET /api/v1/plans- the current plan catalog (names, prices in GEL, quotas, company allowances per integration) as typed JSONGET /health- service health (DB, RS.GE WSDL, payments provider)
Both are described with typed response schemas and operation IDs in
/openapi.json.
Versioning and deprecation policy
- The REST surface is versioned in the URL path (
/api/v1/). Breaking changes ship as a new path version;v1responses will not change shape without a version bump. - MCP tool schemas are additive by default: fields are added, not removed or repurposed.
- When a surface is scheduled for removal we announce it at least
6 months ahead: the affected responses gain
DeprecationandSunsetheaders (RFC 8594) and the change is documented on this page. Nothing is removed silently.
Rate limits and quotas
- The public REST API is rate-limited per client IP. Responses carry
the IETF draft rate-limit headers (
RateLimit-Limit,RateLimit-Remaining,RateLimit-Reset,RateLimit-Policy); exceeding the window returns429with aRetry-Afterheader. - MCP tool calls draw down a per-tenant plan quota. Check remaining
quota programmatically with the
get_quota_statustool; exceeding it returns a structuredQUOTA_EXCEEDEDtool error (never a bare HTTP failure), and upgrade options are linked in the error payload.
Getting started
- Sign up (14-day trial, no card required)
- Connect a system in the dashboard. RS.GE: setup guide. Balance (read-only): /dashboard/integrations. Bank of Georgia (read-only): /dashboard/integrations. QuickShipper (read-only): /dashboard/integrations. Any one is enough to start.
- Add the MCP server to your assistant. Cursor users: see the Connect Cursor section. The dashboard's Connector page has copy-paste instructions for claude.ai, Claude Cowork, Claude Desktop, Claude Code, and Codex. ChatGPT and Grok Bot use the same account. Or mint an API key for custom clients.
Integration questions: hello@waybill.ge.