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

# API

> API reference for Attio: every `attio.api.*` operation with input and output types.

Every `attio.api.*` operation is listed below with parameter shapes and return types from the plugin Zod schemas.

<Info>
  **New to Corsair?** See [API access](/concepts/api), [authentication](/concepts/auth), and [error handling](/concepts/error-handling).
</Info>

## Generated

### assertPerson

`generated.assertPerson`

Tool to create or update person records using a unique attribute to search for existing people. Use when you want to ensure a person exists with specific details without creating duplicates.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.assertPerson({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### assertUserRecord

`generated.assertUserRecord`

Creates or updates a user record in Attio using a unique attribute to search for existing users. If a user is found with the same value for the matching attribute, that user will be updated. If no user is found, a new one will be created. Use this to ensure user records exist without duplicates.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.assertUserRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### assertWorkspace

`generated.assertWorkspace`

Creates or updates a workspace record in Attio using a unique attribute to search for existing workspaces. If a workspace is found with the same value for the matching attribute, that workspace will be updated. If no workspace is found, a new one will be created.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.assertWorkspace({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createAttribute

`generated.createAttribute`

Tool to create a new attribute on an object or list in Attio. Use when you need to add custom fields to track additional information. For record-reference types, you can establish bidirectional relationships by supplying a relationship object.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createAttribute({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createComment

`generated.createComment`

Tool to create a new comment on a thread, record, or list entry in Attio. Use when you need to add a comment to an existing conversation, a record (like a person, company, or deal), or a list entry.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createComment({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createCompany

`generated.createCompany`

Creates a new company record in Attio. This endpoint will throw an error on conflicts of unique attributes like domains. If you prefer to update company records on conflicts, use the Assert company record endpoint instead. Note: The logo\_url attribute cannot currently be set via the API.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createCompany({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createDealRecord

`generated.createDealRecord`

Tool to create a new deal record in Attio. Use when you need to track a new sales opportunity or deal. This endpoint will throw an error on conflicts of unique attributes. Minimal requirement is providing at least one attribute value.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createDealRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createEntry

`generated.createEntry`

DEPRECATED: Use ATTIO\_ATTIO\_POST\_V2\_LISTS\_LIST\_ENTRIES instead. Tool to add a record to a list as a new list entry in Attio. Use when you need to organize records into specific lists. Throws errors on unique attribute conflicts. Multiple list entries are allowed for the same parent record.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createEntry({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createList

`generated.createList`

Tool to create a new list in Attio. Use when you need to organize records into custom lists. Once created, add attributes using the Create Attribute API and add records using the Create Entry API. New lists must have either workspace\_access set to 'full-access' or one or more workspace\_member\_access with 'full-access' level.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createList({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createNote

`generated.createNote`

This tool creates a new note on a given record in Attio. The note can be attached to any record type (like person, company, or deal) and includes a title and content. It requires parameters such as parent\_object, parent\_record\_id, title, and content, with an optional created\_at timestamp.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createNote({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createObject

`generated.createObject`

Tool to create a new custom object in your Attio workspace. Use when you need to add a new object type beyond the standard objects (people, companies, deals, users, workspaces). Requires api\_slug (snake\_case identifier), singular\_noun, and plural\_noun.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createObject({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createPerson

`generated.createPerson`

Creates a new person record in Attio. This endpoint will throw an error on conflicts of unique attributes like email\_addresses. If you prefer to update person records on conflicts instead, use the Assert person record endpoint. Note: The avatar\_url attribute cannot currently be set via the API.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createPerson({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createRecord

`generated.createRecord`

This tool creates a new record in Attio for a specified object type (people, companies, deals, users, workspaces, etc.). It requires the object type and a values dictionary containing the attributes for the new record. IMPORTANT: Different object types have different attributes. For example: - 'people' object uses: name, email\_addresses, phone\_numbers, primary\_location, job\_title, etc. - 'users' object uses: primary\_email\_address, user\_id, person, workspace - 'companies' object uses: name, domains, description, etc. Always verify the correct attribute names for your target object type before creating records. Use the List Attributes API or check your workspace to see available attributes for each object type.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createSelectOption

`generated.createSelectOption`

Tool to add a new select option to a select or multiselect attribute in Attio. Use when you need to add a new choice to an existing select field.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createSelectOption({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createStatus

`generated.createStatus`

Tool to add a new status to a status attribute on either an object or a list. Use when you need to create a new status option for status attributes. Company and person objects do not support status attributes at this time.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createStatus({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createTask

`generated.createTask`

Tool to create a new task in Attio. Use when you need to add a task with content and optional deadline, assignees, or linked records. Note: Tasks can only be created from plaintext without record reference formatting.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createTask({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createUserRecord

`generated.createUserRecord`

Creates a new user record in Attio. User records represent workspace members or users in the system. Requires primary\_email\_address, user\_id, and workspace\_id. Optionally link to an existing person record. Note: Required attributes may vary based on workspace configuration - check the List Attributes action if you encounter missing\_value errors.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createUserRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createWebhook

`generated.createWebhook`

Tool to create a webhook and subscribe to events in Attio. Use when you need to set up a new webhook endpoint to receive real-time event notifications. Returns the webhook configuration including a one-time signing secret for verifying event authenticity.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createWebhook({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createWorkspaceRecord

`generated.createWorkspaceRecord`

Creates a new workspace record in Attio. The workspace\_id field is required and must be unique. This endpoint will throw an error on conflicts of unique attributes. Use when you need to create a new workspace entry in your Attio workspace.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.createWorkspaceRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteComment

`generated.deleteComment`

Tool to delete a comment by its comment\_id. Use when you need to remove a comment from Attio. If the comment is at the head of a thread, all messages in the thread are also deleted. The operation is permanent and cannot be undone.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteComment({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteCompany

`generated.deleteCompany`

Tool to delete a company record from Attio by its record\_id. Use when you need to permanently remove a company record. The deletion is irreversible and cannot be recovered.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteCompany({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteDeal

`generated.deleteDeal`

Tool to delete a deal record from Attio by its record\_id. Use when you need to permanently remove a deal record. The deletion is irreversible and cannot be recovered.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteDeal({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteEntry

`generated.deleteEntry`

Tool to delete a single list entry by its entry\_id in Attio. Use when you need to remove an entry from a specific list. The operation is permanent and cannot be undone.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteEntry({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteNote

`generated.deleteNote`

This tool allows users to delete a specific note in Attio by its ID. It is implemented via DELETE [https://api.attio.com/v2/notes/\{note\_id}](https://api.attio.com/v2/notes/\{note_id}) and handles note deletion by validating the provided note\_id. It complements ATTIO\_CREATE\_NOTE functionality, providing complete note management capabilities within the Attio platform.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteNote({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deletePerson

`generated.deletePerson`

Tool to delete a person record from Attio by its record\_id. Use when you need to permanently remove a person record. The deletion is irreversible and cannot be recovered.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deletePerson({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteRecord

`generated.deleteRecord`

This tool allows you to delete a record from Attio permanently. The deletion is irreversible, and the data will eventually be removed from the system.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteRecordById

`generated.deleteRecordById`

Tool to delete a single record (e.g. a company or person) by ID. Use when you need to permanently remove a record from Attio.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteRecordById({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteTask

`generated.deleteTask`

Tool to delete a task by its task\_id. Use when you need to remove a task from Attio. The operation is permanent and cannot be undone.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteTask({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteUser

`generated.deleteUser`

Tool to delete a user record from Attio by its record\_id. Use when you need to permanently remove a user record. The deletion is irreversible and cannot be recovered.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteUser({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteWebhook

`generated.deleteWebhook`

Tool to delete a webhook by its webhook\_id. Use when you need to remove a webhook subscription from Attio. The operation is permanent and cannot be undone.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteWebhook({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteWorkspaceRecord

`generated.deleteWorkspaceRecord`

Tool to delete a workspace record from Attio by its record\_id. Use when you need to permanently remove a workspace record. The deletion is irreversible and cannot be recovered.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.deleteWorkspaceRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### findRecord

`generated.findRecord`

This tool allows users to find a record in Attio by either its unique ID or by searching using unique attributes. It provides two methods: one for directly retrieving a record by its ID with the GET /v2/objects/{object}/records/{record_id} endpoint, and another for searching by attributes using the POST /v2/objects/{object}/records/query endpoint.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.findRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getAttribute

`generated.getAttribute`

Tool to get information about a single attribute on either an object or a list. Use when you need detailed information about a specific attribute's configuration, type, or metadata.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getAttribute({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getComment

`generated.getComment`

Tool to get a single comment by its comment\_id in Attio. Use when you need to retrieve detailed information about a specific comment, including its content, author, thread, and resolution status.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getComment({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getCompany

`generated.getCompany`

Tool to get a single company record by its record\_id in Attio. Use when you need to retrieve detailed information about a specific company. Returns all attribute values for the company with temporal and audit metadata.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getCompany({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getDealRecord

`generated.getDealRecord`

Tool to get a single deal record by its record\_id in Attio. Use when you need to retrieve detailed information about a specific deal. Returns all attribute values for the deal with temporal and audit metadata.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getDealRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getList

`generated.getList`

Tool to retrieve details of a single list in your Attio workspace. Use when you need to get information about a specific list by its UUID or slug.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getList({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getListEntry

`generated.getListEntry`

Tool to get a single list entry by its entry\_id. Use when you need to retrieve detailed information about a specific entry in an Attio list.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getListEntry({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getNote

`generated.getNote`

Tool to get a single note by its note\_id in Attio. Use when you need to retrieve detailed information about a specific note, including its title, content (plaintext and markdown), tags, and creator information.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getNote({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getObject

`generated.getObject`

Tool to get a single object by its object\_id or slug. Use to retrieve detailed schema information about a specific object type in the Attio workspace. Also use as a prerequisite validation step before calling ATTIO\_FIND\_RECORD, ATTIO\_LIST\_RECORDS, or ATTIO\_CREATE\_RECORD — attribute slugs must exactly match what this tool returns. The returned schema defines required attributes for record creation; omitting them causes invalid\_request\_error with code missing\_value (HTTP 400). Custom attributes (e.g., industry, category) vary by object type — verify their presence and data type here before building filters or record values.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getObject({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getRecord

`generated.getRecord`

Tool to get a single person, company, or other record by its record\_id in Attio. Use when you need to retrieve detailed information about a specific record. Returns all attribute values for the record with temporal and audit metadata.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getRecordAttributeValues

`generated.getRecordAttributeValues`

Tool to get all values for a given attribute on a record in Attio. Use when you need to retrieve current or historic values for a specific attribute. Historic values can be queried using the show\_historic param but cannot be queried on COMINT or enriched attributes (returns 400 error).

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getRecordAttributeValues({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getRecordEntries

`generated.getRecordEntries`

Tool to list all entries, across all lists, for which a record is the parent. Use when you need to find which lists a specific record belongs to. Returns list IDs, slugs, entry IDs, and creation timestamps.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getRecordEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getSelf

`generated.getSelf`

Tool to identify the current access token, the workspace it is linked to, and any permissions it has. Use when you need to verify token validity or retrieve workspace information associated with the current authentication.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getSelf({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getTask

`generated.getTask`

Tool to get a single task by its task\_id in Attio. Use when you need to retrieve detailed information about a specific task, including its content, deadline, assignees, and linked records.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getTask({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getV2ObjectsObjectRecordsRecordId

`generated.getV2ObjectsObjectRecordsRecordId`

Tool to get a single person, company or other record by its record\_id. Use when you need to retrieve detailed information about a specific record.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getV2ObjectsObjectRecordsRecordId({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getV2Tasks

`generated.getV2Tasks`

Tool to list all tasks in the workspace. Use when you need to retrieve tasks, optionally filtering by assignee, completion status, or linked records. Results are sorted by creation date from oldest to newest by default.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getV2Tasks({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getV2WorkspaceMembers

`generated.getV2WorkspaceMembers`

DEPRECATED: Use ATTIO\_LIST\_WORKSPACE\_MEMBERS instead. Tool to list all workspace members in the workspace. Use when you need to retrieve information about workspace members, their access levels, or their identities.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getV2WorkspaceMembers({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getWebhook

`generated.getWebhook`

Tool to get a single webhook by its webhook\_id in Attio. Use when you need to retrieve detailed information about a specific webhook configuration. Returns the webhook's target URL, event subscriptions, status, and metadata.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getWebhook({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getWorkspaceMember

`generated.getWorkspaceMember`

Tool to get a single workspace member by their workspace\_member\_id. Use when you need details about a specific workspace member, including their name, email, access level, and avatar.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getWorkspaceMember({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getWorkspaceRecord

`generated.getWorkspaceRecord`

Tool to get a single workspace record by its record\_id. Use when you need to retrieve detailed information about a specific workspace. Returns all attribute values for the workspace record with temporal and audit metadata.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.getWorkspaceRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listAttributeOptions

`generated.listAttributeOptions`

Tool to list all select options for a particular attribute on either an object or a list. Use when you need to discover available options for select or status type attributes.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listAttributeOptions({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listAttributes

`generated.listAttributes`

Tool to list the attribute schema for an Attio object or list (including slugs, types, select/status config) to enable correct filtering and writes. Use when you need to discover what attributes exist on an object or list, their types, and their configuration (e.g., available options for select/status attributes). Returns attributes in UI sort order.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listAttributes({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listAttributeStatuses

`generated.listAttributeStatuses`

Tool to list all statuses for a particular status attribute on either an object or a list. Use when you need to discover available statuses for a status attribute, including their IDs, titles, and configuration.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listAttributeStatuses({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listCallRecordings

`generated.listCallRecordings`

Tool to list all call recordings for a meeting in Attio. Use when you need to retrieve call recordings associated with a specific meeting. This endpoint is in beta.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listCallRecordings({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listCompanies

`generated.listCompanies`

Tool to list company records in Attio with optional filtering and sorting. Use when you need to retrieve company records based on criteria like domain, name, or description.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listCompanies({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listCompanyAttributeValues

`generated.listCompanyAttributeValues`

Tool to get all values for a given attribute on a company record. Historic values can be queried using the show\_historic query param. Historic values cannot be queried on COMINT or enriched attributes. Some attributes are subject to billing status and may return an empty array.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listCompanyAttributeValues({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listCompanyRecordEntries

`generated.listCompanyRecordEntries`

Tool to list all entries across all lists for which a company record is the parent in Attio. Use when you need to see which lists a particular company record belongs to. Returns list information and entry IDs for each list the company appears in.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listCompanyRecordEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listDealEntries

`generated.listDealEntries`

Tool to list all entries across all lists for which a deal record is the parent in Attio. Use when you need to see which lists a particular deal record belongs to. Returns list information and entry IDs for each list the deal appears in.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listDealEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listDealRecordAttributeValues

`generated.listDealRecordAttributeValues`

Tool to retrieve all values for a specified attribute on a deal record in Attio. Use when you need to see current or historic values for a specific deal attribute. Historic values can be queried using show\_historic param but cannot be queried on COMINT or enriched attributes.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listDealRecordAttributeValues({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listDealRecords

`generated.listDealRecords`

Tool to list deal records in Attio with the option to filter and sort results. Use when you need to retrieve deal records based on filter criteria or sorting requirements.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listDealRecords({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listEntries

`generated.listEntries`

DEPRECATED: Use ATTIO\_ATTIO\_POST\_V2\_LISTS\_LIST\_ENTRIES\_QUERY instead. Tool to list entries in a given list with filtering and sorting options. Use when you need to retrieve records added to a specific list in Attio. Entries are returned based on the filters and sorts provided.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listListEntries

`generated.listListEntries`

DEPRECATED: Use ATTIO\_ATTIO\_POST\_V2\_LISTS\_LIST\_ENTRIES\_QUERY instead. Tool to retrieve entries (records) that belong to a specific Attio list. Use when you need to enumerate list membership or access list-specific attribute values. This is distinct from listing all records of an object type - it specifically returns records that are members of a particular list.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listListEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listListEntryAttributeValues

`generated.listListEntryAttributeValues`

Tool to retrieve all values for a specified attribute on a list entry in Attio. Use when you need to see the history of values for a specific attribute on a list entry. Can return only active values or include all historical values sorted chronologically.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listListEntryAttributeValues({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listLists

`generated.listLists`

This tool retrieves all lists available in the Attio workspace, sorted as they appear in the sidebar. Returns list metadata only (names, IDs, configuration) — not the records/entries within those lists. To fetch actual list entries, use ATTIO\_FIND\_RECORD with appropriate filters. This tool is a prerequisite for many list-related operations. Requires the list\_configuration:read permission scope.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listLists({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listMeetings

`generated.listMeetings`

Tool to list all meetings in the workspace using a deterministic sort order. Use when you need to retrieve meetings, optionally filtering by participants, linked records, or time ranges. This endpoint is in beta.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listMeetings({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listNotes

`generated.listNotes`

Lists notes in Attio. Can list all notes in the workspace, or filter by parent object type and/or specific record. Notes are returned in reverse chronological order (newest first).

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listNotes({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listObjects

`generated.listObjects`

This tool retrieves a list of all available objects (both system-defined and user-defined) in the Attio workspace via GET /v2/objects, returning key metadata including slugs and IDs for each object. Call this tool first before ATTIO\_LIST\_RECORDS, ATTIO\_FIND\_RECORD, or ATTIO\_CREATE\_RECORD to discover valid object slugs — hardcoded slugs may not exist across workspaces. Concepts like tasks may be modeled as deals or custom objects rather than dedicated types, so confirm the correct object type before proceeding. Attribute values in responses can be arrays of time-bounded entries rather than simple scalars; downstream code must handle nested structures.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listObjects({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listPeopleAttributeValues

`generated.listPeopleAttributeValues`

Tool to get all values for a given attribute on a person record. Use when you need to retrieve current or historic values for a specific person attribute. Historic values can be queried using the show\_historic param but cannot be queried on COMINT or enriched attributes (returns 400 error).

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listPeopleAttributeValues({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listPeopleRecordEntries

`generated.listPeopleRecordEntries`

Tool to list all entries across all lists for which a person record is the parent in Attio. Use when you need to see which lists a particular person record belongs to. Returns list information and entry IDs for each list the person appears in.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listPeopleRecordEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listRecordAttributeValues

`generated.listRecordAttributeValues`

Tool to retrieve all values for a specified attribute on a record in Attio. Use when you need to see the history of values for a specific attribute. Can return only active values or include historical values. Historic values cannot be queried on COMINT or enriched attributes.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listRecordAttributeValues({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listRecordEntries

`generated.listRecordEntries`

Tool to list all entries across all lists for which a record is the parent in Attio. Use when you need to see which lists a particular record belongs to. Returns list information and entry IDs for each list the record appears in.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listRecordEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listRecords

`generated.listRecords`

This tool lists records from a specific object type in Attio. It provides simple pagination support and returns records in creation order (oldest first). For complex filtering, use the FindRecord action instead. Standard object types include: people, companies, deals, users, workspaces. If you get a 404 error, verify the object type exists using the List Objects action first. Response attribute values are returned as arrays of time-bounded objects under a `values` map (e.g., `values['name']`), not simple scalars — handle arrays, nested objects, and empty arrays accordingly. Select attributes are accessed via `option.title`; currency, stage, and select fields may be null or empty arrays. Access records via `data.data` in the response.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listRecords({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listThreads

`generated.listThreads`

Tool to list threads of comments on a record or list entry in Attio. Use when you need to view all comment threads associated with a specific record or list entry. Threads contain one or more comments sorted chronologically.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listThreads({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listUserRecordEntries

`generated.listUserRecordEntries`

Tool to list all entries across all lists for which a user record is the parent in Attio. Use when you need to see which lists a particular user record belongs to. Returns list information and entry IDs for each list the user appears in.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listUserRecordEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listUserRecords

`generated.listUserRecords`

Tool to list user records in Attio with optional filtering and sorting. Use when you need to retrieve workspace members or user records based on specific criteria.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listUserRecords({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listWebhooks

`generated.listWebhooks`

Tool to get all webhooks in your Attio workspace. Use when you need to retrieve a list of configured webhooks, their subscriptions, and statuses. Supports pagination via limit and offset parameters.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listWebhooks({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listWorkspaceMembers

`generated.listWorkspaceMembers`

Tool to list workspace members (actors) so agents can reliably assign owners and resolve workspace-member IDs even when the optional Users standard object is disabled. Use when writing or assigning actor-reference attributes (e.g., record/list entry owners) that require referenced\_actor\_type=workspace-member and an actor id.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listWorkspaceMembers({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listWorkspaceRecordAttributeValues

`generated.listWorkspaceRecordAttributeValues`

Tool to retrieve all values for a specified attribute on a workspace record in Attio. Use when you need to see the history of values for a specific attribute on a workspace record. Can return only active values or include all historical values sorted chronologically.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listWorkspaceRecordAttributeValues({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listWorkspaceRecordEntries

`generated.listWorkspaceRecordEntries`

Tool to list all entries across all lists for which a workspace record is the parent in Attio. Use when you need to see which lists a particular workspace record belongs to. Returns list information and entry IDs for each list the workspace appears in.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listWorkspaceRecordEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### listWorkspaceRecords

`generated.listWorkspaceRecords`

Tool to list workspace records with filtering and sorting options. Use when you need to retrieve workspace-level records from Attio. Records are returned based on the filters and sorts provided. Requires record\_permission:read and object\_configuration:read scopes.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.listWorkspaceRecords({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### patchRecord

`generated.patchRecord`

Tool to update people, companies, and other records by record\_id using PATCH method. For multiselect attributes, values supplied will be prepended to existing values. Use PUT endpoint to overwrite or remove multiselect values.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.patchRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### patchV2ListsListEntriesEntryId

`generated.patchV2ListsListEntriesEntryId`

Tool to update list entries by entry\_id in Attio. Use when you need to modify attribute values on existing list entries. For multiselect attributes, the values supplied will be created and prepended to existing values. Use the PUT endpoint to overwrite or remove multiselect attribute values.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.patchV2ListsListEntriesEntryId({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### peopleGetPerson

`generated.peopleGetPerson`

Tool to get a single person record by its record\_id in Attio. Use when you need to retrieve detailed information about a specific person. Returns all attribute values for the person with temporal and audit metadata.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.peopleGetPerson({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### peopleListPersons

`generated.peopleListPersons`

Tool to list person records from Attio with optional filtering and sorting. Use when you need to retrieve people based on specific criteria or get a paginated list of all people.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.peopleListPersons({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### postV2ListsListEntries

`generated.postV2ListsListEntries`

Tool to add a record to a list as a new list entry in Attio. Use when you need to organize records into specific lists. This endpoint will throw on conflicts of unique attributes. Multiple list entries are allowed for the same parent record.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.postV2ListsListEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### postV2ListsListEntriesQuery

`generated.postV2ListsListEntriesQuery`

Tool to list entries in a given list, with the option to filter and sort results. Use when you need to retrieve records that belong to a specific list with optional filtering and sorting.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.postV2ListsListEntriesQuery({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### postV2ObjectsObjectRecords

`generated.postV2ObjectsObjectRecords`

Creates a new person, company or other record. This endpoint will throw on conflicts of unique attributes. If you would prefer to update records on conflicts, please use the Assert record endpoint instead.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.postV2ObjectsObjectRecords({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### postV2ObjectsObjectRecordsQuery

`generated.postV2ObjectsObjectRecordsQuery`

Tool to list people, company or other records in Attio with the option to filter and sort results. Use when you need to retrieve records based on complex filter criteria or sorting requirements.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.postV2ObjectsObjectRecordsQuery({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### postV2ObjectsRecordsSearch

`generated.postV2ObjectsRecordsSearch`

Tool to fuzzy search for records across one or more objects in Attio. Use when you need to find records by name, domain, email, phone number, or social handle. This endpoint is in beta and returns eventually consistent results. For results guaranteed to be up to date, use the record query endpoint instead.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.postV2ObjectsRecordsSearch({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### putV2ListsListEntries

`generated.putV2ListsListEntries`

Tool to create or update a list entry for a given parent record in Attio. If an entry with the specified parent record is found, that entry will be updated. If no such entry is found, a new entry will be created instead. For multiselect attributes, all values will be either created or deleted as necessary to match the list of values supplied in the request.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.putV2ListsListEntries({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### putV2ListsListEntriesEntryId

`generated.putV2ListsListEntriesEntryId`

Tool to update list entries by entry\_id in Attio using PUT method. Use when you need to completely replace attribute values on existing list entries. For multiselect attributes, the values supplied will overwrite/remove the list of values that already exist (if any). Use the PATCH endpoint to add multiselect attribute values without removing those that already exist.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.putV2ListsListEntriesEntryId({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### putV2ObjectsObjectRecords

`generated.putV2ObjectsObjectRecords`

Tool to create or update people, companies and other records in Attio using a matching attribute. Use when you want to avoid duplicate records - if a record with the same value for the matching attribute is found, it will be updated; otherwise a new record is created. If you want to avoid matching and always create new records, use the Create Record endpoint instead.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.putV2ObjectsObjectRecords({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### putV2ObjectsObjectRecordsRecordId

`generated.putV2ObjectsObjectRecordsRecordId`

Tool to update people, companies, and other records by record\_id using PUT method. For multiselect attributes, values supplied will overwrite/remove existing values. Use PATCH endpoint to append without removing.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.putV2ObjectsObjectRecordsRecordId({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### queryRecords

`generated.queryRecords`

Tool to query records for a specific Attio object using server-side filtering operators and sorting. Use when you need to retrieve records based on complex filter criteria (e.g., 'get all agreements where product=X and status in Y') rather than simple listing or ID-based lookup. This avoids downloading large pages and filtering locally, which is slow and costly.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.queryRecords({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### searchRecords

`generated.searchRecords`

Tool to fuzzy search for records across multiple objects in Attio. Use when you need to find records by name, domain, email, phone number, or social handle. This endpoint is in beta and returns eventually consistent results. Matching strategy follows the in-product search approach.

**Risk:** `read`

```ts theme={null}
await corsair.attio.api.generated.searchRecords({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateAttribute

`generated.updateAttribute`

Tool to update an existing attribute by its attribute\_id or slug. Use when you need to modify attribute properties such as title, description, validation rules, or configuration settings.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateAttribute({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateCompany

`generated.updateCompany`

Tool to update a company record in Attio by its record\_id. Use when you need to modify company attributes like name, description, domains, or team. For multiselect attributes, values are prepended to existing values. Note: logo\_url cannot be updated via API.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateCompany({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateDealRecord

`generated.updateDealRecord`

Tool to update an existing deal record in Attio by record ID. Uses PATCH to partially update only the provided fields, leaving other fields unchanged.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateDealRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateEntry

`generated.updateEntry`

DEPRECATED: Use ATTIO\_ATTIO\_PATCH\_V2\_LISTS\_LIST\_ENTRIES\_ENTRY\_ID instead. Tool to update list entries by their ID in Attio. Use when you need to modify attribute values on existing list entries. When multiselect attributes are included, the values supplied will be prepended to existing values.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateEntry({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateList

`generated.updateList`

Tool to update an existing list in Attio. Use when you need to modify list properties like name, api\_slug, or permissions. Lists must have either workspace\_access set to 'full-access' or one or more workspace\_member\_access with 'full-access' level. Changing the parent object of a list is not possible through the API.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateList({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateObject

`generated.updateObject`

Tool to update a single object's configuration in Attio. Use when you need to modify an object's API slug, singular noun, or plural noun. Standard objects (people, companies, deals, users, workspaces) and custom objects can be updated.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateObject({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updatePerson

`generated.updatePerson`

Tool to update a person record in Attio by its record\_id. Use when you need to modify person attributes like name, email, job title, or phone numbers. For multiselect attributes, values are prepended to existing values. Note: avatar\_url cannot be updated via API.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updatePerson({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateRecord

`generated.updateRecord`

This tool updates an existing record in Attio for a specified object type (people, companies, deals, users, workspaces, etc.). It uses PATCH to partially update only the provided fields, leaving other fields unchanged.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateSelectOption

`generated.updateSelectOption`

Tool to update an existing select option for a select or multiselect attribute in Attio. Use when you need to rename an option or archive it. Archived options are hidden from selection but preserve historical data for records that used them.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateSelectOption({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateStatus

`generated.updateStatus`

Tool to update a status on a status attribute on either an object or a list in Attio. Use when you need to modify status properties like title, celebration settings, target time, or archive status. Company and person objects do not support status attributes at this time.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateStatus({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateTask

`generated.updateTask`

Tool to update an existing task in Attio by its task\_id. Use when you need to modify a task's deadline, completion status, linked records, or assignees. Only these four fields can be updated via this endpoint.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateTask({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateUserRecord

`generated.updateUserRecord`

Tool to update a user record in Attio by its record\_id. Use when you need to modify user attributes like user\_id, primary\_email\_address, person, or workspace references. Attributes not included in the request will remain unchanged.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateUserRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateWebhook

`generated.updateWebhook`

Tool to update a webhook's target URL and/or event subscriptions. Use when you need to modify an existing webhook configuration in Attio.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateWebhook({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateWorkspaceRecord

`generated.updateWorkspaceRecord`

Tool to update a workspace record by ID using PATCH method. Only the attributes provided in the request will be updated; other attributes remain unchanged.

**Risk:** `write`

```ts theme={null}
await corsair.attio.api.generated.updateWorkspaceRecord({});
```

**Input:** `object`

<AccordionGroup>
  <Accordion title="Input full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***
