Acoustic · Authentication Profile

Acoustic Authentication

Authentication

Acoustic secures its APIs with http, apiKey, and oauth2 across 7 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the refreshToken and clientCredentials flow(s).

CompanyMartechMarketingMarketing AutomationCustomer EngagementContent ManagementPersonalizationEmailSMSPush NotificationsHeadless CMSDigital Asset ManagementCustomer DataGraphQLConsent Management
Methods: http, apiKey, oauth2 Schemes: 7 OAuth flows: refreshToken, clientCredentials API key in: header

Security Schemes

ContentBasicAuth http
scheme: basic
ContentSessionCookie apiKey
· in: cookie (x-ibm-dx-user-auth)
ContentAnonymousDelivery none
CampaignOAuth2 oauth2
CampaignLegacySession apiKey
· in: cookie (jsessionid)
ConnectApiKey apiKey
· in: header (X-API-Key)
AcousticSSO openIdConnect

Source

Authentication Profile

Raw ↑
generated: '2026-08-13'
method: searched
source: https://developer.goacoustic.com/acoustic-content/reference/get-started
docs:
- https://developer.goacoustic.com/acoustic-content/reference/get-started
- https://developer.goacoustic.com/acoustic-campaign/reference/getting-started-with-oauth
- https://developer.goacoustic.com/acoustic-campaign/reference/legacy-authentication-method-jsessionid-user-sessions
- https://developer.goacoustic.com/acoustic-connect/reference/use-connect-api
note: >-
  Derived mechanically first (0-working/derive-authentication.py) — it found zero
  schemes because none of Acoustic's published contracts declare security: the
  Acoustic Content OpenAPI 3.0.0 ships no components.securitySchemes, the Content
  Swagger 2.0 on GitHub ships no securityDefinitions, and the Campaign service
  descriptions are Swagger 1.1, which predates security metadata entirely. Every
  scheme below therefore comes from the published docs, not from a spec.
summary:
  types: [http, apiKey, oauth2]
  api_key_in: [header]
  oauth2_flows: [refreshToken, clientCredentials]
  spec_declared: false
  spec_gap: >-
    No Acoustic contract declares securitySchemes/securityDefinitions, so an agent
    reading the machine-readable artifacts alone cannot learn how to authenticate.
schemes:
- name: ContentBasicAuth
  api: Acoustic Content API
  type: http
  scheme: basic
  source: docs
  description: >-
    HTTP Basic against /login/v1/basicauth using an Acoustic ID (email) and password,
    or the literal user id "AcousticAPIKey" with an API key value as the password.
  login_endpoint: https://{DomainName}/api/login/v1/basicauth
  docs: https://developer.goacoustic.com/acoustic-content/reference/get-started
- name: ContentSessionCookie
  api: Acoustic Content API
  type: apiKey
  in: cookie
  parameter: x-ibm-dx-user-auth
  source: docs
  description: >-
    The login call returns a Set-Cookie carrying x-ibm-dx-user-auth. Subsequent
    authoring calls are authenticated with that token, sent either as the cookie or
    as an x-ibm-dx-user-auth header.
  related_headers:
  - x-ibm-dx-tenant-id
  - x-cms-tenant-id
  - x-ibm-dx-tenant-base-url
  docs: https://developer.goacoustic.com/acoustic-content/reference/get-started
- name: ContentAnonymousDelivery
  api: Acoustic Content API
  type: none
  source: docs
  description: >-
    The /delivery/v1/* read surface (content, search, resources, sites, pages,
    rendering) is documented as callable anonymously; /mydelivery/v1/* is the
    authenticated twin that additionally returns restricted items.
- name: CampaignOAuth2
  api: Acoustic Campaign REST API / XML API
  type: oauth2
  flow: refreshToken
  source: docs
  token_url: https://api-campaign-us-1.goacoustic.com/oauth/token
  parameters: [grant_type=refresh_token, client_id, client_secret, refresh_token]
  bearer: 'Authorization: Bearer {access_token}'
  token_ttl: 4 hours
  scopes_documented: false
  description: >-
    Client id, client secret and refresh token are issued per Organization in the Org
    Admin section of Acoustic Campaign and are bound to the issuing Organization
    only. The token endpoint lives on the same regional pod host as the API. No OAuth
    scopes are documented — the token carries the organization's full API grant.
  docs: https://developer.goacoustic.com/acoustic-campaign/reference/getting-started-with-oauth
- name: CampaignLegacySession
  api: Acoustic Campaign XML API
  type: apiKey
  in: cookie
  parameter: jsessionid
  status: legacy
  source: docs
  description: >-
    Legacy Login/Logout XML session model. Acoustic documents a hard cap of 20 active
    login sessions per Organization and strongly encourages OAuth 2.0 instead.
  docs: https://developer.goacoustic.com/acoustic-campaign/reference/legacy-authentication-method-jsessionid-user-sessions
- name: ConnectApiKey
  api: Acoustic Connect API
  type: apiKey
  in: header
  parameter: X-API-Key
  source: docs
  description: >-
    A single API key generated in Connect under Administration > General settings >
    API keys, sent on every GraphQL POST. Verified live: an anonymous POST of
    {__schema{queryType{name}}} to https://connect-gql-us-1.goacoustic.com/ returns
    HTTP 200 with {"errors":[{"message":"Unauthorized","extensions":{"code":"401",
    "status":"UNAUTHORIZED"}}]}, so introspection is key-gated.
  docs: https://developer.goacoustic.com/acoustic-connect/reference/use-connect-api
- name: AcousticSSO
  api: platform sign-in (not an API credential)
  type: openIdConnect
  source: probed
  issuer: https://login.goacoustic.com
  openid_configuration: well-known/acoustic-openid-configuration.json
  authorization_endpoint: https://login.goacoustic.com/oauth2/v1/authorize
  token_endpoint: https://login.goacoustic.com/oauth2/v1/token
  jwks_uri: https://login.goacoustic.com/oauth2/v1/keys
  description: >-
    OIDC discovery is served on Acoustic's own login host (an Okta org). This is the
    human sign-in path for the Acoustic UI. None of the product APIs above document
    accepting tokens from this issuer, so it is recorded as identity infrastructure
    rather than an API authentication scheme.
x-evidence:
- url: https://connect-gql-us-1.goacoustic.com/
  method: POST
  http_status: 200
  body: '{"errors":[{"message":"Unauthorized","extensions":{"code":"401","status":"UNAUTHORIZED"}}]}'
- url: https://login.goacoustic.com/.well-known/openid-configuration
  http_status: 200
- url: https://developer.goacoustic.com/acoustic-content/reference/get-started.md
  http_status: 200