Skip to content
Indiana
Dashboard
Docs
Browse docs / resolveContent

resolveContent

POST/api/v1/content/resolve

Resolve standalone Page, Popup or Banner content by resource or fixed version; the host explicitly mounts it and handles actions.

API v1Updated

Request

Credential
Server Key (with customerId) or Customer Token, scope content:read.
SDK
JavaScript createIndianaServer().resolveContent · JavaScript createIndiana().resolveContent
Success
HTTP 200
request.shShell
curl -X POST "$INDIANA_API_URL/api/v1/content/resolve" \  -H "Authorization: Bearer $INDIANA_API_KEY" \  -H "X-Indiana-Protocol: 0.7" \  -H "Content-Type: application/json" \  -d '{  "kind": "page",  "selector": {    "type": "resource",    "id": "ddff7ca6-bfe7-445e-81a6-ca13bbf64a41"  },  "customerId": "8b258f8b-4228-40fa-8d24-5b16428e686d"}'

The response shape lists fields and types; actual values depend on your data.

Body parameters

application/json

kindenumRequired

Kind; see the allowed values.

Show allowed values

"page""popup""banner"

selectorobject | objectRequired

How to select the Offering or Paywall.

Show child fields
type"resource" | "version"Required

Selection mode. For an Offering, current (the environment's current Offering), id and lookup_key resolve that Offering's published Version and version pins an exact Offering Version; for a Paywall, paywall resolves its published Version and version pins an exact Paywall Version.

iduuid | uuidRequired

UUID of the Offering whose published Version is resolved; an archived or unpublished Offering returns not found.

customerIdstringOptional

The Customer UUID. Required with a Server Key; omit it with a Customer Token.

minLength: 1

Response fields

Every successful response includes requestId (this request's ID, for support) and scope (App and environment).

HTTP 200 · application/json

requestIduuidRequired

UUID the server generated for this HTTP request; include it when reporting a problem. It is not your business requestId.

scopeobjectRequired

The App and environment of this response. Headers only verify scope; they cannot switch key scope.

Show child fields
projectIdstringRequired

App ID bound to the credential.

minLength: 1

environmentenumRequired

Separate data scope: sandbox or live.

Show allowed values

"sandbox""live"

contentobjectRequired

Show child fields
iduuidRequired

ID.

kindenumRequired

Kind; see the allowed values.

Show allowed values

"page""popup""banner"

resourceIduuidRequired

ID of the related object.

projectIduuidRequired

App ID bound to the credential.

environmentIduuidRequired

environment ID.

versionintegerRequired

Version number.

max: 9007199254740991

sourceRevisionintegerRequired

min: 0 · max: 9007199254740991

documentobjectRequired

Published schemaVersion 3 design. May be null on a cache hit; direct HTTP callers must hydrate from the matching cache.

Show child fields
kindenumRequired

Kind; see the allowed values.

Show allowed values

"page""popup""banner"

schemaVersion1Required

Data format version.

namestringRequired

Display name; not a unique identifier.

minLength: 1 · maxLength: 80

screenobjectRequired

Show child fields
kind"screen"Required

Kind; see the allowed values.

schemaVersion4Required

Data format version.

namestringRequired

Display name; not a unique identifier.

minLength: 1 · maxLength: 80

surfaceenumRequired

Show allowed values

"popup""paywall""onboarding""page""banner"

initialPageIdstringOptional

ID of the related object.

pattern: ^[a-zA-Z][a-zA-Z0-9_-]{0,63}$

presentationobject | object | object | objectRequired

Presentation.

themeobjectRequired

pagesarrayRequired

minItems: 1 · maxItems: 10

stringsobjectRequired

actionsarrayRequired

maxItems: 40

contractobjectRequired

Show child fields
inputsobjectRequired

outputsobjectRequired

createdAtdate-timeRequired

ISO 8601 UTC time when the record was created.

Errors

Failures return an error object; handle them by error.code and error.recovery. The table lists the errors that follow from this operation's credential, scope and idempotency fields; depending on the request it can also return NOT_FOUND (a referenced resource doesn't exist), NOT_CONFIGURED (a required integration isn't connected) or PAYLOAD_TOO_LARGE. Some refusals, such as insufficient balance, are not errors but a reason in a successful response.

Possible errors
codeHTTPWhenrecovery
INVALID_REQUEST400The request doesn't match this page's parameters, or the protocol header is missing.fix_request
UNAUTHENTICATED401The credential is missing, invalid, expired or revoked.authenticate
FORBIDDEN403The credential lacks content:read.check_permissions
SCOPE_MISMATCH403X-Indiana-Project or X-Indiana-Environment doesn't match the credential's App and environment.check_scope
RATE_LIMITED429Too many requests; wait for Retry-After and retry the same request.retry_same_request
SERVICE_UNAVAILABLE503The service is temporarily unavailable; retry the same request.retry_same_request
INTERNAL_ERROR500The outcome is unknown; retry later.recover_operation

Possible errors

  • INVALID_REQUEST

    HTTP
    400
    When
    The request doesn't match this page's parameters, or the protocol header is missing.
    recovery
    fix_request
  • UNAUTHENTICATED

    HTTP
    401
    When
    The credential is missing, invalid, expired or revoked.
    recovery
    authenticate
  • FORBIDDEN

    HTTP
    403
    When
    The credential lacks content:read.
    recovery
    check_permissions
  • SCOPE_MISMATCH

    HTTP
    403
    When
    X-Indiana-Project or X-Indiana-Environment doesn't match the credential's App and environment.
    recovery
    check_scope
  • RATE_LIMITED

    HTTP
    429
    When
    Too many requests; wait for Retry-After and retry the same request.
    recovery
    retry_same_request
  • SERVICE_UNAVAILABLE

    HTTP
    503
    When
    The service is temporarily unavailable; retry the same request.
    recovery
    retry_same_request
  • INTERNAL_ERROR

    HTTP
    500
    When
    The outcome is unknown; retry later.
    recovery
    recover_operation

Related: Error codes and recovery·Request conventions·All operations