- Discovery: Call
GET /custom-objectsto list available types, then use thetypevalue as theobjectTypepath parameter for all other endpoints. - Configuration: Call
GET /custom-objects/{objectType}/configurationto get a JSON Schema for data fields and metadata about relationship fields. - Data vs relationships: Responses include separate
data(regular field values) andrelationships(linked entity IDs) objects. Create and update only acceptdata— relationship fields are rejected with a clear error directing you to the relationship management endpoints. - Relationship management: Dedicated
PUT/DELETEendpoints for linking and unlinking entities. Use thefieldRefIdfrom the configuration endpoint. - Object type format: Object types use
snake_casein URLs and responses.
Discovery
CallGET /v1/custom-objects to list the custom object types configured for your company:
type value (e.g., vehicle) as the {objectType} path parameter in all other endpoints.
Configuration
CallGET /v1/custom-objects/{objectType}/configuration to get:
data: JSON Schema (draft 2020-12) describing the available fields, their types, and which are required.relationships: Array of relationship metadata, each withfieldRefId,label,targetType, andcardinality.
Data vs Relationships
GET responses split the object’s data into two sections:data: Regular field values. Can be set via create/update.relationships: Linked entity IDs keyed byfieldRefId. Single-cardinality relationships have a string value; multi-cardinality relationships have an array of strings. Managed via the relationship endpoints only.
Relationship Management
Use the dedicated relationship endpoints to link and unlink entities:- Add:
PUT /custom-objects/{objectType}/{objectId}/relationships/{fieldRefId}/{targetId} - Remove:
DELETE /custom-objects/{objectType}/{objectId}/relationships/{fieldRefId}/{targetId}
Both operations are idempotent — adding an existing link returns
created: false, removing a non-existent link returns removed: false.
API Endpoints
- List Custom Object Types - Discover available types
- Get Configuration - JSON Schema and relationship metadata
- List Custom Objects - Paginated list for a type
- Get Custom Object - Retrieve by ID
- Create Custom Object - Create a new object
- Update Custom Object - Full replacement update (PUT)
- Delete Custom Object - Delete an object
- Add Relationship - Link to another entity
- Remove Relationship - Unlink from another entity
