The Subscriptions API creates and manages Subscription records that connect a source product, a storage destination, and data source credentials (remote identity).
Destinations are products, but they are managed exclusively through the UI. The API supports reading destination records but does not allow creating or updating them.
| API | Base URL |
|---|---|
| Account | https://account.api.openbridge.io |
| User | https://user.api.openbridge.io |
| Subscriptions | https://subscriptions.api.openbridge.io |
| Products (via proxy) | https://service.api.openbridge.io/service/products |
| Remote Identity | https://remote-identity.api.openbridge.io |
All requests require a JWT access token passed as a Bearer token:
Authorization: Bearer {your_access_token}
Obtain an access token by posting your refresh token to the Authentication API. See Authentication API for the full flow.
Before creating a subscription you will need your account ID, user ID, a source product ID, the ID of an existing remote identity (for source products that connect to a third-party data source), and the ID of an existing storage destination.
See Account and User API for the endpoints that return your account ID and user ID. Use the id field from each response as account and user respectively in subscription requests.
Returns all active products. Use the id field as the product value when creating a subscription.
GET https://subscriptions.api.openbridge.io/product
Common query filters:
is_storage_product={0|1}—1for destination products,0for source productsremote_identity_type={id}— filter by required remote identity typeactive={0|1}— defaults to1
Returns a single product by ID.
GET https://subscriptions.api.openbridge.io/product/{product_id}
See the Products API for full field reference, query filters, and example responses.
For source products, retrieve payload definitions to find valid stage_id values. These are required in the stage_ids subscription meta attribute and in History API requests. This is a separate call to the service API — it is not part of the Subscriptions API.
GET https://service.api.openbridge.io/service/products/product/{product_id}/payloads?stage_id__gte=1000
See the Products API for full details on payload definitions.
Remote identities represent the data source credentials (OAuth tokens, service account keys, etc.) that authorize Openbridge to pull data on your behalf. They are created and authorized through the Openbridge UI — you cannot create them via the API.
GET https://remote-identity.api.openbridge.io/ri
Use the id from the matching record as remote_identity in the subscription request. Most source products also require this same ID to be passed as the remote_identity_id meta attribute (as a string value).
Note: Not all products require a remote identity. Destination products and source products that do not connect to a third-party data source do not use this field.
Destinations are read-only via the API; create and manage them in the UI.
GET https://subscriptions.api.openbridge.io/storages?status=active
Use the destination's id as storage_group when creating a source subscription.
POST https://subscriptions.api.openbridge.io/sub
Example — source product with stage_ids and remote_identity_id:
{
"data": {
"type": "Subscription",
"attributes": {
"account": "{account_id}",
"user": "{user_id}",
"product": 79,
"name": "My Subscription",
"status": "active",
"date_start": "2024-01-01T00:00:00Z",
"date_end": "2024-01-01T00:00:00Z",
"remote_identity": "{remote_identity_id}",
"storage_group": "{storage_group_id}",
"subscription_product_meta_attributes": [
{
"data_id": 0,
"data_key": "stage_ids",
"data_value": "[1000]",
"data_format": "STRING",
"product": 79
},
{
"data_id": 0,
"data_key": "remote_identity_id",
"data_value": "{remote_identity_id}",
"data_format": "STRING",
"product": 79
}
]
}
}
}Meta attributes pattern:
The subscription_product_meta_attributes array passes product-specific configuration alongside the subscription. Each entry has the following fields:
data_key— the attribute name (e.g.,stage_ids,remote_identity_id,profile_id,project_id)data_value— the value as a stringdata_format—STRINGorJSONproduct— the product ID this meta entry applies todata_id— set to0for new entries
stage_ids is required for source products that use pipeline stages. remote_identity_id is required as an SPM entry for source products that connect to a third-party data source — it carries the same value as the top-level remote_identity field, passed as a string. Additional keys are product-specific — consult your product's documentation for the full list. Destination products do not use subscription_product_meta_attributes.
GET https://subscriptions.api.openbridge.io/sub/{subscription_id}
Returns a single subscription record by ID.
GET https://subscriptions.api.openbridge.io/sub
Common query filters:
status__not=invalid— exclude invalid subscriptionsaccount={account_id}— filter by accountproduct={product_id}— filter by product
Partial update. All fields are optional.
PATCH https://subscriptions.api.openbridge.io/sub/{subscription_id}
Example — update stage_ids meta:
{
"data": {
"type": "Subscription",
"id": "{subscription_id}",
"attributes": {
"subscription_product_meta_attributes": [
{
"data_id": 0,
"data_key": "stage_ids",
"data_value": "[1000]",
"data_format": "STRING",
"product": 79
}
]
}
}
}Returns the SubscriptionProductMeta records for a subscription.
GET https://subscriptions.api.openbridge.io/spm?subscription={subscription_id}
Filter by key:
GET https://subscriptions.api.openbridge.io/spm?subscription={subscription_id}&data_key=stage_ids
| Field | Type | Required | Description |
|---|---|---|---|
account |
integer | Yes | Account ID (from GET /account) |
user |
integer | Yes | User ID (from GET /user) |
product |
integer | Yes | Product ID (from GET /product) |
name |
string | No | Human-readable label for the subscription |
status |
enum | Yes | One of: active, cancelled, paused, invalid |
date_start |
datetime | Yes | Subscription start date (ISO 8601) |
date_end |
datetime | Yes | Subscription end date (ISO 8601) |
remote_identity |
integer | No | ID of the connected data source credential |
storage_group |
integer | No | ID of the storage destination (from GET /storages) |
subscription_product_meta_attributes |
array | No* | Product-specific configuration metadata |
* Required for source products. Destination products do not use this field.
| Field | Type | Description |
|---|---|---|
data_id |
integer | Set to 0 for new entries |
data_key |
string | Attribute name (e.g., stage_ids, remote_identity_id, profile_id) |
data_value |
string | Attribute value as a string |
data_format |
enum | STRING or JSON |
product |
integer | Product ID this meta entry applies to |