Create a billing coupon
POST
/v1/couponsAuthorization
AuthorizationBearer token · headerrequiredPublic API key bearer token.
Query parameters
environmentstringrequiredmerchantAccountIdstringrequiredHeader parameters
Idempotency-KeystringRequired for production-safe retries on mutating routes. Reusing a key with a different request body returns 409.
min length 1
Request body
requiredapplication/jsoncouponIdstringcodestringrequirednamestringrequireddescriptionstringdiscountTypestringrequiredAllowed:
fixed_amountpercentageamountintegermin 1
currencystringISO 4217 alpha-3; only currencies processable on current rails are accepted
percentagenumbermin 0 · max 100
durationstringrequiredAllowed:
oncerepeatingforeverdurationInBillingPeriodsintegermin 1
reusablebooleantargetsCouponTargetsShow propertiesHide properties
priceIdsstring[]min items 1
meterIdsstring[]min items 1
expiresAtstring<date-time>metadataMetadataResponses
201Success
dataobjectrequiredrequestIdstringrequired400Bad request, including malformed JSON
errorobjectrequiredShow propertiesHide properties
codestringrequiredAllowed:
bad_requestunauthorizedforbiddennot_foundconflictrate_limitedvalidation_failurenot_implementedinternal_errormessagestringrequiredrequestIdstringdocsUrlstringDeep link to the errors guide section for this code.
detailsobject401Missing or invalid API key
errorobjectrequiredShow propertiesHide properties
codestringrequiredAllowed:
bad_requestunauthorizedforbiddennot_foundconflictrate_limitedvalidation_failurenot_implementedinternal_errormessagestringrequiredrequestIdstringdocsUrlstringDeep link to the errors guide section for this code.
detailsobject409Conflict, including idempotency body drift
errorobjectrequiredShow propertiesHide properties
codestringrequiredAllowed:
bad_requestunauthorizedforbiddennot_foundconflictrate_limitedvalidation_failurenot_implementedinternal_errormessagestringrequiredrequestIdstringdocsUrlstringDeep link to the errors guide section for this code.
detailsobject422Validation failed
errorobjectrequiredShow propertiesHide properties
codestringrequiredAllowed:
bad_requestunauthorizedforbiddennot_foundconflictrate_limitedvalidation_failurenot_implementedinternal_errormessagestringrequiredrequestIdstringdocsUrlstringDeep link to the errors guide section for this code.
detailsobject429API key rate limit exceeded
errorobjectrequiredShow propertiesHide properties
codestringrequiredAllowed:
bad_requestunauthorizedforbiddennot_foundconflictrate_limitedvalidation_failurenot_implementedinternal_errormessagestringrequiredrequestIdstringdocsUrlstringDeep link to the errors guide section for this code.
detailsobjectdefaultError
errorobjectrequiredShow propertiesHide properties
codestringrequiredAllowed:
bad_requestunauthorizedforbiddennot_foundconflictrate_limitedvalidation_failurenot_implementedinternal_errormessagestringrequiredrequestIdstringdocsUrlstringDeep link to the errors guide section for this code.
detailsobjectRequest
curl -X POST "https://api.vortex.nyc/v1/coupons?environment=string&merchantAccountId=string" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"couponId": "string",
"code": "string",
"name": "string",
"description": "string",
"discountType": "fixed_amount",
"amount": 0,
"currency": "USD",
"percentage": 0,
"duration": "once",
"durationInBillingPeriods": 0,
"reusable": true,
"targets": {
"priceIds": [
"string"
],
"meterIds": [
"string"
]
},
"expiresAt": "2024-01-01T00:00:00Z",
"metadata": {}
}'const response = await fetch("https://api.vortex.nyc/v1/coupons?environment=string&merchantAccountId=string", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"couponId": "string",
"code": "string",
"name": "string",
"description": "string",
"discountType": "fixed_amount",
"amount": 0,
"currency": "USD",
"percentage": 0,
"duration": "once",
"durationInBillingPeriods": 0,
"reusable": true,
"targets": {
"priceIds": [
"string"
],
"meterIds": [
"string"
]
},
"expiresAt": "2024-01-01T00:00:00Z",
"metadata": {}
})
});import requests
response = requests.post(
"https://api.vortex.nyc/v1/coupons?environment=string&merchantAccountId=string",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
json={
"couponId": "string",
"code": "string",
"name": "string",
"description": "string",
"discountType": "fixed_amount",
"amount": 0,
"currency": "USD",
"percentage": 0,
"duration": "once",
"durationInBillingPeriods": 0,
"reusable": True,
"targets": {
"priceIds": [
"string"
],
"meterIds": [
"string"
]
},
"expiresAt": "2024-01-01T00:00:00Z",
"metadata": {}
},
)Response
{
"data": {},
"requestId": "string"
}{
"error": {
"code": "bad_request",
"message": "string",
"requestId": "string",
"docsUrl": "string",
"details": {}
}
}{
"error": {
"code": "bad_request",
"message": "string",
"requestId": "string",
"docsUrl": "string",
"details": {}
}
}{
"error": {
"code": "bad_request",
"message": "string",
"requestId": "string",
"docsUrl": "string",
"details": {}
}
}{
"error": {
"code": "bad_request",
"message": "string",
"requestId": "string",
"docsUrl": "string",
"details": {}
}
}{
"error": {
"code": "bad_request",
"message": "string",
"requestId": "string",
"docsUrl": "string",
"details": {}
}
}{
"error": {
"code": "bad_request",
"message": "string",
"requestId": "string",
"docsUrl": "string",
"details": {}
}
}