POST to the CRM schemas API to define a new custom object, specifying the name, labels, required properties, and the primary display property
Add properties to the schema with types and field types appropriate to your data (string, number, enumeration, date, etc.)
Define association definitions in the schema to declare the relationship between the custom object and standard objects such as contacts
Create records of the custom object type by POSTing to the CRM objects API using the objectType name from the schema
Create associations between custom object records and contacts using the Associations API v4, specifying the association type defined in the schema
Read associated contacts for a custom object record by using the CRM objects GET endpoint with the associations query parameter, or use the Associations API v4 batch/read endpoint
Known gotchas
Custom object schemas are immutable in certain ways after creation; the primaryDisplayProperty and requiredProperties cannot be changed without deleting and recreating the schema, which deletes all records
The objectType used in API calls is the fully qualified name (e.g., p12345_myobject including the portal prefix) after creation; using just the name without the prefix returns a 404
Association types between custom objects and standard objects must be established in the schema definition or via the association types API before associations can be created; attempting to create an undeclared association type returns an error
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