---
updatedAt: 2026-05-28T07:31:32.000Z
agentTools:
  projectIndex: https://docs.praxis.tech/llms.txt
---

# Create Subscription

# OpenAPI definition

```json
{
  "openapi": "3.0.2",
  "info": {
    "title": "API",
    "version": "1.3",
    "description": "Praxis Open API 3.0.2 specification document.\nThis contains all the APIs created by Praxis Tech."
  },
  "servers": [
    {
      "url": "https://gw.praxisgate.com",
      "description": "Live(PraxisGate)"
    },
    {
      "url": "https://pci-gw-test.praxispay.com",
      "description": "Sandbox"
    }
  ],
  "paths": {
    "/api/v1.3/subscription": {
      "summary": "This specification provides the details to create subscription plan",
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payload_create_subscription_requestData"
              },
              "examples": {
                "create subscription": {
                  "value": {
                    "merchant_id": "API-Merchant",
                    "application_key": "test-application",
                    "plan_id": "6lmzTS5SBc1ABD4h",
                    "price_id": "KdGw29Fc",
                    "cid": "user-1234",
                    "card_token": "a52028efb6ccbedd65c066ce284c7dfb",
                    "activate": true,
                    "notification_url": "https://merchant-website.com/subscriptions/user-1234/callback",
                    "version": 1.3,
                    "timestamp": 1680712861
                  }
                }
              }
            }
          },
          "required": true
        },
        "tags": [
          "Subscription"
        ],
        "parameters": [
          {
            "name": "gt-authentication",
            "schema": {
              "$ref": "#/components/schemas/property_req_header_signature_params_for_subscriptions"
            },
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-ok-create-subscription-response-data"
          },
          "400": {
            "$ref": "#/components/responses/common-400-bad-request-missing-sign-response-data"
          },
          "403": {
            "$ref": "#/components/responses/common-403-forbidden-response-data"
          }
        },
        "operationId": "createSubscription",
        "summary": "Create Subscription"
      }
    }
  },
  "components": {
    "schemas": {
      "property_common_base_properties": {
        "required": [
          "merchant_id",
          "application_key",
          "version",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "merchant_id": {
            "$ref": "#/components/schemas/merchant_id"
          },
          "application_key": {
            "$ref": "#/components/schemas/application_key"
          },
          "version": {
            "$ref": "#/components/schemas/version"
          },
          "timestamp": {
            "$ref": "#/components/schemas/timestamp"
          }
        }
      },
      "application_key": {
        "description": "Identifier of your application (website).",
        "maxLength": 32,
        "type": "string",
        "example": "Sandbox-Application"
      },
      "version": {
        "description": "API version.",
        "maxLength": 3,
        "type": "string",
        "example": "1.3"
      },
      "timestamp": {
        "description": "Request time (unix timestamp, seconds).",
        "maxLength": 11,
        "type": "integer",
        "example": "1755853580"
      },
      "amount": {
        "description": "Transaction amount in cents.\n\n*__Note__*: *For certain currencies there is a fraction other than 100 cents per unit, this is important if you multiply by 100 to send the amount in cents.*",
        "maxLength": 20,
        "type": "integer"
      },
      "cid": {
        "description": "Unique customer id in your system.\r\n\r\n*__Note:__* *Personally Identifiable Information (PII), such as email addresses, is strictly forbidden. If your user identifier contains any PII, you must hash or encrypt it before sending it to the API.*",
        "maxLength": 50,
        "type": "string",
        "example": "1020"
      },
      "card_token": {
        "description": "HASH value of customer's card.\n\n*__Note:__* *This field must not be sent in any subsequent Merchant Initiated Transaction (MIT) requests.*",
        "maxLength": 32,
        "type": "string",
        "example": "af7d1b07c48fbeff116b2bb3e84fb4c9"
      },
      "currency": {
        "description": "**Base Currency**: The user's account currency on the merchant site.",
        "maxLength": 10,
        "type": "string"
      },
      "description": {
        "description": "Accurate description of the result. Return the actual error for any exception as it helps to diagnose issues in production.\r\n",
        "type": "string",
        "maxLength": 256
      },
      "status": {
        "description": "API communication status - for transaction processing status please refer to `transaction.transaction.status`\r\n- 0 if the request was successful.\r\n- Negative integer if internal server/network error occurs.\r\n- Positive integer if application/logical error occurs. Refer [API Status & Error Codes](https://docs.praxis.tech/docs/api-status-and-error-codes) for more information.",
        "type": "integer"
      },
      "result": {
        "description": "Error result object",
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "description": "Error code",
            "type": "string"
          },
          "description": {
            "description": "Error description",
            "type": "string"
          }
        }
      },
      "object_response_400_bad": {
        "description": "Object - 400-Bad request",
        "type": "object",
        "properties": {
          "description": {
            "$ref": "#/components/schemas/description"
          },
          "status": {
            "$ref": "#/components/schemas/status"
          }
        }
      },
      "object_response_403_forbidden": {
        "description": "Object - 403-Forbidden",
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/result"
          },
          "timestamp": {
            "$ref": "#/components/schemas/timestamp"
          }
        }
      },
      "property_common_200_ok_response_properties": {
        "required": [
          "status",
          "description",
          "version",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/status"
          },
          "description": {
            "$ref": "#/components/schemas/description"
          },
          "version": {
            "$ref": "#/components/schemas/version"
          },
          "timestamp": {
            "$ref": "#/components/schemas/timestamp"
          }
        }
      },
      "plan_id": {
        "description": "Subscription Plan ID",
        "maxLength": 32,
        "type": "string",
        "example": "i2VANeFxKR1aZGoH"
      },
      "subscription_status": {
        "description": "Status of subscription. List of possible statuses:\r\n- Active - customer subscription in active status.\r\n- Inactive - customer subscription inactive.\r\n- Expired - customer subscription expired.\r\n- Canceled - customer subscription removed.",
        "maxLength": 8,
        "type": "string",
        "enum": [
          "active",
          "inactive",
          "expired",
          "canceled"
        ]
      },
      "subscription_id": {
        "description": "Subscription ID",
        "maxLength": 32,
        "type": "string",
        "example": "tvoS9vGKdDwfGLLvp0r8JJ5d"
      },
      "price_id": {
        "description": "Subscription Plan ID",
        "maxLength": 32,
        "type": "string",
        "example": "1A8Nxpaf"
      },
      "payload_create_subscription_requestData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/property_common_base_properties"
          },
          {
            "required": [
              "plan_id",
              "price_id",
              "cid",
              "card_token",
              "notification_url"
            ],
            "type": "object",
            "properties": {
              "plan_id": {
                "$ref": "#/components/schemas/plan_id"
              },
              "price_id": {
                "$ref": "#/components/schemas/price_id"
              },
              "cid": {
                "$ref": "#/components/schemas/cid"
              },
              "card_token": {
                "$ref": "#/components/schemas/card_token"
              },
              "activate": {
                "$ref": "#/components/schemas/activate"
              },
              "notification_url": {
                "description": "URL to which the [notifications](https://docs.praxis.tech/reference/subscriptionnotification) about subscription events will be sent.",
                "maxLength": 256,
                "type": "string"
              }
            }
          }
        ]
      },
      "activate": {
        "description": "Activate or not subscription immediately after creating. Possible values:\r\n- true - the subscription will be created with an active status.\r\n- false -the subscription will be created with an inactive status.",
        "maxLength": 5,
        "type": "string",
        "enum": [
          "true",
          "false"
        ]
      },
      "object_response_200_ok_create_subscription": {
        "description": "200 Successful response",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/property_common_200_ok_response_properties"
          },
          {
            "required": [
              "subscription_id",
              "plan_id",
              "cid",
              "price",
              "subscription_status"
            ],
            "type": "object",
            "properties": {
              "subscription_id": {
                "$ref": "#/components/schemas/subscription_id"
              },
              "plan_id": {
                "$ref": "#/components/schemas/plan_id"
              },
              "cid": {
                "$ref": "#/components/schemas/cid"
              },
              "price": {
                "$ref": "#/components/schemas/property_subscription_plan_price",
                "description": "Selected price(amount & currency) of subscription"
              },
              "subscription_status": {
                "$ref": "#/components/schemas/subscription_status"
              }
            }
          }
        ]
      },
      "property_subscription_plan_price": {
        "title": "subscription plan price",
        "required": [
          "amount",
          "currency",
          "price_id"
        ],
        "type": "object",
        "properties": {
          "price_id": {
            "description": "Price ID.",
            "maxLength": 32,
            "type": "string"
          },
          "amount": {
            "$ref": "#/components/schemas/amount"
          },
          "currency": {
            "$ref": "#/components/schemas/currency"
          }
        }
      },
      "merchant_id": {
        "description": "Merchant API client account identifier.",
        "maxLength": 50,
        "type": "string",
        "example": "Sandbox-API"
      },
      "property_req_header_signature_params_for_subscriptions": {
        "title": "signature",
        "description": "Authentication HTTP header of your outgoing request to the API.\nBelow request parameters should be used for creating signature in request header.\n- `merchant_id`\n- `application_key` \n- `timestamp`",
        "type": "string",
        "example": "15ca3dadf8e1cb8a64301317f3ce5f8587d1adf37e42ae50702ae35732974193f3f464ddcb019fa0e2f5f3043b1cd23b"
      },
      "property_res_header_signature_params_common": {
        "title": "signature",
        "description": "Authentication HTTP header of the incoming response from the API.\nBelow response parameters should be used for validating the signature in response header.\n- `status`\n- `timestamp`",
        "type": "string",
        "example": "15ca3dadf8e1cb8a64301317f3ce5f8587d1adf37e42ae50702ae35732974193f3f464ddcb019fa0e2f5f3043b1cd23b"
      }
    },
    "responses": {
      "common-403-forbidden-response-data": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/object_response_403_forbidden"
            },
            "examples": {
              "Access Forbidden": {
                "value": {
                  "result": {
                    "code": "200.300.404",
                    "description": "Access Forbidden, IP:46.199.43.137"
                  },
                  "timestamp": "2025-02-03 13:21:47+0000"
                }
              }
            }
          }
        },
        "description": "Forbidden request - IP address not whitelisted"
      },
      "common-400-bad-request-missing-sign-response-data": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/object_response_400_bad"
            },
            "examples": {
              "Missing signature": {
                "value": {
                  "status": 400,
                  "description": "GT-Authentication header is missing"
                }
              }
            }
          }
        },
        "description": "Bad request - Missing signature"
      },
      "200-ok-create-subscription-response-data": {
        "headers": {
          "external-request-signature": {
            "schema": {
              "$ref": "#/components/schemas/property_res_header_signature_params_common"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/object_response_200_ok_create_subscription"
            },
            "examples": {
              "success response": {
                "value": {
                  "status": 0,
                  "description": "Subscription plan 6lmzTS5SBc1ABD4h successfully assigned for customer user-1234",
                  "subscription_id": "tvoS9vGKdDwfGLLvp0r8JJ5d",
                  "plan_id": "6lmzTS5SBc1ABD4h",
                  "cid": "user-1234",
                  "price": {
                    "price_id": "KdGw29Fc",
                    "amount": 20000,
                    "currency": "EUR"
                  },
                  "subscription_status": "active",
                  "version": 1.3,
                  "timestamp": 1680712861
                }
              },
              "failure response": {
                "value": {
                  "status": -1,
                  "description": "Subscription plan with ID 6lmzTS5SBc1ABD4h not found",
                  "version": 1.3,
                  "timestamp": 1680712861
                }
              }
            }
          }
        },
        "description": "OK - Successful response"
      }
    }
  }
}
```