Records

Use this endpoint to create or update people, companies and other records. A matching attribute is used to search for existing records. If a record is found with the same value for the matching attribute, that record will be updated. If no record with the same value for the matching attribute is found, a new record will be created instead. If you would like to avoid matching, please use the Create record endpoint.

If the matching attribute is a multiselect attribute, new values will be added and existing values will not be deleted. For any other multiselect attribute, all values will be either created or deleted as necessary to match the list of supplied values.

Required scopes: record_permission:read-write, object_configuration:read.

Supported token levels: workspace, user.

put/v2/objects/{object}/records

Request

  • Base URL
    https://api.attio.com
  • URL
    https://api.attio.com/v2/objects/{object}/records
  • Auth
    OAuth 2
    Authorization code: https://app.attio.com/authorize
    Token URL: https://app.attio.com/oauth/token scopes: record_permission:read-write, object_configuration:read

Path parameters

objectstring required

A UUID or slug to identify the object the record should belong to.

Example:people

Query parameters

matching_attributestring required

The ID or slug of the attribute to use to check if a record already exists. The attribute does not have to be unique, but a value that matches more than one record is rejected. We recommend a unique attribute, such as a domain, an email address or an ID from your own system.

Example:41252299-f8c7-4b5e-99c9-4ff8321d2f96

Request body

Example request

{
  "data": {
    "values": {
      "41252299-f8c7-4b5e-99c9-4ff8321d2f96": "Text value",
      "multiselect_attribute": [
        "Select option 1",
        "Select option 2"
      ]
    }
  }
}

Response

Success

Example response

{
  "data": {
    "id": {
      "workspace_id": "14beef7a-99f7-4534-a87e-70b564330a4c",
      "object_id": "97052eb9-e65e-443f-a297-f2d9a4a7f795",
      "record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b"
    },
    "created_at": "2022-11-21T13:22:49.061281000Z",
    "web_url": "https://app.attio.com/salarya/person/bf071e1f-6035-429d-b874-d83ea64ea13b"
  }
}

Changes

    • breaking

      the response's property type changed from string to no type for status

    • info

      added subschema #1 subschema #2 subschema #3 to the response property anyOf list for the response status

    • info

      added subschema #4 subschema #5 subschema #6 subschema #7 to the response property anyOf list for the response status

    • info

      removed the concurrent_write_conflict enum value from the response property for the response status

    • info

      added the non-success response with the status

    • info

      added subschema #3 to the response property anyOf list for the response status