> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revyops.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Common Attributes

> Attributes that appear on every object's API response.

## Overview

Every object in the RevyOps API (People, Contacts, Companies, Emails) carries the same handful of housekeeping attributes alongside its own fields. This page documents those shared attributes once instead of repeating them on every object page.

## Attributes

| Attribute    | API field      | Type               | Writable? | Notes                                                                                                                         |
| ------------ | -------------- | ------------------ | --------- | ----------------------------------------------------------------------------------------------------------------------------- |
| ID           | `id`           | integer            | Read-only | Unique per object type within your workspace. Not unique across object types, a contact and a company can both have `id: 42`. |
| Last updated | `updated_time` | string (date-time) | Read-only | Set automatically whenever the record changes.                                                                                |
| Workspace    | `client_id`    | string             | Read-only | Only present on Master List responses (see below). Identifies which client workspace the record belongs to.                   |

## Client ID on Master List Responses

Regular object endpoints (`/public/contacts`, `/public/companies`, and so on) are already scoped to one workspace by your API key, so their responses don't repeat a `client_id` field.

The **Master List** endpoints (`/public/contacts-master-list`, `/public/companies-master-list`) are the exception. They're read with a master API key that can see across every client in an agency, so each record in the response includes `client_id` to tell you which client workspace it belongs to. See [Authentication](/api-reference/authentication) for the difference between client-scoped and master API keys.

## What's Not Common

A few things vary enough between objects that they're documented per object instead:

* **Status** exists on Contacts (`contact_status`) and Companies (`company_status`) but means something different on each. See [Contacts](/data-model/contacts) and [Companies](/data-model/companies).
* **Custom fields** exist on Contacts and Companies as a nested list of `{field_name, field_value}` objects, under `contact_custom_fields` and `company_custom_fields` respectively. See [Data Model Overview](/data-model/overview#standard-vs-custom-fields).
* A **Person** (`/public/people`) has one top-level `id`, but no `updated_time`. Its individual emails, LinkedIn URLs, and phone numbers are listed underneath without their own `id`, since they're identifiers on the person rather than separate objects. See [People](/data-model/people).
