Define the schema by POSTing to /crm/v3/schemas with a JSON body including name, labels, primaryDisplayProperty, and a properties array defining each custom property
Record the fullyQualifiedName and objectTypeId from the response — you will use these in subsequent API calls
Insert records by POSTing to /crm/v3/objects/{objectTypeId} with a properties map matching the schema you defined
Associate custom object records with standard objects (e.g., contacts) using the Associations v4 API and the correct association type IDs
To update the schema later (add properties), POST to /crm/v3/schemas/{objectType}/properties
Known gotchas
Custom object schemas require a Marketing Hub Enterprise or Sales Hub Enterprise subscription — lower tiers return a 403
Once a property is created on a custom object, the internal name cannot be changed; plan naming carefully before launch
Deleting a custom object schema is irreversible and permanently deletes all records of that type
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp