# Navarik Bridge API Data Types

There are JavaScript examples for each API call. All API objects are transmitted in JSON format, so any limitations of JSON types apply here. The object creation schema use a concise JavaScript format with the following field types.

# Primitive types

Type Description
string JSON-compatible string
text Large JSON-compatible string
int Integer
float Floating point number
boolean true or false
datetime ISO 8601 date and time, as a string
reference ID of another entity, a UUID string

# Catalog reference type

Catalog mapping functionality operates with the union type of either a catalog item reference or an object of following shape:

{
  name: string
  xref: string
}

# Entity Envelope Format

Bridge uses a generic data structure called Entity Envelope to represent id, data and meta-information about an individual business-object. This format is used by the majority of v2 APIs and provides following information about the entities.

Field Description Format Comment
id Globally unique entity ID UUID
version_id Entity version ID UUID A UUIDv5 hash of the entity content with its ID as the namespace. Comparing 2 entity version_id values alone can determine whether or not they represent the same version of the same entity.
previous_version_id ID of the previous version of the same entity UUID null if the entity has never changed.
last_action The action used to create this entity version "create" "update" "delete" null if the entity has never changed.
created_by User identity used to create the entity UUID Can refer to a user or a service account.
created_at Date and time of the entity creation datetime
modified_by User identity used to create the current version UUID Can refer to a user or a service account.
modified_at Date and time of the version creation datetime
type Entity type string The type defines the format of the entity's body according to the type schema.
schema The ID of the particular version of the type used to format this version of the entity UUID
body Business-object content object Formatted according to the schema.
meta Entity metadata object Optional system-controlled metadata.

# Response example

{
    "id": "ad27f47d-353c-45c9-bae7-ceff8bb35ba1",
    "version_id": "4a85acc9-305e-5b1b-9257-fa9b3422e9de",
    "previous_version_id": null,
    "last_action": "create",
    "created_by": "4afe1087-c307-4dfd-a85c-4849aad03a19",
    "created_at": "2022-04-14T18:07:34.431Z",
    "modified_by": "4afe1087-c307-4dfd-a85c-4849aad03a19",
    "modified_at": "2022-04-14T18:07:34.431Z",
    "type": "navarik.bridge.externalReference",
    "schema": "6683c2e2-f63a-5826-af14-fe72e0a64862",
    "body": {
        "workspace": "a2070b04-ca32-4a36-af58-c56e25715cb5",
        "ownerParty": "017950f1-7e14-44ae-b171-38b6903676d0",
        "name": "Galveston, TX",
        "xtype": "locations",
        "xref": "qsummary_Galveston, TX"
    },
    "meta": {
        "sc": "83b8b4dc-581a-4a38-8e6a-b4a447dcf11c"
    }
}