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

# Get Design Code

> Retrieve a single Vienna classification code with notes and child codes

## Overview

Returns a single Vienna classification code along with any child codes at the next depth level. Use this when navigating the Vienna hierarchy interactively (e.g. drill down from `03` to `03.05` to `03.05.01`).

## Path Parameters

<ParamField path="code" type="string" required>
  Vienna code at any depth: `03` (category), `03.05` (division), `03.05.01` (section). The undotted form (`030501`) and unpadded segments (`3.5.1`) are also accepted and normalized.
</ParamField>

## Response

This endpoint is publicly cacheable, so the response never includes `request_id`.

<ResponseField name="code" type="string">The requested Vienna code, normalized to the zero-padded dotted form.</ResponseField>
<ResponseField name="object" type="string">Always `design_code`.</ResponseField>
<ResponseField name="category" type="string">Two-digit category code (e.g. `03`).</ResponseField>
<ResponseField name="division" type="string | null">Division-level code (e.g. `03.05`). `null` for depth-1 codes.</ResponseField>
<ResponseField name="section" type="string | null">Section-level code (e.g. `03.05.01`). `null` for depth-1 and depth-2 codes.</ResponseField>
<ResponseField name="depth" type="integer">Depth (1, 2, or 3).</ResponseField>
<ResponseField name="description" type="string">Description text.</ResponseField>
<ResponseField name="notes" type="string | null">Additional Vienna notes when published by WIPO.</ResponseField>
<ResponseField name="children" type="object[]">Child codes at the next depth, each with `code`, `description`, and `depth`. Empty for depth-3 (leaf) codes.</ResponseField>

<ResponseExample>
  ```json theme={null}
  {
    "code": "03.05",
    "object": "design_code",
    "category": "03",
    "division": "03.05",
    "section": null,
    "depth": 2,
    "description": "Quadrupeds (series V), quadrumana",
    "notes": null,
    "children": [
      { "code": "03.05.01", "description": "Rabbits, hares", "depth": 3 },
      { "code": "03.05.03", "description": "Squirrels", "depth": 3 }
    ]
  }
  ```
</ResponseExample>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.signa.so/v1/design-codes/03.05" \
    -H "Authorization: Bearer sig_YOUR_KEY"
  ```

  ```typescript TypeScript theme={null}
  import { Signa } from "@signa-so/sdk";

  const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });

  const code = await signa.references.designCode("03.05");
  ```
</CodeGroup>

## Errors

| Status | Type           | Description                           |
| ------ | -------------- | ------------------------------------- |
| 401    | `unauthorized` | Missing or invalid API key            |
| 403    | `forbidden`    | API key lacks `trademarks:read` scope |
| 404    | `not_found`    | Vienna code does not exist            |

## Related Endpoints

* [List Design Codes](/api-reference/reference/list-design-codes)
* [List Trademarks](/api-reference/trademarks/list-trademarks), filter by `vienna_codes`
