Skip to content
Indiana
Dashboard
Docs
Browse docs / Resolve a standalone Paywall

Resolve a standalone Paywall

POST/api/v1/paywalls/resolve

Return a pinned Paywall Version, Offering Version, displayed Products and capabilities without a Funnel or purchase.

API v1Updated

Make the request

Return a pinned Paywall Version, Offering Version, displayed Products and capabilities without a Funnel or purchase.

Credential
Server API key or customer token. Customer calls cannot select another customer.
Permission
entitlements:read
Set the base URL and App ID from SDK setup. These examples use placeholders and do not execute requests. Never put a server key in browser code.
request.shShell
curl -X POST "$INDIANA_BASE_URL/api/v1/paywalls/resolve" \  -H "Authorization: Bearer $INDIANA_CUSTOMER_TOKEN" \  -H "X-Indiana-Project: $INDIANA_PROJECT_ID" \  -H "X-Indiana-Environment: sandbox" \  -H "Content-Type: application/json" \  -d '{  "selector": {    "type": "paywall",    "paywallId": "00000000-0000-4000-8000-000000000001"  },  "commerce": {    "provider": "stripe",    "currency": "USD"  },  "locale": "example"}'

The response tab lists field types, not an example payload. Actual values depend on customer state.

Request parameters

JSON body

selectorobject | objectRequired

The selector value for this operation. Its accepted type and constraints are listed above and below.

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

The type value for this operation. Its accepted type and constraints are listed above and below.

paywallIduuidOptional

The paywallId value for this operation. Its accepted type and constraints are listed above and below.

versionIduuidOptional

Immutable product_versions.id, including historical versions.

customerIduuidOptional

Indiana customer ID mapped from a verified identity on the server. Omit for customer-token calls, which use the token-bound customer.

commerceobjectRequired

The commerce value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
providerenumRequired

The provider value for this operation. Its accepted type and constraints are listed above and below.

Show allowed values

"stripe""apple""google"

currencyenumRequired

Currency code supported by the published price.

Show allowed values

"USD""EUR""CNY""GBP""JPY""CAD""AUD""NZD""CHF""HKD""SGD""KRW""INR""BRL""MXN""TWD""THB""IDR""MYR""PHP""VND""ZAR""AED""SAR""SEK""NOK""DKK""PLN""CZK""HUF""ILS""TRY""RON"

localestringRequired

Display-language hint. Content language is independent of console and documentation language.

minLength: 1 · maxLength: 35

requirementobjectOptional

The requirement value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
internal_feature_iduuidRequired

The internal_feature_id value for this operation. Its accepted type and constraints are listed above and below.

quantitystringRequired

Use the declared field type for business quantity. Credit operations use decimal strings to avoid floating-point error. quote/reserve/confirm/refund require positive quantities; consume can record zero-cost events.

pattern: ^(0|[1-9]\d{0,11})(\.\d{1,6})?$

propertiesobjectRequired

Validated pricing properties used to match dimensions and multipliers.

entityIduuidOptional

Entity ID within the current customer scope, for configured entity and license features.

Response fields

Successful responses include requestId and scope. Use the actual business status or accepted field to determine the result. Optional fields are omitted when unavailable.

HTTP 200 · application/json

requestIduuidRequired

Server-generated HTTP request UUID. Include it when reporting a failed request.

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"

paywallobjectRequired

The paywall value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
iduuidRequired

The id value for this operation. Its accepted type and constraints are listed above and below.

paywallIduuidRequired

The paywallId value for this operation. Its accepted type and constraints are listed above and below.

versionintegerRequired

The version value for this operation. Its accepted type and constraints are listed above and below.

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
schemaVersion3Required

The schemaVersion value for this operation. Its accepted type and constraints are listed above and below.

kind"paywall"Required

The kind value for this operation. Its accepted type and constraints are listed above and below.

namestringRequired

Display name of the customer or object; not an identity key.

minLength: 1 · maxLength: 80

presentationobject | object | object | objectRequired

The presentation value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
type"modal" | "sheet" | "fullscreen" | "inline"Required

The type value for this operation. Its accepted type and constraints are listed above and below.

sizeenum | enumOptional

The size value for this operation. Its accepted type and constraints are listed above and below.

requirementobjectOptional

The requirement value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
internal_feature_iduuidRequired

The internal_feature_id value for this operation. Its accepted type and constraints are listed above and below.

quantityobjectRequired

Use the declared field type for business quantity. Credit operations use decimal strings to avoid floating-point error. quote/reserve/confirm/refund require positive quantities; consume can record zero-cost events.

propertiesobjectRequired

Validated pricing properties used to match dimensions and multipliers.

entityIduuidOptional

Entity ID within the current customer scope, for configured entity and license features.

productsobjectRequired

The products value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
itemsarrayRequired

The items value for this operation. Its accepted type and constraints are listed above and below.

maxItems: 20

defaultProductVersionIdstring | nullRequired

The defaultProductVersionId value for this operation. Its accepted type and constraints are listed above and below.

groupingobjectOptional

The grouping value for this operation. Its accepted type and constraints are listed above and below.

offeringVersionIduuid | nullRequired

The offeringVersionId value for this operation. Its accepted type and constraints are listed above and below.

offeringIduuid | nullRequired

The offeringId value for this operation. Its accepted type and constraints are listed above and below.

