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

# Objects

> Define and manage your data model — object types and their fields.

Objects are the schema layer of Supersonic. Every entity in your CRM (companies, contacts, deals, projects) is an object type with configurable fields.

## Tools

| Tool                   | Description                              | Key Params                             |
| ---------------------- | ---------------------------------------- | -------------------------------------- |
| `objects.list`         | List all object types in the workspace   | —                                      |
| `objects.get`          | Get a single object type by slug         | `slug`                                 |
| `objects.create`       | Create a new object type                 | `name`, `slug`, `icon`                 |
| `objects.update`       | Update an object type's name or settings | `slug`, `name`, `icon`                 |
| `objects.add_field`    | Add a field to an object type            | `slug`, `name`, `field_type`, `config` |
| `objects.update_field` | Update a field's name, type, or config   | `slug`, `field_id`, `name`, `config`   |
| `objects.remove_field` | Remove a field from an object type       | `slug`, `field_id`                     |

### Field Types

`text` `number` `decimal` `currency` `date` `datetime` `boolean` `email` `url` `phone` `select` `multi_select` `relation`

<Tip>
  Use `select` or `multi_select` with a `config.options` array to define dropdown choices. Use `relation` to link object types together.
</Tip>

## Examples

### Create a "Deals" object type and add fields

<CodeGroup>
  ```json Create Object Type theme={null}
  {
    "tool": "objects.create",
    "params": {
      "name": "Deals",
      "slug": "deals",
      "icon": "dollar-sign"
    }
  }
  ```

  ```json Add a Currency Field theme={null}
  {
    "tool": "objects.add_field",
    "params": {
      "slug": "deals",
      "name": "Deal Value",
      "field_type": "currency",
      "config": {
        "currency": "USD",
        "required": true
      }
    }
  }
  ```

  ```json Add a Select Field theme={null}
  {
    "tool": "objects.add_field",
    "params": {
      "slug": "deals",
      "name": "Priority",
      "field_type": "select",
      "config": {
        "options": ["Low", "Medium", "High"]
      }
    }
  }
  ```
</CodeGroup>

### List all object types

```json theme={null}
{
  "tool": "objects.list",
  "params": {}
}
```

Response:

```json theme={null}
{
  "success": true,
  "data": [
    { "slug": "companies", "name": "Companies", "field_count": 12 },
    { "slug": "contacts", "name": "Contacts", "field_count": 9 },
    { "slug": "deals", "name": "Deals", "field_count": 7 }
  ]
}
```
