API Options for Adding and Modifying Records

Our API has multiple options when adding or modifying a custom record. Learn more about these below!

Available Endpoints

All endpoints for new and existing records and characters utilize these two common methods.

New RecordEdit RecordNew CharacterEdit Character

Option 1 - Dictionary Values

The easiest way to create or modify a custom record via API is to supply a "dictionary" of key/value field pairs.

1. Getting the `recordTypeId`

For adding a new record or character, you will need to specify the recordTypeId.

The recordTypeId is a unique number for your custom record template. This is visible in the custom record JSON's recordTypeId field, or next to the template name in the admin menu.

Custom Records - Record Type ID

2. Getting the `recordId`

For modifying an existing record or character, you will need to specify the recordId.

When viewing a record's JSON from a lookup endpoint, the record's id field is the unique ID for that filed record.

You can also view a record's ID in the UI with an id type custom field.

Custom Records - Record ID

3. Creating the `replaceValues` Dictionary

The replaceValues dictionary specifies the field UID (unique ID) and the desired text value to input.

You can easily copy a template field's UID in the admin menu by expanding the section and copying the very last column in the editor. This is shown as the Field Mapping ID or Field UID.

Custom Records - Field UID

Example Dictionary

"replaceValues": {
    "first": "Brian", // Set field with UID of 'first' to 'Brian'
    "_qkz7j5fxy": "Some Value" // Set field with UID of '_qkz7j5fxy' to 'Some Value'
}

Dictionary for Checkboxes Fields

For the custom checkboxes field, the available box options are stored in the field.options array and the selected values are stored in the field.data.flags array.

JSON String - Checkboxes Data
// Checkboxes options are set in the field.options array
// Checkboxes selections are set in the field.data.flags array
// Ex: options: ["CHECKBOX 1", "CHECKBOX 2", "CHECKBOX 3"]
// Ex: Select #1 & #3 data: { flags: ["CHECKBOX 1", "CHECKBOX 3"] }
// Stringified JSON:
"replaceValues": {
    "someUidCheckboxesField": "{\"flags\":[\"CHECKBOX 1\",\"CHECKBOX 3\"]}"
}

Dictionary For Non-Custom Sections

For section types like flags, charges, speed, or link these objects are stored in a data object on the first field in the section. These section type enums can be found under the custom record formatting.

For these, the dictionary value should be a JSON string of the object that the data property will be set to.

JSON String - Flags Data
// Stringified JSON for the FLAGS object
// Value will be stored in the section[index].fields[0].data
// NOTE: `flags` property is an ARRAY of flag strings
"replaceValues": {
    "someUidFlagsField": "{\"flags\":[\"FLAG 1\",\"FLAG 2\"]}"
}
JSON String - Charges Data
// Stringified JSON for the CHARGES object
// Value will be stored in the section[index].fields[0].data
// NOTE: `charges` property is an ARRAY of charge objects
"replaceValues": {
    "someUidChargesField": "{\"charges\":[{\"jailTime\":\"1 Year\",\"arrestCharge\":\"Some Crime\",\"arrestBondType\":\"Federal Bail Bond\",\"arrestBondAmount\":123,\"arrestChargeCode\":\"(1)23\",\"arrestChargeType\":\"Felony\",\"arrestChargeCounts\":1}]}"
}
JSON String - Speed Data
// Stringfied JSON for the SPEED object
// Value will be stored in the section[index].fields[0].data
"replaceValues": {
    "someUidSpeedField": "{\"date\":\"2024/09/01\",\"fine\":\"123\",\"time\":\"03:30\",\"paceType\":\"Radar\",\"speedLimit\":\"50\",\"vehicleSpeed\":\"100\"}"
}

Option 2 - Raw JSON

The more complicated but complete way to add or modify custom records via API is supplying the full, raw JSON structure of the record.

Custom records require a strict format with several dozen different data fields. Due to the complexity, it is highly recommended to create a new custom record template in the CAD UI, and then retrieve the record template for adding new records.

Or, view a detailed explanation of custom record formatting.

Last updated

Was this helpful?