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

# Properties

> Properties track the specific data sent to Chameleon via custom data properties to [User Profiles](/apis/profiles) or [Companies](/apis/companies).

<a id="schema" />

## Schema

| Property       | Type      | Description                                                                              |
| -------------- | --------- | ---------------------------------------------------------------------------------------- |
| `id`           | ID        | The Chameleon ID                                                                         |
| `created_at`   | timestamp | When this happened or when this was added to the Database                                |
| `updated_at`   | timestamp | The last time any property was updated                                                   |
| `name`         | string    | The name given by an administrator of Chameleon                                          |
| `description`  | string    | The display description                                                                  |
| `kind`         | string    | Type of record this property is associated with: One of `profile`, `event`, or `company` |
| `prop`         | string    | The normalized property key                                                              |
| `integration`  | string    | The source integration of this property                                                  |
| `last_seen_at` | timestamp | The time when this property was last added to / removed from a User Profile.             |
| `types`        | array     | The identified type of property values seen (string, integer etc.)                       |
| `values`       | array     | A sample of the most recent values seen for this property (most recent first).           |

<a id="properties-index" />

## Listing Properties

Retrieve a complete (un-paginated) list of properties for the given `kind` + `integration`.

#### HTTP Request

```http title="GET" theme={null}
https://api.chameleon.io/v3/edit/properties
```

| param         | -        | description                                                                                            |
| ------------- | -------- | ------------------------------------------------------------------------------------------------------ |
| `kind`        | required | Use a values of either `profile` or `company`                                                          |
| `integration` | optional | Used to filter properties to only ones created by a specific integration. Omit for "all integrations". |
| `order`       | optional | One of `created_at` or `last_seen_at`, ordered by most recent. Defaults to `created_at`.               |

Custom User Profile properties

```json theme={null}
{
  "kind": "profile",
  "integration": "api",
  "order": "last_seen_at"
}
```

Salesforce Company properties

```json theme={null}
{
  "kind": "company",
  "integration": "salesforce"
}
```

#### HTTP Response

```json theme={null}
{
  "properties": [
    {
      "id": "5f3c4232c712de665632a6d9",
      "name": "Monthly plan value (dollars USD)",
      "prop": "plan_cost",
      "types": ["integer"],
      "values": [678, 442, 1218, 239, 394],
      "last_seen_at": "2029-04-07T12:18:00Z"
    },
    {
      "id": "5f3c4232c712de665632a6e2",
      "name": "Lifetime value",
      ...
    },
    ...
  ]
}
```

<a id="properties-create" />

## Create a Property

#### HTTP Request

```http title="POST" theme={null}
https://api.chameleon.io/v3/edit/properties
```

| param         | -        | type   | description                                                                              |
| ------------- | -------- | ------ | ---------------------------------------------------------------------------------------- |
| `name`        | required | string | The name given by an administrator of Chameleon                                          |
| `description` | required | string | The display description                                                                  |
| `kind`        | required | string | Type of record this property is associated with: One of `profile`, `event`, or `company` |

```json theme={null}
{
  "name": "Next invoice date",
  "description": "The next time an Invoice will be generated by QBO",
  "kind": "company",
  ...
}
```

#### HTTP Response

```json theme={null}
{
  "property": {
    "id": "5f3c4232c712de665632a6d5",
    "created_at": "2029-02-03T00:00:00Z",
    "name": "Next invoice date",
    "description": "The next time an Invoice will be generated by QBO",
    "kind": "company",
    "prop": "next_invoice_date",
    ...
  }
}
```

<a id="properties-update" />

## Update a Property

#### HTTP Request

```
PUT|PATCH https://api.chameleon.io/v3/edit/properties/:id
```

| param         | type   | description                                     |
| ------------- | ------ | ----------------------------------------------- |
| `id`          | string | The ID of the Property                          |
| `name`        | string | The name given by an administrator of Chameleon |
| `description` | string | The display description                         |

```json theme={null}
{
  "description": "The next time an Invoice will be generated by Stripe",
  ...
}
```
