Partner API
The Partner API gives partner users a company-scoped way to work with the Journeybee data shared with them. The partner surface is separate from the admin API and follows the same room, partnership, and sharing settings as the partner portal.Base URL
Authentication
Partner connections use either OAuth or a partner API key. Send the credential in theAuthorization header:
Getting started
CallGET /v1/partner/me with your credential to find out who you are and
which partnerships you can act on:
uuid, name,
partner_type, and status. That uuid is the {partnershipId} you send on
every other request (see Company and partnership scope
below).
Examples
List deals for a partnership:API keys
Partner API keys are created and revoked on the portal’s API & MCP page. When you create one you choose read and/or write access — the same scopes an OAuth connection carries — and the full key is shown exactly once, so store it securely. A key is scoped to your partner user and the company whose portal you created it on (not to a single partnership), and starts with thejb_partner_ prefix. Each partner user may have up to 10 active keys per
company — revoke ones you no longer need before creating more.
Scopes and permissions
Connections can haveread and write access. Most partner operations are
read-only; write endpoints require the connection to have write access.
Grant only the permissions an integration needs.
Company and partnership scope
Credentials are scoped to a partner user and company. A partner can have connections for multiple companies, and each company must be authorized separately. The partnership is selected for each API request:IDs are UUIDs
Every id in a partner API request or response is a UUID — partnership, lead, deal, tag, user, and contact ids are alluuid strings. IDs you receive back
from a request round-trip directly into filters and update calls; the API
never exposes numeric ids as resource identifiers. A few numeric fields do
appear as display-only metadata (logo/asset ids, custom-field option ids
inside options) — these are never accepted as identifiers in a request.
Responses & errors
List endpoints return a paginated envelope:code is one of unauthorized, forbidden, module_disabled, not_found,
validation_error, conflict, rate_limit_exceeded, or internal_error.
module_disabled means the company hasn’t enabled the Partner API for its
portal.
Requests are rate-limited to 500 requests per minute per partner user —
each partner user has their own budget, separate from other users at the same
company. Exceeding it returns a 429 Too Many Requests response with a
Retry-After header.