Skip to main content

Developer API (2.0.0)

Download OpenAPI specification:Download

Paywall

Operations about paywalls.

Get a list of paywalls

This endpoint requires the following permission(s): project_configuration:offerings:read. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

query Parameters
starting_after
string
Example: starting_after=ent12354

Pagination cursor. Pass the id of the last item from the previous page to fetch the next page; omit for the first page.

limit
integer
Default: 20
Example: limit=10

Maximum number of items to return per page. Values below 1 or above 100 are clamped to that range rather than rejected.

expand
Array of strings[ items [ 1 .. 5000 ] characters ]
Items Value: "items.offering"
Example: expand=items.offering

Specifies which fields in the response should be expanded. Accepted values are: items.offering (requires project_configuration:offerings:read permission).

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "items": [
    ],
  • "next_page": "/v2/projects/proj1ab2c3d4/paywalls?starting_after=pwXXXXXXXXXXXXXX",
  • "url": "/v2/projects/proj1ab2c3d4/paywalls"
}

Create a paywall

Create a paywall draft for a project. You can either use the offering template shortcut or provide full draft components directly. This endpoint requires the following permission(s): project_configuration:offerings:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

Request Body schema: application/json
required
One of
offering_id
required
string [ 1 .. 200 ] characters

The ID of the offering the paywall will be created for.

automatically_scale_font_size
boolean
Default: true

Whether font sizes should automatically scale for this paywall. Defaults to true.

Responses

Request samples

Content type
application/json
Example
{
  • "offering_id": "ofrng123456789a",
  • "automatically_scale_font_size": true
}

Response samples

Content type
application/json
{
  • "object": "paywall",
  • "id": "pw123456789abcdef",
  • "name": "My Awesome Paywall",
  • "offering_id": "ofrng123456789a",
  • "created_at": 1658399423658,
  • "published_at": 1658399423958,
  • "automatically_scale_font_size": true,
  • "offering": {
    },
  • "components": {
    }
}

Get a paywall

This endpoint requires the following permission(s): project_configuration:offerings:read. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

paywall_id
required
string [ 1 .. 255 ] characters
Example: pwXXXXXXXXXXXXXX

ID of the paywall

query Parameters
expand
Array of strings[ items [ 1 .. 5000 ] characters ]
Items Enum: "offering" "components"
Example: expand=offering

Specifies which fields in the response should be expanded. Accepted values are: offering (requires project_configuration:offerings:read permission), components (requires project_configuration:offerings:read permission).

Responses

Response samples

Content type
application/json
{
  • "object": "paywall",
  • "id": "pw123456789abcdef",
  • "name": "My Awesome Paywall",
  • "offering_id": "ofrng123456789a",
  • "created_at": 1658399423658,
  • "published_at": 1658399423958,
  • "automatically_scale_font_size": true,
  • "offering": {
    },
  • "components": {
    }
}

Update a paywall

Update a paywall draft. If the paywall is already published, this updates its draft version without changing the published version. This endpoint requires the following permission(s): project_configuration:offerings:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

paywall_id
required
string [ 1 .. 255 ] characters
Example: pwXXXXXXXXXXXXXX

ID of the paywall

Request Body schema: application/json
required
revision
required
integer

The current draft revision. Used to reject stale writes.

object

The raw paywall components configuration to save as the draft. Omit to leave unchanged.

property name*
additional property
any
object

Localized component values keyed by locale. Omit to leave unchanged.

additional property
object
property name*
additional property
any
default_locale
string [ 1 .. 255 ] characters

The default locale for this paywall. Omit to leave unchanged.

offering_id
string or null [ 1 .. 200 ] characters

The ID of the offering to attach this paywall to. Pass null to detach the paywall from its offering (not supported while the paywall is published). Omit the field to leave it unchanged.

name
string or null [ 1 .. 255 ] characters

Optional paywall name.

automatically_scale_font_size
boolean

Whether font sizes should automatically scale for this paywall draft.

object or null

Exit offer configuration to save on the draft.

property name*
additional property
any
object or null

State declarations to save on the draft.

property name*
additional property
any
object or null

Play Store product change mode configuration to save on the draft.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "revision": 1,
  • "components_config": {
    },
  • "components_localizations": {
    },
  • "default_locale": "en_US",
  • "offering_id": "ofrng123456789a",
  • "name": "Main Paywall",
  • "automatically_scale_font_size": true,
  • "exit_offers": {
    },
  • "state_declarations": {
    },
  • "play_store_product_change_mode": {
    }
}

Response samples

Content type
application/json
{
  • "object": "paywall",
  • "id": "pw123456789abcdef",
  • "name": "My Awesome Paywall",
  • "offering_id": "ofrng123456789a",
  • "created_at": 1658399423658,
  • "published_at": 1658399423958,
  • "automatically_scale_font_size": true,
  • "offering": {
    },
  • "components": {
    }
}

Delete a paywall

This endpoint requires the following permission(s): project_configuration:offerings:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

paywall_id
required
string [ 1 .. 255 ] characters
Example: pwXXXXXXXXXXXXXX

ID of the paywall

Responses

Response samples

Content type
application/json
{
  • "object": "app",
  • "id": "string",
  • "deleted_at": 1658399423658
}