/api/v4/social/brands/archiveArchive a brand
Archives a social brand and takes its connections offline immediately, once the brand has met the 90-day tenure rule; the connection slots are held until the end of the billing period.
Parameters
Body
| Name | Type | Required | Description |
|---|---|---|---|
| input | object | required | Wrapper object. The entire request body must be nested under `input`. |
| input.socialProfileId | string | required | UUID of the brand to archive. Same value as the `brandId` path token used elsewhere. |
Sample request
Ready-to-paste body. Replace placeholder IDs and values with yours.
{ "input": { "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902" }}Responses
200Brand archived. Its connections are archived with it and go offline at once, but their slots stay counted against `maxConnections` until the billing period ends.
{ "data": { "archiveSocialProfile": { "success": true, "error": null, "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "status": "ARCHIVED" } }}200The brand is less than 90 days old and cannot be archived yet. `success` is `false` and `status` is `TENURE_NOT_MET`.
{ "data": { "archiveSocialProfile": { "success": false, "error": { "message": "SY95051: Brand must be at least 90 days old before it can be archived", "code": "SY95051", "contextInfo": null }, "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "status": "TENURE_NOT_MET" } }}401Unauthenticated, missing or invalid API key.
404No brand with that ID on this account (`SY95043`).
Archives a brand. Archival is immediate: once the brand has been on the account for at least 90 days, this call archives it and every social account connected to it in the same request, and those accounts stop publishing straight away.
Use case: planning the next cycle's capacity. Brands themselves are
unlimited and unmetered, so archiving is not about brand count — it is about
connections. If a client has churned, archiving their brand takes their channels
offline today and queues their slots to return at renewal, which is what
usage.connectionsReleased in
GET /social/limits reports. If you need the capacity
before then, buy a connection pack — that is the only change that takes effect
immediately.
Status values in the response:
ARCHIVED: the brand and its connections are archived. This is the only success outcome.TENURE_NOT_MET: the brand is younger than 90 days and cannot be archived yet.successisfalse,error.codeisSY95051, and the brand is unchanged.
Notes.
- The request body must be wrapped in an
inputobject, and the field issocialProfileId, notbrandId. - Check
success, not the HTTP status. A tenure failure is anHTTP 200withsuccess: false,status: "TENURE_NOT_MET"andSY95051inerror. - A brand must be at least 90 days old to be archived. This is the same rule locations are under; see Plans and add-ons. Retry after the brand's 90th day; there is no way to waive it from the API.
- Archiving a brand archives its connections. Every social account linked to
the brand is disconnected in the same operation, and
GET /social/limitsreflects it on the next read as a lowerusage.connectionsActiveand a higherusage.connectionsReleased. The billableusage.connectionsis unchanged until the period turns. - There is nothing to cancel on the brand. The archival itself does not wait for the end of a billing cycle, so there is no scheduled state and no cancel call for it. What is deferred is the billing consequence: the released connection slots, like a cancelled add-on pack, come back when the cycle closes.
Write operation: not executed against the live account. The request and response shown are built from the API schema.
curl -X POST 'https://listingsapi.com/api/v4/social/brands/archive' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902" } }'