*** title: Resource model subtitle: The live contact resource shape and the conventions it follows slug: resource-model -------------------- ## Live resources today | Resource | Live operations | Identifier prefix | | ------------------- | --------------- | ----------------------------- | | Contact | List, get | `cnt_` | | Company | List, get | `cmp_` | | User | List, get | `usr_` | | Tag | List, get | `tag_` | | Engagement | List, get | `ngmt_` | | Transcript timeline | Get | n/a (nested under engagement) | ## Shared conventions * Responses use `snake_case` * Timestamps use ISO 8601 UTC strings * Most resources include `created_at` and `updated_at` * The contact payload can include lightweight related-resource references such as `{ "id": "cmp_...", "object": "company" }` * All list resources use the same cursor-paginated list envelope and default to `updated_at` descending order * Transcript timeline entries expose `speaker`, `text`, `start_seconds`, and `end_seconds` ## Contact fields * Identity: `id`, `object` * Names: `first_name`, `last_name` * Profile: `description`, `time_zone` * Relationships: `company` * Communication channels: `emails`, `phone_numbers` * Audit timestamps: `created_at`, `updated_at` ## Resource highlights * Company fields include `domains`, `industry`, `website`, and `number_of_employees` * User fields include safe profile metadata such as `job_title`, `emails`, and `last_activity_at` * Tag fields include `hex_color` and `auto_tagging_enabled` * Engagement fields include `engagement_type`, `data_source`, `processing_status`, and timing metadata * Transcript timeline speakers can resolve to `user`, `contact`, or `unknown`