Skip to main content
POST
/
products
Create a new product
curl --request POST \
  --url https://api.bitgpt.xyz/products \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "ONE_TIME PRODUCT #2",
  "description": "ONE_TIME PRODUCT DESCRIPTION #2",
  "metadata": {
    "id": "elrkghkrebdfhodnbkndksjbngkdnfvkjsdnbkjn",
    "email": "[email protected]",
    "custom": "custom field"
  },
  "schemas": [
    {
      "name": "Basic Product",
      "description": "Basic Product Schema 1234",
      "currency": "GBP",
      "type": "RECURRING",
      "base_price": 104.04,
      "interval_type": "MONTH",
      "interval_count": 1,
      "payment_type": "ARREARS",
      "renew_type": "CALENDAR",
      "billing_type": "FULL",
      "configurations": [
        {
          "starts_at": 1,
          "ends_at": 2,
          "price_per_unit": 5,
          "metric": {
            "id": "metric_01978a62-4297-70fb-8bac-3c43e91e0d30",
            "metric_key": "metric_key",
            "name": "Metric",
            "aggregation_type": "SUM"
          }
        }
      ]
    }
  ]
}
'
{
  "status": 200,
  "data": {
    "id": "product_0197ebcc-b7f9-79b6-8a92-569ea231fc4d"
  },
  "error": null,
  "log": null,
  "validator": null,
  "support_id": null,
  "message": "Resource created successfully",
  "env": "development"
}

Authorizations

Authorization
string
header
required

Send your access token as header Authorization: Bearer {accessToken}

Authorization
string
header
required

Your API key that starts with sk_live or sk_test. You can create yours at go.bitgpt.xyz/api-keys.

Body

application/json

Request body for creating a new product

name
string

Product name

Example:

"Product number One"

description
string

Product description

Example:

"Good products's description"

metadata
object

Additional metadata for the product

schemas
object[]

Array of billing schemas for the product

Response

Product created successfully

Response for successful product creation

status
enum<integer>
required

Status code of the response

Available options:
200,
201,
202
data
object
required

Response data containing the requested object

message
string | null
required

Message of the response, human readable

Example:

"Resource created successfully"

env
enum<string>
required

API environment

Available options:
development,
production
error
string | null

Error message of the response, human readable

Example:

"Invalid email address"

log

Useful informaiton, not always present, to debug the response

Examples:
{ "request_id": "req_1234567890" }

"Some pertinent log message"

validator
object

Validator response object, each key is the field name and value is the error message

Example:
{
"email": "Invalid email address",
"password": "Password is required"
}
support_id
string<uuid> | null

Support ID linked to the response, used to identify it when talking with our team

Example:

"support_uuidv7-something-else"