GET
/sites/{siteId}/banner/wordingRead the banner's words
The heading, the explanation, the three button labels and each purpose's name and description, as visitors read them now.
Auth header
Authorization: Bearer tsk_live_…The key needssites:read
Parameters
siteIdstringin pathrequiredThe site id, from GET /v1/sites.
Example request
curl "https://app.tagsentry.ai/api/v1/sites/3f6c1b8e-2d4a-4c7e-9a51-0b8f2e6d7c10/banner/wording" \ -H "Authorization: Bearer tsk_live_…"Response 200
titlestringrequiredbodystringrequiredacceptAllstringrequiredrejectAllstringrequiredmanagestringrequiredcategoryCopymap of objectrequiredEach purpose the site has, with the name and description the preferences view shows.
categoryCopy{}.namestringrequiredcategoryCopy{}.descriptionstringrequired
Example response
{ "title": "…", "body": "…", "acceptAll": "…", "rejectAll": "…", "manage": "…", "categoryCopy": { "key": { "name": "_ga", "description": "…" } }}More about this endpoint
The starting point for a PUT or PATCH.
Errors401 · 403 · 404 · 409 · 429 · 500
401Missing, malformed, unknown, revoked or expired API key. These are deliberately indistinguishable in the response -- distinguishing them would confirm to a caller that a token was once real.403The key authenticated but does not carry the scope(s) this operation requires, or (`domain_not_verified`) the site's domain is not verified, so its consent records are not released.404No such resource on this account. A site id belonging to a DIFFERENT account answers 404, never 403 -- a 403 would confirm the id exists somewhere.409The request conflicts with existing state.429A rate limit or quota was exceeded. The body names WHICH one.500Something failed on our side. The requestId in the body is what to quote.
Every error has the same body: { error: { code, message, requestId } }.
From the OpenAPI document, version 2026-08-26. Raw OpenAPI