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

# Usage

Usage describes the context in which a definition may be used.

## Schema ID

`https://gobl.org/draft-0/cbc/usage`

## Properties

| Title | Property | Type | Description |
| - | - | - | - |
| Keys | `keys` | array of [cbc.Key](https://docs.gobl.org/draft-0/cbc/key.md) | Keys used for filtering, such as the addons that offer the definition. |
| Codes | `codes` | array of [cbc.Code](https://docs.gobl.org/draft-0/cbc/code.md) | Codes used for filtering, such as the tax regime country codes that offer the definition. |
| Schemas | `schemas` | array of string | Short schema IDs, without the GOBL base, of the objects in which the definition may be used, such as "tax/combo" or "org/party". Packages provide constants for them, such as tax.ShortSchemaCombo. |
| Paths | `paths` | array of string | JSON paths inside a document under which the definition may be used, with "\[\*]" matching any array index, for when only some of the schema's locations apply. |

## Validation Rules

| Field | Test | Validation Code / Message |
| - | - | - |
| `schemas[*]` | <ul><li>Matches ^\[a-z]\[a-z0-9-]*/\[a-z]\[a-z0-9-]*\$</li></ul> | `GOBL-CBC-USAGE-01` Schema must be a short schema ID |
| `paths[*]` | <ul><li>Matches ^\$(.\[$a-zA-Z0-9_-]+(\[\*\])*)*$</li></ul> | `GOBL-CBC-USAGE-02` Path must be a JSON path |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.