SBC Connect API
Overview
The SBC Connect API (formerly Auth API) exposes the account, identity, and delegation surfaces behind BC Registries services. The endpoints documented here fall into three groups, each with a specific audience.
| Section | Audience | What it does |
|---|---|---|
| Ministry / Partner applications | Resolve the user's BC Registries accounts after SSO | |
| Internal (Business Registry) | Attach businesses to a BC Registries account | |
| Vendor / API accounts | Act on a customer account using a shared linking key |
Partner Authentication
Partner apps sell their own products (e.g. birth or death certificates, court services) and use BC Registries as the underlying authentication and payment infrastructure. The runtime flow:
- User signs in through BC Registries SSO. Your app receives the user's bearer token.
- Look up the user's BC Registries accounts by calling
GET /users/orgswith the bearer:Authorization: Bearer <user token> x-apikey: <your app API key>
The response lists every account the user belongs to:{ "orgs": [ { "id": 574, "name": "Acme Legal", ... }, ... ] } - Let the user select an account. Carry that account's
idas theAccount-Idheader on all subsequent requests. A user may switch accounts mid-session; your app is responsible for updatingAccount-Idwhen they do. - Call BC Registries services (typically Pay) with the three headers:
Account-Id: <selected account id> Authorization: Bearer <user token> x-apikey: <your app API key>
Billing routes to the selected account. Revenue collected on your behalf is settled separately, outside the API surface.
Optionally, call GET /users/@me to fetch the signed-in user's profile (name, username, etc.) for display in your app.
Business Affiliations
Endpoints used by Business Registry to attach the businesses managed by a BC Registries account. A business can be affiliated to an account using one of three methods:
- Passcode
- Magic link
- Delegation
These endpoints are consumed internally by Business Registry and are not typically called directly by external vendors or partner apps.
Account Linking Coming soon
Account linking lets a vendor account (e.g. third-party software for registration submissions) submit data digitally on behalf of a source account (e.g. a lawfirm) using a shared linking key. The vendor works with the source account's affiliated businesses; billing routes to the vendor's own account.
A link is established through a browser redirect handshake that the vendor initiates. The source account's admin authenticates at BC Registries, picks the account, and confirms the link. On success, BC Registries redirects back to the vendor with the linking key.
Prerequisite: return URL allow-list
Before you can use account linking, register the return URL(s) your vendor app will use with BC Registries. The handshake will only redirect back to URLs on the allow-list configured against your vendor API account.
The linking handshake
- Vendor redirects the user's browser to the BC Registries account linking page, passing the vendor account id and a return URL as query parameters:
GET <BC Registries account linking URL>?vendorAccountId=<vendor account id>&returnUrl=<allow-listed URL> - The user signs in to BC Registries and, in the account picker, selects the source account they want to link. A confirmation step names the vendor being linked so the user knows what they are authorizing through the vendor's request.
- BC Registries mints and binds the linking key in a single step, associating the selected source account with the vendor account. There is no separate bind call for the vendor to make.
- BC Registries redirects the user's browser back to the return URL with the source account id and the linking key appended as query parameters:
<returnUrl>?accountId=<source account id>&linkingKey=<secret> - Vendor stores the linking key against that source account id. When making later API calls for this customer, the vendor looks up the key by source account id.
Using the linking key
On subsequent requests to any BC Registries API, include the linking key as a header alongside your normal authentication:
Account-Id: <vendor's own account id>
x-apikey: <vendor's API key>
Account-Linking-Key: <the stored key for the target source account>
Requests are resolved against the source account's affiliated businesses. All transaction summaries are logged on the vendor account only.
Lifecycle
- One active key per (source, vendor) pair. Running the handshake again for the same pair supersedes the previous key.
- Expiration. Account linking keys expire 365 days after they are issued. The source account administrator can obtain a new linking key at any time by logging in to BC Registries through the vendor system; the new key supersedes the old.
- Revocation. Admins and coordinators on the source account can revoke the linking key at any time from their BC Registries account. Subsequent API calls from the vendor using a revoked key return
401 Unauthorized.
View the API
View the definition and select a path to try it out. To submit a request you will need an API key and an account ID, which are obtained as part of completing an access request. To set your session API key, click on the top, right AUTHORIZE button and under API Key Auth enter your key value. Click on AUTHORIZE, then OK.
Date and Date Time Formats
| Type | Format | Example |
|---|---|---|
| Date | YYYY-MM-DD | 2020-05-14 |
| DateTime | YYYY-MM-DDThh:mm:ss[Z|+hh:mm]. Either +hh:mm (the time zone offset) or Z must be supplied. Default Z for Pacific time zone value. | 2020-05-14T21:08:32Z |
API Version History
| Date | Version | Description |
|---|---|---|
| 2026-07-15 | 1.0.3 | Added Account Linking sections. |
| 2025-04-11 | 1.0.0 | Initial version |
Additional Resources
Postman collection of these calls is included in the Business Registry postman collection.
Page History
Updates of note to this page are recorded here.
| Date | Description |
|---|---|
| 2026-07-15 | Added Account Linking sections. |
| 2025-04-03 | Initial version |