screenobjectRequired

The screen value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
kind"screen"Required

The kind value for this operation. Its accepted type and constraints are listed above and below.

schemaVersion4Required

The schemaVersion value for this operation. Its accepted type and constraints are listed above and below.

namestringRequired

Display name of the customer or object; not an identity key.

minLength: 1 · maxLength: 80

surfaceenumRequired

The surface value for this operation. Its accepted type and constraints are listed above and below.

Show allowed values

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

initialPageIdstringOptional

The initialPageId value for this operation. Its accepted type and constraints are listed above and below.

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

presentationobject | object | objectRequired

The presentation value for this operation. Its accepted type and constraints are listed above and below.

themeobjectRequired

The theme value for this operation. Its accepted type and constraints are listed above and below.

pagesarrayRequired

The pages value for this operation. Its accepted type and constraints are listed above and below.

minItems: 1 · maxItems: 10

stringsobjectRequired

The strings value for this operation. Its accepted type and constraints are listed above and below.

actionsarrayRequired

The actions value for this operation. Its accepted type and constraints are listed above and below.

maxItems: 40

buttonsobjectRequired

The buttons value for this operation. Its accepted type and constraints are listed above and below.

offeringobjectRequired

The offering value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
iduuidRequired

The id value for this operation. Its accepted type and constraints are listed above and below.

offeringIduuidRequired

The offeringId value for this operation. Its accepted type and constraints are listed above and below.

versionintegerRequired

The version value for this operation. Its accepted type and constraints are listed above and below.

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
lookupKeystringRequired

The lookupKey value for this operation. Its accepted type and constraints are listed above and below.

minLength: 1 · maxLength: 200

displayNamestringRequired

The displayName value for this operation. Its accepted type and constraints are listed above and below.

minLength: 1 · maxLength: 1500

itemsarrayRequired

The items value for this operation. Its accepted type and constraints are listed above and below.

maxItems: 20

metadataobjectRequired

The metadata value for this operation. Its accepted type and constraints are listed above and below.

capabilitiesobjectRequired

The capabilities value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
paywallobjectOptional

The paywall value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
internal_feature_idstringRequired

The internal_feature_id value for this operation. Its accepted type and constraints are listed above and below.

minLength: 1

namestringRequired

Display name of the customer or object; not an identity key.

minLength: 1 · maxLength: 120

kindenumRequired

The kind value for this operation. Its accepted type and constraints are listed above and below.

Show allowed values

"access""metered""credit"

quantityobjectRequired

Use the declared field type for business quantity. Credit operations use decimal strings to avoid floating-point error. quote/reserve/confirm/refund require positive quantities; consume can record zero-cost events.

allowedbooleanRequired

Whether this feature is allowed at evaluation time. Use for display; your backend still authorizes business operations.

reasonenum | nullRequired

Rejection reason or ledger operation description; interpret with accepted and status.

previewobject | nullRequired

The preview value for this operation. Its accepted type and constraints are listed above and below.

nodesobjectRequired

The nodes value for this operation. Its accepted type and constraints are listed above and below.

plansobjectRequired

The plans value for this operation. Its accepted type and constraints are listed above and below.

pickersobjectRequired

The pickers value for this operation. Its accepted type and constraints are listed above and below.

diagnosticsarrayRequired

The diagnostics value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
nodeIdstringRequired

Component node ID in the published document.

messagestringRequired

The message value for this operation. Its accepted type and constraints are listed above and below.

checkobject | nullRequired

The check value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
internal_feature_idstringRequired

The internal_feature_id value for this operation. Its accepted type and constraints are listed above and below.

minLength: 1

namestringRequired

Display name of the customer or object; not an identity key.

minLength: 1 · maxLength: 120

kindenumRequired

The kind value for this operation. Its accepted type and constraints are listed above and below.

Show allowed values

"access""metered""credit"

quantityobjectRequired

Use the declared field type for business quantity. Credit operations use decimal strings to avoid floating-point error. quote/reserve/confirm/refund require positive quantities; consume can record zero-cost events.

allowedbooleanRequired

Whether this feature is allowed at evaluation time. Use for display; your backend still authorizes business operations.

reasonenum | nullRequired

Rejection reason or ledger operation description; interpret with accepted and status.

previewobject | nullRequired

The preview value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
scenarioenumRequired

The scenario value for this operation. Its accepted type and constraints are listed above and below.

Show allowed values

"feature_flag""usage_limit"

candidatesarrayRequired

The candidates value for this operation. Its accepted type and constraints are listed above and below.

maxItems: 20

Handle errors

Common failures
CodeRecovery
UNAUTHENTICATEDVerify the key or refresh the expired customer token once.
FORBIDDENCheck current key permissions and customer access.
INVALID_REQUESTCheck field types, UUIDs, decimal strings and mutually exclusive fields.
SCOPE_MISMATCHUse the App and environment bound to the credential.

Common failures

  • UNAUTHENTICATED

    Recovery
    Verify the key or refresh the expired customer token once.
  • FORBIDDEN

    Recovery
    Check current key permissions and customer access.
  • INVALID_REQUEST

    Recovery
    Check field types, UUIDs, decimal strings and mutually exclusive fields.
  • SCOPE_MISMATCH

    Recovery
    Use the App and environment bound to the credential.

Related:All request and error conventions·Back to endpoint index