Method
POST /v1/contract-series
Body Parameters
Headers
string
Bearer token (requires
contract-series:write).string
application/jsonRequest Example
curl -X POST "https://api.voyantcloud.com/v1/contract-series" \
-H "Authorization: Bearer $VOYANT_API_KEY" \
-H "content-type: application/json" \
-d '{
"name": "Core Contracts",
"prefix": "CNT",
"pattern": "CNT-{year}-{sequence}",
"resetPeriod": "year",
"startValue": 100,
"enforceGapless": true,
"enforceMonotonicDates": true,
"active": true,
"defaultForBe": true
}'
const res = await fetch("https://api.voyantcloud.com/v1/contract-series", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.VOYANT_API_KEY}`,
"content-type": "application/json",
},
body: JSON.stringify({
name: "Supplier Contracts",
prefix: "SUP",
pattern: "SUP-{year}-{sequence}",
resetPeriod: "quarter",
}),
})
const body = await res.json()
import os, requests
payload = {
"name": "Customer Agreements",
"pattern": "AGR-{year}-{sequence}",
"resetPeriod": "month",
"defaultForBe": False
}
resp = requests.post(
"https://api.voyantcloud.com/v1/contract-series",
headers={
"Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}",
"content-type": "application/json",
},
json=payload,
)
series = resp.json()
Response
{
"series": {
"id": "cs_01HZYQ0RN0AT4Z2ZEYQXT4S1B2",
"workspaceId": "ws_01HZYPM2QF2R8X9SZQ0J9SYBCN",
"name": "Core Contracts",
"prefix": "CNT",
"pattern": "CNT-{year}-{sequence}",
"resetPeriod": "year",
"startValue": 100,
"enforceGapless": true,
"enforceMonotonicDates": true,
"active": true,
"defaultForBe": true,
"createdAt": "2025-01-06T10:14:32.000Z",
"updatedAt": "2025-01-06T10:14:32.000Z"
}
}
When
defaultForBe is true, the previous default series (if any) is automatically unflagged.