Acoustic · OpenAPI Overlay 1.0.0
API Evangelist enhancements for Acoustic Content API
8 actions
8 updates
servers
extends
openapi/acoustic-content-openapi-original.json
Derived by API Evangelist
Built from the contracts Acoustic publishes. Acoustic did not publish this file.
What the actions change
x-apievangelist-notex-apievangelist-provenancex-apievangelist-sibling-contractx-apievangelist-contract-gapsserverssecuritySchemesx-apievangelist-conventionsx-apievangelist-errors
Targets 7
$.info
$
$.components
$.paths['/authoring/v1/changes/status/ready'].post
$.paths['/delivery/v1/content/bulk_retrieve'].post
$.paths['/delivery/v1/rendering/context/{id}'].get
$.paths['/webhook/v1/profile'].put
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for Acoustic Content API
version: 1.0.0
extends: openapi/acoustic-content-openapi-original.json
x-generated: '2026-08-13'
x-method: generated
x-source: >-
Derived from the harvested contract plus the published Acoustic Content reference.
Everything here is an addition the original omits — the original file is never
mutated. The three biggest omissions this overlay repairs are servers[],
components.securitySchemes and operationIds; the first two are supplied from
Acoustic's own get-started page, the third cannot be supplied at all without
inventing identifiers, so it is recorded as a documented gap rather than filled.
actions:
- target: $.info
update:
x-apievangelist-provenance: >-
Extracted verbatim from the ReadMe-embedded API definition
(/branches/1.0/apis/acoustic-content-api.json) served on Acoustic's own
developer portal at developer.goacoustic.com/acoustic-content.
x-apievangelist-sibling-contract: openapi/acoustic-content-swagger2-original.yaml
x-apievangelist-contract-gaps:
- No servers[] block
- No components.securitySchemes
- No operationId on any of the 178 operations
- No security requirement on any operation, despite most requiring authentication
- target: $
update:
servers:
- url: https://{domainName}/api/{contentHubId}
description: >-
Tenant API URL. Read from the Acoustic Content UI (About > Hub information)
or from the x-ibm-dx-tenant-base-url response header returned by the login
service.
variables:
domainName:
default: content-us-1.content-cms.com
description: >-
Regional Content Hub domain, e.g. content-us-1.content-cms.com or
content-eu-4.content-cms.com.
contentHubId:
default: 00000000-0000-0000-0000-000000000000
description: The tenant's Content Hub ID (a UUID).
- target: $.components
update:
securitySchemes:
basicAuth:
type: http
scheme: basic
description: >-
Acoustic ID (email + password) or the literal user id AcousticAPIKey with an
API key value as the password, presented to /login/v1/basicauth.
userAuthToken:
type: apiKey
in: header
name: x-ibm-dx-user-auth
description: >-
Authentication token returned as a Set-Cookie by the login service and
replayed on subsequent authoring calls.
- target: $.info
update:
x-apievangelist-conventions: conventions/acoustic-conventions.yml
x-apievangelist-errors: errors/acoustic-problem-types.yml
x-apievangelist-data-model: data-model/acoustic-data-model.yml
x-apievangelist-webhooks: asyncapi/acoustic-webhooks.yml
x-apievangelist-skills: skills/_index.yml
x-apievangelist-idempotency:
supported: false
note: >-
No idempotency key exists on this API. Optimistic concurrency is expressed
through the rev / currentRev pair, and a stale rev returns error 20000
(mismatched.revs). Clients must re-read state before retrying a write.
x-apievangelist-rate-limits:
published: false
headers: []
note: rate-limits/acoustic-rate-limits.yml — no limits published for Acoustic Content.
- target: $.paths['/authoring/v1/changes/status/ready'].post
update:
x-apievangelist-note: >-
Returns 204 with no body on full success. Any other response carries the
outcome arrays (successful, skipped, userErrors, genericErrors, missing) plus a
messages object keyed by item uid — the status code alone is not sufficient to
determine what happened.
x-apievangelist-error-catalog: errors/acoustic-problem-types.yml
- target: $.paths['/delivery/v1/content/bulk_retrieve'].post
update:
x-apievangelist-note: >-
Hard cap of 25 ids per request. Ids beyond the 25th are silently ignored rather
than rejected, so a client that sends 100 ids receives a successful response
describing 25 of them.
- target: $.paths['/delivery/v1/rendering/context/{id}'].get
update:
x-apievangelist-note: >-
Resolves reference elements recursively. Cyclic references are terminated with a
"$$CYCLE" marker property whose value is the cycling content ID; consumers must
treat that key as terminal and resolve it against the parent hierarchy.
- target: $.paths['/webhook/v1/profile'].put
update:
x-apievangelist-note: >-
Overwrites the entire tenant webhook profile — there is no partial update and no
per-event subscription. The event payload shape is documented only as a prose
example ({event, timestamp, doc}); no schema is published. See
asyncapi/acoustic-webhooks.yml.
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/acoustic-content-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.