For context on how layouts fit within matters, see Matters documentation.


Data Mapping
How to get a list of layout fields that you can set up a mapping for:- Get a reference for the layout design ID by querying a matter type.
/items/0/id contains the layout design ID and /items/0/href contains a full URL to use in the next step.
- Retrieve the full list of fields for the given layout design.
/fields/*/name contain the layout fields that you can set up a mapping for.
Working with Layout Data
Once you’ve discovered the available layout designs, you can retrieve, create, update, and delete actual layout data on matters.Retrieving All Layouts on a Matter
Get all layout items that exist on a matter, including both top-level layouts and sub-items.- Top-level layouts have
parentItemId: null(e.g., Workers Comp Details) - Sub-item layouts have a
parentItemIdreferencing their parent layout (e.g., Loan Details under a Lender contact)
Retrieving a Specific Layout Item
Get detailed information about a single layout item, including all its field values.Creating Layout Items
Add new layout data to a matter. This operation is asynchronous and returns a202 Accepted response.
Adding a Top-Level Layout
Create a new layout item at the matter level with initial field values.Adding a Sub-Layout Item
Create a nested layout item under a parent layout by including theparentItemId.
Understanding Async Operations
Layout creation and update operations are asynchronous and return a202 Accepted response with a link to the resource being created or updated.
Best Practices:
- Use the returned
hrefto verify the operation completed successfully - Implement retry logic for failed requests
- Consider using webhooks for completion notifications instead of polling
- Handle
503 Service Unavailableresponses with exponential backoff
Updating Layout Data
Update field values on an existing layout item. This is a partial update operation - only the fields you specify will be changed.The PATCH operation merges your changes with existing data. Only include the fields you want to update - other fields remain unchanged.
Deleting Layout Items
Remove a layout item from a matter. This operation is asynchronous and cannot be undone via the API.Field Type Reference
Each layout field has a specific type that determines how values should be formatted. Always retrieve the layout design first to understand field types before setting values.Text Fields
Simple string values for text-based fields. Example:DateTime Fields
Date and time values must use ISO 8601 format in UTC timezone. Format:YYYY-MM-DD
Example:
Combobox Fields
Combobox fields must use a value from the predefinedpossibleValues list in the layout design.
Two-step process:
- Get the layout design to see allowed values:
- Use one of the allowed values:
Checkbox Fields
Boolean values represented as strings. Allowed values:"true" or "false"
Example:
Number Fields
Numeric values represented as strings. Examples:Working with Contacts on Layouts
Associate contacts with specific layout items (e.g., linking a lender contact to a loan details layout).Getting Contacts on a Layout
Retrieve all contacts associated with a layout item.Adding Contacts to a Layout
Associate a contact with a layout item.If the specified
key already references a contact, remove the existing role or relationship manually before adding a new contact.Common Patterns & Best Practices
End-to-End Workflow: Property Purchase
Complete example for creating and populating a Property Details layout in a conveyancing matter: 1. Find the matter type and layout designError Handling Strategies
Validate before sending:- Check field types against layout design
- Validate DateTime format matches ISO 8601
- Confirm Combobox values are in possibleValues
400 Bad Request: Validation error - check field types and formats404 Not Found: Layout design or matter doesn’t exist503 Service Unavailable: Implement retry with exponential backoff
href, configure webhooks to receive notifications when operations complete.