---
title: "Get metadata"
topic_type: "conceptual"
sections: ["FileMaker information"]
locale: "en-US"
product: "FileMaker Server"
doc: "Claris FileMaker OData Guide"
version: 22
version_year: 2025
url: "https://help.claris.com/en/odata-guide/content/get-metadata.html"
id: "en/odata-guide/get-metadata.md"
keywords: []
---

# Get metadata

To request table metadata information, use the HTTP GET method.

Use the `$metadata` keyword with the database service root to request a complete metadata listing for the database.

| Component | Description |
| --- | --- |
| HTTP method | GET |
| URL | https://*host*/fmi/odata/*version*/*database-name*/$metadata<br>*host* – FileMaker Cloud or FileMaker Server host name<br>*version* – the OData version, always `v4`<br>*database-name* – the name of the hosted database<br>Example: `/fmi/odata/v4/ContentMgmt/$metadata` |

## FileMaker information

To provide information about the FileMaker tables in the database, *annotations* (information not defined in the OData standard) are added to the metadata results, such as the FileMaker product version number.

The annotations below have a Boolean value of true if they are present. Otherwise, the value is false.

- AutoGenerated: whether the field value is automatically generated by FileMaker Pro
- Index: whether the field values are indexed
- VersionID: whether the field is a timestamp field and a new timestamp value is generated when the record is modified
- Global: whether the field contains a global value
- Calculation: whether the field is a calculation type
- Summary: whether the field is a Summary type
- Computed: whether a field is a calculation or derives its value from external sources via auto-enter options

Other annotations:

- MaxRepetitions: an integer value indicating maximum repetitions defined for a repeating field. If this annotation is not present, the field is not a repeating field.
- ExternalSecurePath: a string indicating the relative path specified for secure storage of a container field.
- BestRowID: always contains ROWID, a system field that is explicitly included in a result set by specifying `$select=ROWID`. The value in the result set is the same as the Get (RecordID) function for a record.
- RowVersion: always contains ROWMODID, a system field that is explicitly included in a result set by specifying `$select=ROWMODID`. The value in the result set is the same as the Get (RecordModificationCount) function for a record.
- TableID: a string indicating the immutable FileMaker Table ID (FMTID).
- FieldID: a string indicating the immutable FileMaker Field ID (FMFID).
- ScriptID: a string indicating the immutable FileMaker Script ID (FMSID).
- FMComment: a string containing a table or field comment.
- AIAnnotation: additional field information to describe its purpose for AI models.

**Note** Value lists will contain the `Kind` property with the value `EnumType`. Fields using the value list will contain the `EnumType` property with the value `com.filemaker.odata.database-name.value-list-name`.

> **Important** OData requires that each table define a primary key. OData uses fields that are not empty and that require a unique value as a primary key. Therefore, if you don’t have such fields defined for your tables, the ROWID system field is used as the primary key. The ROWID system field contains the same value as the Get (RecordID) function for the record.