API reference
Partner Hub Management API
Manage reseller relationships, product assignments, serial inventory and conversations with developer workspace authentication.
Choose the correct partner surface
These are first-party developer workspace operations authenticated with an account Bearer token. They require partners.view and all-products scope; writes additionally require partners.manage. Serial-pool export also requires partners.manage. An external reseller must use its approved partner integration, not a developer account token.
Relationship discovery, requests, decisions, assignments, serial pools and conversations are separate from external order fulfillment and money movement. A saved commercial term or serial allocation does not prove a sale, collected payment, tax remittance or payout. SoundSync covers processing costs on SoundSync-managed checkout, not an external reseller sale.
Request a relationship, then assign products
Read the reseller directory and existing relationships before requesting one with partnerId. An existing relationship can be returned rather than duplicated. Accept or deny only an eligible request. Pausing/resuming a relationship is not the same as deleting products or refunding customer orders.
Product assignment uses a catalog product ID; later PATCH/DELETE uses the assignment record ID. Review supported SKUs, commercial terms and basis-point shares before saving. Assignment does not grant every product in the workspace. Allocate serial inventory only after checking the active relationship, product eligibility and supported pool rules; reconcile an uncertain allocation before retrying.
Keep conversations and serial exports private
Start a thread with subject and body/message; reply using the thread ID within the same relationship. Message responses return a thread or message wrapper. Thread message pages report has_more, limit and offset. Never include customer passwords, tokens or full serials in messages.
Serial-pool export returns a private CSV attachment containing usable keys. Keep it out of screenshots, public links and logs. Allocation is inventory, not evidence that each key was sold or redeemed.
SoundSync
Retired Partner Hub fulfillment writes
| Developer workspace path | Current result |
|---|---|
| POST /api/developer/partners/{relationshipId}/orders | 410 PARTNER_FULFILLMENT_DISABLED; authorized historical GET reads remain separate. |
| POST /api/developer/partners/resellers/{relationshipId}/orders | 410 PARTNER_FULFILLMENT_DISABLED; not the external partner order API. |
| POST /api/developer/partners/resellers/{relationshipId}/api-keys and /api-keys/{keyId}/rotate or /revoke | 410 PARTNER_FULFILLMENT_DISABLED on these legacy workspace writes; not a claim that all partner integrations are disabled. |
| POST /api/developer/partners/resellers/{relationshipId}/statements/generate and PATCH /statements/{statementId} | 410 PARTNER_FULFILLMENT_DISABLED; historical reports are not payout execution. |
SoundSync
External integrations and payout reporting
SoundSync
Requests and responses
/api/developer/partners/directory/resellers
Browse the eligible reseller directory
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope.
- Returns
- HTTP 200: resellers.
- Notes
- partners.view and all-products workspace scope. Relationship and product ownership checks still apply.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"resellers": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/resellers
List developer reseller relationships
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope.
- Returns
- HTTP 200: relationships.
- Notes
- partners.view and all-products workspace scope. Relationship and product ownership checks still apply.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"relationships": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}
Read an owned reseller relationship
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope.
- Returns
- HTTP 200: relationship.
- Notes
- partners.view and all-products workspace scope. Relationship and product ownership checks still apply.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"relationship": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/requests
Request a developer-reseller relationship
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Request fields
- partnerId: integer
- partner_id: integer
- message: string
- reason: string
- note: string
- Returns
- HTTP 201: relationship.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply. Creates a relationship request, not approval or permission to sell every product.
Request, response and error reference
Request (application/json)
{
"type": "object",
"properties": {
"partnerId": {
"type": "integer",
"minimum": 1
},
"partner_id": {
"type": "integer",
"minimum": 1
},
"message": {
"type": "string"
},
"reason": {
"type": "string"
},
"note": {
"type": "string"
}
},
"additionalProperties": true,
"anyOf": [
{
"required": [
"partnerId"
]
},
{
"required": [
"partner_id"
]
}
]
}
HTTP 201 response (application/json)
{
"type": "object",
"properties": {
"relationship": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/resellers/{relationshipId}/accept
Accept an eligible reseller request
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Request fields
- reason: string
- Returns
- HTTP 200: relationship.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply. The current request side and status must allow this decision. Re-read state after a conflict.
Request, response and error reference
Request (application/json)
{
"type": "object",
"properties": {
"reason": {
"type": "string"
}
},
"additionalProperties": true
}
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"relationship": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/resellers/{relationshipId}/deny
Deny a reseller request
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Request fields
- reason: string
- Returns
- HTTP 200: relationship.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply. The current request side and status must allow this decision. Re-read state after a conflict.
Request, response and error reference
Request (application/json)
{
"type": "object",
"properties": {
"reason": {
"type": "string"
}
},
"additionalProperties": true
}
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"relationship": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/pause
Set the relationship to paused
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Returns
- HTTP 200: relationship.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"relationship": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/resume
Set the relationship to active
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Returns
- HTTP 200: relationship.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"relationship": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/products
List assigned relationship products
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope.
- Returns
- HTTP 200: products.
- Notes
- partners.view and all-products workspace scope. Relationship and product ownership checks still apply.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/products/assign
Assign or approve an owned product for this relationship
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Request fields
- productId: integer
- product_id: integer
- status: string
- resellerSku: string
- reseller_sku: string
- resellerProductName: string
- commercialModel: string
- commissionRateBps: integer
- developerRevenueShareBps: integer
- currency: string
- minimumAdvertisedPriceCents: integer
- licenseCap: integer
- monthlyLicenseCap: integer
- apiEnabled: boolean
- manualIssueEnabled: boolean
- staticExportEnabled: boolean
- metadata: object. Operation-specific extension data; do not put credentials or unnecessary personal information here.
- Returns
- HTTP 201: product.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply. Supported snake-case commercial fields are also accepted. Commission/share fields are basis points. This saves an assignment; it does not create a sale, license claim or payout. Review commercial terms before saving.
Request, response and error reference
Request (application/json)
{
"type": "object",
"properties": {
"productId": {
"type": "integer",
"minimum": 1
},
"product_id": {
"type": "integer",
"minimum": 1
},
"status": {
"type": "string"
},
"resellerSku": {
"type": "string"
},
"reseller_sku": {
"type": "string"
},
"resellerProductName": {
"type": "string"
},
"commercialModel": {
"type": "string"
},
"commissionRateBps": {
"type": "integer"
},
"developerRevenueShareBps": {
"type": "integer"
},
"currency": {
"type": "string"
},
"minimumAdvertisedPriceCents": {
"type": "integer"
},
"licenseCap": {
"type": "integer"
},
"monthlyLicenseCap": {
"type": "integer"
},
"apiEnabled": {
"type": "boolean"
},
"manualIssueEnabled": {
"type": "boolean"
},
"staticExportEnabled": {
"type": "boolean"
},
"metadata": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true,
"anyOf": [
{
"required": [
"productId"
]
},
{
"required": [
"product_id"
]
}
]
}
HTTP 201 response (application/json)
{
"type": "object",
"properties": {
"product": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/products/{assignmentId}
Update the saved product assignment
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Request fields
- productId: integer
- product_id: integer
- status: string
- resellerSku: string
- reseller_sku: string
- resellerProductName: string
- commercialModel: string
- commissionRateBps: integer
- developerRevenueShareBps: integer
- currency: string
- minimumAdvertisedPriceCents: integer
- licenseCap: integer
- monthlyLicenseCap: integer
- apiEnabled: boolean
- manualIssueEnabled: boolean
- staticExportEnabled: boolean
- metadata: object. Operation-specific extension data; do not put credentials or unnecessary personal information here.
- Returns
- HTTP 200: product.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply. assignmentId is the relationship-product record, not the catalog product ID. Omitted saved fields are retained; reload the assignment before editing commercial terms.
Request, response and error reference
Request (application/json)
{
"type": "object",
"properties": {
"productId": {
"type": "integer",
"minimum": 1
},
"product_id": {
"type": "integer",
"minimum": 1
},
"status": {
"type": "string"
},
"resellerSku": {
"type": "string"
},
"reseller_sku": {
"type": "string"
},
"resellerProductName": {
"type": "string"
},
"commercialModel": {
"type": "string"
},
"commissionRateBps": {
"type": "integer"
},
"developerRevenueShareBps": {
"type": "integer"
},
"currency": {
"type": "string"
},
"minimumAdvertisedPriceCents": {
"type": "integer"
},
"licenseCap": {
"type": "integer"
},
"monthlyLicenseCap": {
"type": "integer"
},
"apiEnabled": {
"type": "boolean"
},
"manualIssueEnabled": {
"type": "boolean"
},
"staticExportEnabled": {
"type": "boolean"
},
"metadata": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"product": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/products/{assignmentId}
Remove the supported product assignment
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Returns
- HTTP 200: product.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply. Does not issue a refund or erase customer payment history.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"product": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/serials
Read relationship serial inventory
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope.
- Returns
- HTTP 200: serials.
- Notes
- partners.view and all-products workspace scope. Relationship and product ownership checks still apply.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"serials": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/serials/allocate
Allocate product serial inventory
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Request fields
- productId: integer
- product_id: integer
- relationshipProductId: integer
- quantity: integer
- batchLabel: string
- notes: string
- fulfillmentMode: "generated_serials"
- prefix: string
- price: number
- price_cents: integer
- sale_price: number
- sale_price_cents: integer
- expiresAt: string,null
- autoRevokeUnusedOnExpiry: boolean
- promoStart: string,null
- promoExpires: string,null
- Returns
- HTTP 201: pool, allocation, quantity, count, items_created, serials.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply. The current generated-pool model requires productId/product_id and a regular price or price_cents estimate, including explicit 0 for a free product. quantity defaults to 1. Only generated_serials is supported; serial imports are rejected by this path. Product serial support and an active relationship are checked. The optional four-character prefix is letters/numbers. Expiry must be future-dated; automatic unused-serial removal requires an expiry. Supported snake-case aliases are accepted. This allocates inventory, not proof of a reported sale or payment. No blanket idempotency guarantee; reconcile an uncertain allocation before retrying.
Request, response and error reference
Request (application/json)
{
"type": "object",
"properties": {
"productId": {
"type": "integer",
"minimum": 1
},
"product_id": {
"type": "integer",
"minimum": 1
},
"relationshipProductId": {
"type": "integer",
"minimum": 1
},
"quantity": {
"type": "integer",
"minimum": 1
},
"batchLabel": {
"type": "string"
},
"notes": {
"type": "string"
},
"fulfillmentMode": {
"const": "generated_serials"
},
"prefix": {
"type": "string",
"pattern": "^[A-Za-z0-9]{4}$"
},
"price": {
"type": "number"
},
"price_cents": {
"type": "integer"
},
"sale_price": {
"type": "number"
},
"sale_price_cents": {
"type": "integer"
},
"expiresAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"autoRevokeUnusedOnExpiry": {
"type": "boolean"
},
"promoStart": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"promoExpires": {
"type": [
"string",
"null"
],
"format": "date-time"
}
},
"additionalProperties": true
}
HTTP 201 response (application/json)
{
"type": "object",
"properties": {
"pool": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"allocation": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"quantity": {
"type": "integer"
},
"count": {
"type": "integer"
},
"items_created": {
"type": "integer"
},
"serials": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/serials/{poolId}/export
Download allocated serials as private CSV
- Auth
- Account Bearer JWT
- Scope
- partners.view + partners.manage and all-products workspace scope.
- Returns
- HTTP 200: text/csv.
- Notes
- partners.view and all-products workspace scope. Relationship and product ownership checks still apply. This read additionally requires partners.manage because the CSV contains usable serials. Preserve the private attachment; never expose it in public logs or documentation.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (text/csv)
{
"type": "string",
"format": "binary"
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/conversations
Read relationship conversation threads
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope.
- Returns
- HTTP 200: conversations.
- Notes
- partners.view and all-products workspace scope. Relationship and product ownership checks still apply.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"conversations": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/conversations
Start a relationship conversation
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Request fields
- body: string
- message: string
- attachments: array
- internal_note: boolean
- subject: string (required)
- threadType: string
- linkedProductId: integer
- linkedExternalOrderId: integer
- Returns
- HTTP 201: thread, message.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply. A subject and non-empty body/message are required. Do not put customer credentials or full serials into messages.
Request, response and error reference
Request (application/json)
{
"type": "object",
"properties": {
"body": {
"type": "string"
},
"message": {
"type": "string"
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"internal_note": {
"type": "boolean"
},
"subject": {
"type": "string"
},
"threadType": {
"type": "string"
},
"linkedProductId": {
"type": "integer",
"minimum": 1
},
"linkedExternalOrderId": {
"type": "integer",
"minimum": 1
}
},
"required": [
"subject"
],
"additionalProperties": true,
"anyOf": [
{
"required": [
"body"
]
},
{
"required": [
"message"
]
}
]
}
HTTP 201 response (application/json)
{
"type": "object",
"properties": {
"thread": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"message": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/resellers/{relationshipId}/conversations/{threadId}/messages
Read messages in an owned relationship thread
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope.
- Request fields
- query limit: integer
- query offset: integer
- Returns
- HTTP 200: thread, messages, has_more, limit, offset.
- Notes
- partners.view and all-products workspace scope. Relationship and product ownership checks still apply. The thread must belong to this relationship. Message pages are returned in chronological display order.
Request, response and error reference
Query and header parameters
[
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1
},
"required": false,
"description": ""
},
{
"name": "offset",
"in": "query",
"schema": {
"type": "integer"
},
"required": false,
"description": ""
}
]
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"thread": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"messages": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"has_more": {
"type": "boolean"
},
"limit": {
"type": "integer"
},
"offset": {
"type": "integer"
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/resellers/{relationshipId}/conversations/{threadId}/messages
Reply to an owned relationship thread
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope. Writes additionally require partners.manage.
- Request fields
- body: string
- message: string
- attachments: array
- internal_note: boolean
- Returns
- HTTP 201: message.
- Notes
- partners.view and all-products workspace scope. Writes additionally require partners.manage. Relationship and product ownership checks still apply.
Request, response and error reference
Request (application/json)
{
"type": "object",
"properties": {
"body": {
"type": "string"
},
"message": {
"type": "string"
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"internal_note": {
"type": "boolean"
}
},
"additionalProperties": true,
"anyOf": [
{
"required": [
"body"
]
},
{
"required": [
"message"
]
}
]
}
HTTP 201 response (application/json)
{
"type": "object",
"properties": {
"message": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
/api/developer/partners/{relationshipId}/activity
Read the relationship activity history
- Auth
- Account Bearer JWT
- Scope
- partners.view and all-products workspace scope.
- Request fields
- query limit: integer
- query offset: integer
- Returns
- HTTP 200: activity.
- Notes
- partners.view and all-products workspace scope. Relationship and product ownership checks still apply.
Request, response and error reference
Query and header parameters
[
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1
},
"required": false,
"description": ""
},
{
"name": "offset",
"in": "query",
"schema": {
"type": "integer"
},
"required": false,
"description": ""
}
]
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"activity": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
}
},
"additionalProperties": true
}
Documented failures: 400, 401, 403, 404, 409, 500, 503.
