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

# Export glossary term assignments

> Export every [glossary term assignment](/docs/catalog/business-glossary/glossary-term-assignments), one row per assignment. This is the file behind a critical data element register.

Requires the `GLOSSARY_READ` permission.

Asset-level and field-level assignments share the same table: an asset-level row leaves `schemaFieldId` and `fieldPath` empty.

This endpoint does not accept `filter` or `sort`.

| Column | Description |
| :--- | :--- |
| `termId` | Glossary term identifier. |
| `termName` | Term name. |
| `catalogAssetId` | Identifier of the catalog asset the term is assigned to. |
| `location` | Dot-separated path of the catalog asset, for example `ANALYTICS.FINANCE.ORDERS`. |
| `schemaFieldId` | Identifier of the schema field the term is assigned to. Empty on an asset-level assignment. |
| `fieldPath` | Path of the assigned field within the asset, for example `/amount`. Empty on an asset-level assignment. |
| `isPropagated` | `true` for a term [propagated through lineage](/docs/catalog/business-glossary/glossary-term-propagation), `false` for one assigned directly. |
| `assignedAt` | ISO-8601 timestamp. |



## OpenAPI

````yaml /schemas/csv-export.json get /glossary-term-assignments
openapi: 3.1.0
info:
  title: Validio CSV Export API
  version: 1.0.0
  description: >-
    Export Validio data as CSV over REST. Every endpoint is a `GET` that returns
    `text/csv`. Responses are capped at 100,000 rows. See the [CSV Export API
    overview](/developer/validio-api/csv-export-api).
servers:
  - url: https://{instance}/api/export/v1
    description: Your Validio installation
    variables:
      instance:
        default: your-validio-instance
        description: The host you sign in to Validio with.
security:
  - apiKey: []
paths:
  /glossary-term-assignments:
    get:
      summary: Export glossary term assignments
      description: >-
        Export every [glossary term
        assignment](/docs/catalog/business-glossary/glossary-term-assignments),
        one row per assignment. This is the file behind a critical data element
        register.


        Requires the `GLOSSARY_READ` permission.


        Asset-level and field-level assignments share the same table: an
        asset-level row leaves `schemaFieldId` and `fieldPath` empty.


        This endpoint does not accept `filter` or `sort`.


        | Column | Description |

        | :--- | :--- |

        | `termId` | Glossary term identifier. |

        | `termName` | Term name. |

        | `catalogAssetId` | Identifier of the catalog asset the term is
        assigned to. |

        | `location` | Dot-separated path of the catalog asset, for example
        `ANALYTICS.FINANCE.ORDERS`. |

        | `schemaFieldId` | Identifier of the schema field the term is assigned
        to. Empty on an asset-level assignment. |

        | `fieldPath` | Path of the assigned field within the asset, for example
        `/amount`. Empty on an asset-level assignment. |

        | `isPropagated` | `true` for a term [propagated through
        lineage](/docs/catalog/business-glossary/glossary-term-propagation),
        `false` for one assigned directly. |

        | `assignedAt` | ISO-8601 timestamp. |
      operationId: exportGlossaryTermAssignments
      parameters:
        - name: termIds
          in: query
          required: false
          description: >-
            A URL-encoded JSON array of glossary term IDs, to export the
            assignments of those terms only. Omit it to export every assignment.
          schema:
            type: string
      responses:
        '200':
          $ref: '#/components/responses/CsvExport'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  responses:
    CsvExport:
      description: >-
        A CSV export with a header row, capped at 100,000 rows. The
        `Content-Disposition` header carries a generated filename built from the
        resource, an optional entity name, and the time range (or today's date
        if the request has no time bounds).
      headers:
        Content-Disposition:
          description: >-
            Attachment header carrying the generated filename, for example
            `incident-groups-2026-03-01_2026-04-01.csv`.
          schema:
            type: string
      content:
        text/csv:
          schema:
            type: string
    BadRequest:
      description: >-
        A required parameter is missing, or a JSON parameter (`filter`, `sort`,
        `ids`, or `termIds`) is not valid. The body is a JSON object with an
        `error` message.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
    Unauthorized:
      description: The `Authorization` header is missing, or the key pair is not valid.
    Forbidden:
      description: >-
        The API key is valid but lacks the permissions this endpoint requires.
        The body is `{"error": "Insufficient permissions"}`.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Your API key's access key and access secret, colon-delimited:
        `<access-key>:<access-secret>`. The same header as the GraphQL API; see
        [Authentication](/developer/getting-started/authentication).

````