> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voyantcloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Contract Series

> Retrieve a contract numbering series by ID.

## Method

`GET` `/v1/contract-series/:id`

## Path Parameters

<ParamField path="id" type="uuid" required>Contract series ID.</ParamField>

## Headers

<ParamField header="Authorization" type="string">Bearer token (requires `contract-series:read`).</ParamField>

## Request Example

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.voyantcloud.com/v1/contract-series/cs_01HZYQ0RN0AT4Z2ZEYQXT4S1B2" \
    -H "Authorization: Bearer $VOYANT_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const res = await fetch("https://api.voyantcloud.com/v1/contract-series/cs_01HZYQ0RN0AT4Z2ZEYQXT4S1B2", {
    headers: { Authorization: `Bearer ${process.env.VOYANT_API_KEY}` },
  })
  const { series } = await res.json()
  ```

  ```python Python theme={null}
  import os, requests

  resp = requests.get(
    "https://api.voyantcloud.com/v1/contract-series/cs_01HZYQ0RN0AT4Z2ZEYQXT4S1B2",
    headers={"Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}"},
  )
  series = resp.json()["series"]
  ```
</RequestExample>

## Response

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "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-03-20T08:02:11.000Z"
    }
  }
  ```
</ResponseExample>

<Warning>
  Requests for a non-existent ID return `404` with `{ "error": "Contract series not found", "code": "NOT_FOUND_404" }`.
</Warning>
