BUSINESS · CRM & SUPPORT
People, companies, deals, lists, and notes in the workspace they belong to.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
attio_delete_v2_activities_by_activityWRITEDelete an activity. Deletes a single activity by its `activity_id` or slug, along with all of its records. Archived activities can also be deleted. DELETE /v2/activities/{activity}
attio_delete_v2_activities_by_activity_records_by_record_idWRITEDelete an activity record. Deletes a single activity record by its `record_id`. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. DELETE /v2/activities/{activity}/records/{record_id}
attio_delete_v2_comments_by_comment_idWRITEDelete a comment. Deletes a comment by ID. If deleting a comment at the head of a thread, all messages in the thread are also deleted. A workspace-level access token may delete any comment. DELETE /v2/comments/{comment_id}
attio_delete_v2_files_by_file_idWRITEDelete a file. Delete a single file by ID. Deleting a folder will delete all of its descendants. This endpoint is in beta. DELETE /v2/files/{file_id}
attio_delete_v2_lists_by_list_entries_by_entry_idWRITEDelete a list entry. Deletes a single list entry by its `entry_id`. DELETE /v2/lists/{list}/entries/{entry_id}
attio_delete_v2_meetings_by_meeting_id_call_recordings_by_call_recording_idWRITEDelete call recording. Deletes the specified call recording. This will remove the call recording and all associated data. This endpoint is in beta. DELETE /v2/meetings/{meeting_id}/call_recordings/{call_recording_id}
attio_delete_v2_notes_by_note_idWRITEDelete a note. Delete a single note by ID. DELETE /v2/notes/{note_id}
attio_delete_v2_objects_by_object_records_by_record_idWRITEDelete a record. Deletes a single record (e.g. a company or person) by ID. DELETE /v2/objects/{object}/records/{record_id}
attio_delete_v2_objects_companies_records_by_record_idWRITEDelete a company record. Deletes a single company record by ID. DELETE /v2/objects/companies/records/{record_id}
attio_delete_v2_objects_deals_records_by_record_idWRITEDelete a deal record. Deletes a single deal record by ID. DELETE /v2/objects/deals/records/{record_id}
attio_delete_v2_objects_people_records_by_record_idWRITEDelete a person Record. Deletes a single person record by ID. DELETE /v2/objects/people/records/{record_id}
attio_delete_v2_objects_users_records_by_record_idWRITEDelete a user record. Deletes a single user record by ID. DELETE /v2/objects/users/records/{record_id}
attio_delete_v2_objects_workspaces_records_by_record_idWRITEDelete a workspace record. Deletes a single workspace record by ID. DELETE /v2/objects/workspaces/records/{record_id}
attio_delete_v2_tasks_by_task_idWRITEDelete a task. Delete a task by ID. DELETE /v2/tasks/{task_id}
attio_delete_v2_webhooks_by_webhook_idWRITEDelete a webhook. Delete a webhook by ID. DELETE /v2/webhooks/{webhook_id}
attio_get_v2_activitiesREADList activities. Lists all system-defined and user-defined activities in your workspace. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. GET /v2/activities
attio_get_v2_activities_by_activityREADGet an activity. Gets a single activity by its `activity_id` or slug. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. GET /v2/activities/{activity}
attio_get_v2_activities_by_activity_records_by_record_idREADGet an activity record. Gets a single activity record by its `record_id`. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. GET /v2/activities/{activity}/records/{record_id}
attio_get_v2_by_target_by_identifier_attributesREADList attributes. Lists all attributes defined on a specific object or list. Attributes are returned in the order that they are sorted by in the UI. GET /v2/{target}/{identifier}/attributes
attio_get_v2_by_target_by_identifier_attributes_by_attributeREADGet an attribute. Gets information about a single attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read`. GET /v2/{target}/{identifier}/attributes/{attribute}
attio_get_v2_by_target_by_identifier_attributes_by_attribute_optionsREADList select options. Lists all select options for a particular attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read`. GET /v2/{target}/{identifier}/attributes/{attribute}/options
attio_get_v2_by_target_by_identifier_attributes_by_attribute_statusesREADList statuses. Lists all statuses for a particular status attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read`. GET /v2/{target}/{identifier}/attributes/{attribute}/statuses
attio_get_v2_comments_by_comment_idREADGet a comment. Get a single comment by ID. To view comments on records, you will need the `object_configuration:read` and `record_permission:read` scopes. GET /v2/comments/{comment_id}
attio_get_v2_emailsREADList emails. Lists email metadata from your workspace's connected mailboxes. Email content is never returned. GET /v2/emails
attio_get_v2_filesREADList files. Lists internal files, externally connected files and folders for a specific record. Use the `object` and `record_id` query parameters to specify the record. GET /v2/files
attio_get_v2_files_by_file_idREADGet a file. Get a single file entry by ID. This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users. GET /v2/files/{file_id}
attio_get_v2_files_by_file_id_downloadREADDownload a file. Downloads a file by redirecting to a signed URL. This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users. GET /v2/files/{file_id}/download
attio_get_v2_listsREADList all lists. List all lists that your access token has access to. lists are returned in the order that they are sorted in the sidebar. GET /v2/lists
attio_get_v2_lists_by_listREADGet a list. Gets a single list in your workspace that your access token has access to. GET /v2/lists/{list}
attio_get_v2_lists_by_list_entries_by_entry_idREADGet a list entry. Gets a single list entry by its `entry_id`. GET /v2/lists/{list}/entries/{entry_id}
attio_get_v2_lists_by_list_entries_by_entry_id_attributes_by_attribute_valuesREADList attribute values for a list entry. Gets all values for a given attribute on a list entry. This endpoint has the ability to return all historic values using the `show_historic` query param. GET /v2/lists/{list}/entries/{entry_id}/attributes/{attribute}/values
attio_get_v2_lists_by_list_viewsREADList views for list. Lists saved views for a list. Results are ordered by view ID (`id.view_id` ascending). GET /v2/lists/{list}/views
attio_get_v2_meetingsREADList meetings. Lists all meetings in the workspace using a deterministic sort order. GET /v2/meetings
attio_get_v2_meetings_by_meeting_idREADGet a meeting. Get a single meeting by ID. This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users. GET /v2/meetings/{meeting_id}
attio_get_v2_meetings_by_meeting_id_call_recordingsREADList call recordings. List all call recordings for a meeting. This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users. GET /v2/meetings/{meeting_id}/call_recordings
attio_get_v2_meetings_by_meeting_id_call_recordings_by_call_recording_idREADGet call recording. Get a single call recording by ID. This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users. GET /v2/meetings/{meeting_id}/call_recordings/{call_recording_id}
attio_get_v2_meetings_by_meeting_id_call_recordings_by_call_recording_id_transcriptREADDeprecated: Get call transcript. Deprecated: prefer using `GET /v2/meetings/:meeting_id/call_recordings/:call_recording_id` to get the transcript for a call recording. This endpoint is in beta. GET /v2/meetings/{meeting_id}/call_recordings/{call_recording_id}/transcript
attio_get_v2_notesREADList notes. List notes for all records or for a specific record. This endpoint is temporarily rate limited to 10 requests per second. GET /v2/notes
attio_get_v2_notes_by_note_idREADGet a note. Get a single note by ID. GET /v2/notes/{note_id}
attio_get_v2_objectsREADList objects. Lists all system-defined and user-defined objects in your workspace. GET /v2/objects
attio_get_v2_objects_by_objectREADGet an object. Gets a single object by its `object_id` or slug. GET /v2/objects/{object}
attio_get_v2_objects_by_object_records_by_record_idREADGet a record. Gets a single person, company or other record by its `record_id`. GET /v2/objects/{object}/records/{record_id}
attio_get_v2_objects_by_object_records_by_record_id_attributes_by_attribute_valuesREADList record attribute values. Gets all values for a given attribute on a record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/{object}/records/{record_id}/attributes/{attribute}/values
attio_get_v2_objects_by_object_records_by_record_id_entriesREADList record entries. List all entries, across all lists, for which this record is the parent. GET /v2/objects/{object}/records/{record_id}/entries
attio_get_v2_objects_by_object_viewsREADList views for object. Lists saved views for an object. Results are ordered by view ID (`id.view_id` ascending). GET /v2/objects/{object}/views
attio_get_v2_objects_companies_records_by_record_idREADGet a company record. Gets a single company record by its `record_id`. GET /v2/objects/companies/records/{record_id}
attio_get_v2_objects_companies_records_by_record_id_attributes_by_attribute_valuesREADList company record attribute values. Gets all values for a given attribute on a company record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/companies/records/{record_id}/attributes/{attribute}/values
attio_get_v2_objects_companies_records_by_record_id_entriesREADList company record entries. List all entries, across all lists, for which this company record is the parent. GET /v2/objects/companies/records/{record_id}/entries
attio_get_v2_objects_deals_records_by_record_idREADGet a deal record. Gets a single deal record by its `record_id`. GET /v2/objects/deals/records/{record_id}
attio_get_v2_objects_deals_records_by_record_id_attributes_by_attribute_valuesREADList deal record attribute values. Gets all values for a given attribute on a deal record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/deals/records/{record_id}/attributes/{attribute}/values
attio_get_v2_objects_deals_records_by_record_id_entriesREADList deal record entries. List all entries, across all lists, for which this deal record is the parent. GET /v2/objects/deals/records/{record_id}/entries
attio_get_v2_objects_people_records_by_record_idREADGet a person Record. Gets a single person record by its `record_id`. GET /v2/objects/people/records/{record_id}
attio_get_v2_objects_people_records_by_record_id_attributes_by_attribute_valuesREADList person record attribute values. Gets all values for a given attribute on a person record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/people/records/{record_id}/attributes/{attribute}/values
attio_get_v2_objects_people_records_by_record_id_entriesREADList person record entries. List all entries, across all lists, for which this person record is the parent. GET /v2/objects/people/records/{record_id}/entries
attio_get_v2_objects_users_records_by_record_idREADGet a user record. Gets a single user record by its `record_id`. GET /v2/objects/users/records/{record_id}
attio_get_v2_objects_users_records_by_record_id_attributes_by_attribute_valuesREADList user record attribute values. Gets all values for a given attribute on a user record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/users/records/{record_id}/attributes/{attribute}/values
attio_get_v2_objects_users_records_by_record_id_entriesREADList user record entries. List all entries, across all lists, for which this user record is the parent. GET /v2/objects/users/records/{record_id}/entries
attio_get_v2_objects_workspaces_records_by_record_idREADGet a workspace record. Gets a single workspace record by its `record_id`. GET /v2/objects/workspaces/records/{record_id}
attio_get_v2_objects_workspaces_records_by_record_id_attributes_by_attribute_valuesREADList workspace record attribute values. Gets all values for a given attribute on a workspace record. Historic values can be queried using the `show_historic` query param. GET /v2/objects/workspaces/records/{record_id}/attributes/{attribute}/values
attio_get_v2_objects_workspaces_records_by_record_id_entriesREADList workspace record entries. List all entries, across all lists, for which this workspace record is the parent. GET /v2/objects/workspaces/records/{record_id}/entries
attio_get_v2_selfREADIdentify. Identify the current access token, the workspace it is linked to, and any permissions it has. GET /v2/self
attio_get_v2_tasksREADList tasks. List all tasks. Results are sorted by creation date, from oldest to newest. GET /v2/tasks
attio_get_v2_tasks_by_task_idREADGet a task. Get a single task by ID. GET /v2/tasks/{task_id}
attio_get_v2_threadsREADList threads. List threads of comments on a record or list entry. Each thread in the response includes at most `80` replies, starting with the oldest. GET /v2/threads
attio_get_v2_threads_by_thread_idREADGet a thread and its comments. Get a thread and page through its comments, oldest first, starting with the comment that opened it. Comments are paginated: at most `250` are returned per request. GET /v2/threads/{thread_id}
attio_get_v2_webhooksREADList webhooks. Get all of the webhooks in your workspace. GET /v2/webhooks
attio_get_v2_webhooks_by_webhook_idREADGet a webhook. Get a single webhook. GET /v2/webhooks/{webhook_id}
attio_get_v2_workspace_membersREADList workspace members. Lists all workspace members in the workspace. GET /v2/workspace_members
attio_get_v2_workspace_members_by_workspace_member_idREADGet a workspace member. Gets a single workspace member by ID. GET /v2/workspace_members/{workspace_member_id}
attio_patch_v2_activities_by_activityWRITEUpdate an activity. Updates a single activity by its `activity_id` or slug. The schema an activity extends is fixed after creation, so `extends` cannot be changed. PATCH /v2/activities/{activity}
attio_patch_v2_activities_by_activity_records_by_record_idWRITEUpdate an activity record (append multiselect values). Use this endpoint to update activity records by `record_id`. PATCH /v2/activities/{activity}/records/{record_id}
attio_patch_v2_by_target_by_identifier_attributes_by_attributeWRITEUpdate an attribute. Updates a single attribute on a given object or list. When `target` is `objects`, the required scopes are `object_configuration:read-write`. PATCH /v2/{target}/{identifier}/attributes/{attribute}
attio_patch_v2_by_target_by_identifier_attributes_by_attribute_options_by_optionWRITEUpdate a select option. Updates a select option on an attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read-write`. PATCH /v2/{target}/{identifier}/attributes/{attribute}/options/{option}
attio_patch_v2_by_target_by_identifier_attributes_by_attribute_statuses_by_statusWRITEUpdate a status. Update a status on an status attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read-write`. PATCH /v2/{target}/{identifier}/attributes/{attribute}/statuses/{status}
attio_patch_v2_lists_by_listWRITEUpdate a list. Updates an existing list. Permissions for the list are controlled with the `workspace_access` and `workspace_member_access` parameters. PATCH /v2/lists/{list}
attio_patch_v2_lists_by_list_entries_by_entry_idWRITEUpdate a list entry (append multiselect values). Use this endpoint to update list entries by `entry_id`. PATCH /v2/lists/{list}/entries/{entry_id}
attio_patch_v2_notes_by_note_idWRITEUpdate a note. Updates an existing note's title and/or content. Only the fields you provide are changed, and any field you omit is left untouched. PATCH /v2/notes/{note_id}
attio_patch_v2_objects_by_objectWRITEUpdate an object. Updates a single object. The object to be updated is identified by its `object_id`. PATCH /v2/objects/{object}
attio_patch_v2_objects_by_object_records_by_record_idWRITEUpdate a record (append multiselect values). Use this endpoint to update people, companies, and other records by `record_id`. PATCH /v2/objects/{object}/records/{record_id}
attio_patch_v2_objects_companies_records_by_record_idWRITEUpdate a company record. Use this endpoint to update company records by `record_id`. PATCH /v2/objects/companies/records/{record_id}
attio_patch_v2_objects_deals_records_by_record_idWRITEUpdate a deal record. Use this endpoint to update deal records by `record_id`. PATCH /v2/objects/deals/records/{record_id}
attio_patch_v2_objects_people_records_by_record_idWRITEUpdate a person Record. Use this endpoint to update person records by `record_id`. PATCH /v2/objects/people/records/{record_id}
attio_patch_v2_objects_users_records_by_record_idWRITEUpdate a user Record. Use this endpoint to update user records by `record_id`. PATCH /v2/objects/users/records/{record_id}
attio_patch_v2_objects_workspaces_records_by_record_idWRITEUpdate a workspace Record. Use this endpoint to update workspace records by `record_id`. PATCH /v2/objects/workspaces/records/{record_id}
attio_patch_v2_tasks_by_task_idWRITEUpdate a task. Updates an existing task by `task_id`. At present, only the `deadline_at`, `is_completed`, `linked_records`, and `assignees` fields can be updated. PATCH /v2/tasks/{task_id}
attio_patch_v2_webhooks_by_webhook_idWRITEUpdate a webhook. Update a webhook and associated subscriptions. Each combination of target URL, event type and filter must be unique within your workspace; duplicates are rejected with a 409. PATCH /v2/webhooks/{webhook_id}
attio_post_v2_activitiesWRITECreate an activity. Creates a new custom activity in your workspace. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. POST /v2/activities
attio_post_v2_activities_by_activity_recordsWRITECreate an activity record. Creates a new activity record, for example one specific phone call. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. POST /v2/activities/{activity}/records
attio_post_v2_activities_by_activity_records_queryWRITEList activity records. Lists activity records, with the option to filter and sort results. This endpoint is in alpha and may be subject to breaking changes as we gather feedback. POST /v2/activities/{activity}/records/query
attio_post_v2_by_target_by_identifier_attributesWRITECreate an attribute. Creates a new attribute on either an object or a list. POST /v2/{target}/{identifier}/attributes
attio_post_v2_by_target_by_identifier_attributes_by_attribute_optionsWRITECreate a select option. Adds a select option to a select attribute on an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read-write`. POST /v2/{target}/{identifier}/attributes/{attribute}/options
attio_post_v2_by_target_by_identifier_attributes_by_attribute_statusesWRITECreate a status. Add a new status to a status attribute on either an object or a list. When `target` is `objects`, the required scopes are `object_configuration:read-write`. POST /v2/{target}/{identifier}/attributes/{attribute}/statuses
attio_post_v2_commentsWRITECreate a comment. Creates a new comment related to an existing thread, record or entry. POST /v2/comments
attio_post_v2_filesWRITECreate a folder. Creates a native folder entry or a connected file/folder entry on an object record. This endpoint is in beta. POST /v2/files
attio_post_v2_listsWRITECreate a list. Creates a new list. POST /v2/lists
attio_post_v2_lists_by_list_entriesWRITECreate an entry (add record to list). Adds a record to a list as a new list entry. This endpoint will throw on conflicts of unique attributes. POST /v2/lists/{list}/entries
attio_post_v2_lists_by_list_entries_queryWRITEList entries. Lists entries in a given list, with the option to filter and sort results. POST /v2/lists/{list}/entries/query
attio_post_v2_meetingsWRITECreate a meeting. Creates a new meeting. [See here](/rest-api/guides/syncing-meetings) for guidance on avoiding duplicate meetings. This endpoint is in beta. POST /v2/meetings
attio_post_v2_meetings_by_meeting_id_call_recordingsWRITECreate call recording. Create a call recording for a meeting. This endpoint is rate limited to 1 request per second. POST /v2/meetings/{meeting_id}/call_recordings
attio_post_v2_notesWRITECreate a note. Creates a new note for a given record. POST /v2/notes
attio_post_v2_objectsWRITECreate an object. Creates a new custom object in your workspace. POST /v2/objects
attio_post_v2_objects_by_object_recordsWRITECreate a record. Creates a new person, company or other record. This endpoint will throw on conflicts of unique attributes. POST /v2/objects/{object}/records
attio_post_v2_objects_by_object_records_mergeWRITEMerge two records. Merges two records of the same object together. Where both records have a value for the same attribute, the primary record's value takes precedence. POST /v2/objects/{object}/records/merge
attio_post_v2_objects_by_object_records_queryWRITEList records. Lists people, company or other records, with the option to filter and sort results. POST /v2/objects/{object}/records/query
attio_post_v2_objects_companies_recordsWRITECreate a company record. Creates a new company record. This endpoint will throw on conflicts of unique attributes, like `domains`. POST /v2/objects/companies/records
attio_post_v2_objects_companies_records_queryWRITEList company records. Lists company records, with the option to filter and sort results. POST /v2/objects/companies/records/query
attio_post_v2_objects_deals_recordsWRITECreate a deal record. Creates a new deal record. This endpoint will throw on conflicts of unique attributes, if defined. POST /v2/objects/deals/records
attio_post_v2_objects_deals_records_queryWRITEList deal records. Lists deal records, with the option to filter and sort results. POST /v2/objects/deals/records/query
attio_post_v2_objects_people_recordsWRITECreate a person Record. Creates a new person Record. This endpoint will throw on conflicts of unique attributes, like `email_addresses`. POST /v2/objects/people/records
attio_post_v2_objects_people_records_queryWRITEList person records. Lists person records, with the option to filter and sort results. POST /v2/objects/people/records/query
attio_post_v2_objects_records_searchWRITESearch records. The search records endpoint provides a convenient way to fuzzy search for records across one or more objects. POST /v2/objects/records/search
attio_post_v2_objects_users_recordsWRITECreate a user record. Creates a new user record. This endpoint will throw on conflicts of unique attributes, like `primary_email_address`. POST /v2/objects/users/records
attio_post_v2_objects_users_records_queryWRITEList user records. Lists user records, with the option to filter and sort results. POST /v2/objects/users/records/query
attio_post_v2_objects_workspaces_recordsWRITECreate a workspace record. Creates a new workspace record. This endpoint will throw on conflicts of unique attributes, like `workspace_id`. POST /v2/objects/workspaces/records
attio_post_v2_objects_workspaces_records_queryWRITEList workspace records. Lists workspace records, with the option to filter and sort results. POST /v2/objects/workspaces/records/query
attio_post_v2_sequences_unsubscribed_emailsWRITEAdd emails to the unsubscribe list. Adds email addresses to the workspace's sequence unsubscribe list. POST /v2/sequences/unsubscribed_emails
attio_post_v2_sqlWRITEQuery SQL. Query records and lists with SQL. Your workspace must be on the Enterprise plan in order to access this endpoint. This endpoint is in beta. POST /v2/sql
attio_post_v2_tasksWRITECreate a task. Creates a new task. At present, tasks can only be created from plaintext without record reference formatting. POST /v2/tasks
attio_post_v2_webhooksWRITECreate a webhook. Create a webhook and associated subscriptions. Each combination of target URL, event type and filter must be unique within your workspace; duplicates are rejected with a 409. POST /v2/webhooks
attio_put_v2_activities_by_activity_records_by_record_idWRITEUpdate an activity record (overwrite multiselect values). Use this endpoint to update activity records by `record_id`. PUT /v2/activities/{activity}/records/{record_id}
attio_put_v2_lists_by_list_entriesWRITEUpsert a list entry by parent. Use this endpoint to create or update a list entry for a given parent record. If an entry with the specified parent record is found, that entry will be updated. PUT /v2/lists/{list}/entries
attio_put_v2_lists_by_list_entries_by_entry_idWRITEUpdate a list entry (overwrite multiselect values). Use this endpoint to update list entries by `entry_id`. PUT /v2/lists/{list}/entries/{entry_id}
attio_put_v2_lists_by_list_entries_by_entry_id_attributes_by_attribute_valuesWRITEWrite list entry attribute values. Replaces the entire value history of a single attribute on a list entry, primarily to migrate historic data from an external source. PUT /v2/lists/{list}/entries/{entry_id}/attributes/{attribute}/values
attio_put_v2_objects_by_object_recordsWRITEUpsert a record. Use this endpoint to create or update people, companies and other records. A matching attribute is used to search for existing records. PUT /v2/objects/{object}/records
attio_put_v2_objects_by_object_records_by_record_idWRITEUpdate a record (overwrite multiselect values). Use this endpoint to update people, companies, and other records by `record_id`. PUT /v2/objects/{object}/records/{record_id}
attio_put_v2_objects_by_object_records_by_record_id_attributes_by_attribute_valuesWRITEWrite record attribute values. Replaces the entire value history of a single attribute on a record, primarily to migrate historic data from an external source. PUT /v2/objects/{object}/records/{record_id}/attributes/{attribute}/values
attio_put_v2_objects_companies_recordsWRITEUpsert a company record. Use this endpoint to create or update company records, using a unique attribute to search for existing companies (for example, the `domains` attribute). PUT /v2/objects/companies/records
attio_put_v2_objects_deals_recordsWRITEUpsert a deal record. Use this endpoint to create or update deal records, using a unique attribute to search for existing deals. PUT /v2/objects/deals/records
attio_put_v2_objects_people_recordsWRITEUpsert a person record. Use this endpoint to create or update person records, using a unique attribute to search for existing People (for example the `email_addresses` attribute). PUT /v2/objects/people/records
attio_put_v2_objects_users_recordsWRITEUpsert a user record. Use this endpoint to create or update user records, using a unique attribute to search for existing users (for example the `primary_email_address` attribute). PUT /v2/objects/users/records
attio_put_v2_objects_workspaces_recordsWRITEUpsert a workspace record. Use this endpoint to create or update workspace records, using a unique attribute to search for existing workspaces (for example the `workspace_id` attribute). PUT /v2/objects/workspaces/records
Put Attio behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.