POST/api/v4/social/brands/archive

Archive 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.

Requires an API key. See Authentication for header format and key rotation.

Parameters

Body

NameTypeRequiredDescription
inputobjectrequiredWrapper object. The entire request body must be nested under `input`.
input.socialProfileIdstringrequiredUUID 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.

Request body
{  "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.
Response
{  "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`.
Response
{  "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. success is false, error.code is SY95051, and the brand is unchanged.

Notes.

  • The request body must be wrapped in an input object, and the field is socialProfileId, not brandId.
  • Check success, not the HTTP status. A tenure failure is an HTTP 200 with success: false, status: "TENURE_NOT_MET" and SY95051 in error.
  • 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/limits reflects it on the next read as a lower usage.connectionsActive and a higher usage.connectionsReleased. The billable usage.connections is 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.

Request
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"    }  }'