Skip to main content
POST
Create a plan
Click the base URL in the API playground and select the Sandbox host for test data or the Production host for live data. Use credentials from the same environment.

Authorizations

Authorization
string
header
required

The Server API Key obtained from the kelviq application. Pass as a Bearer token in the Authorization header. Example: 'Authorization: Bearer YOUR_API_KEY'

Body

application/json
name
string
required
Example:

"Pro Monthly"

product
string<uuid>
required

UUID of the parent product.

Example:

"0d65f7c0-7e91-4f56-9b32-13a9a6a7c1de"

identifier
string
Example:

"pro-monthly"

description
string
Example:

"Pro tier billed monthly."

metadata
object
Example:
isVisible
boolean
Example:

true

license
object

License configuration for a plan (used when issuing license keys).

fileKeys
string[]

Temporary S3 keys (e.g. tmp/<uuid>/<filename>) returned by POST /media/ for files to attach to the plan. Uploaded files are moved into permanent storage and exposed via the plan's files[].

Example:
ordering
integer
Example:

1

Response

Plan created.

A versioned plan attached to a product. Updates create new versions; only the published version is is_latest=true.

identifier
string

URL-safe slug. Stable across versions.

Example:

"pro-monthly"

name
string
Example:

"Pro Monthly"

description
string
Example:

"Pro tier billed monthly."

product
string<uuid>

UUID of the parent product.

Example:

"0d65f7c0-7e91-4f56-9b32-13a9a6a7c1de"

metadata
object
Example:
version
integer
read-only
Example:

3

isLatest
boolean
read-only

True only for the currently published version.

Example:

true

modifiedOn
string<date-time>
read-only
Example:

"2025-04-12T08:21:14.910Z"

createdOn
string<date-time>
read-only
Example:

"2025-03-01T08:21:14.910Z"

details
object
read-only

Provider-side identifiers.

Example:
isVisible
boolean
Example:

true

isImported
boolean
read-only
Example:

false

countries
string[]
read-only
Example:
license
object

License configuration for a plan (used when issuing license keys).

files
object[]
read-only
ordering
integer | null
Example:

1