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 host – FileMaker Cloud or FileMaker Server host name version – the OData version, always database-name – the name of the hosted database Example: |
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
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.
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.