IDs and Uniqueness
Entities returned from Attio’s API contain anid
property which is composed of one or more sub-IDs. The sub-IDs are each a UUID that identifies either the entity or one of its parents.
record_id=”d2c2f990-3af0-4be5-808a-5605549e787f”
.
The safe assumption is that the record is the only record with record_id=”d2c2f990-3af0-4be5-808a-5605549e787f”
and object_id=”7c430b6d-fa5b-48c6-bfa7-9520c088c7bc"
and workspace_id="5821c091-cf04-4aab-a72a-f1646dbd6841"
.
In practice, such collisions will be rare, but they are important to bear in mind. This is especially true if you are building large integrations which operate on the data of many workspaces.
If you are only operating on data from your own workspace, you can essentially disregard the workspace_id
key.
Slugs
For ergonomics and readability, Attio’s API utilises slugs across a variety of entities such as list, objects and attributes. Path parameters, query parameters, request bodies and responses will utilise a unique slug instead of an ID where appropriate. For example, a request to the create record endpoint accepts values keyed by either the attribute slug or attribute ID and returns values keyed by slug.Request
Response
- Object (
api_slug
) - Attribute (
api_slug
) - List (
api_slug
) - Status (
title
) - Select Option (
title
)