---
title: "Get all purchase properties list"
method: GET
path: "/purchase-properties"
tags: ["Purchase properties"]
---

# Get all purchase properties list

`GET /purchase-properties`

This is a list of possible properties that can be set to purchase.

## Query parameters

- `count` integer
- `offset` integer
- `sort_field` string
- `sort_direction` 'ASC' | 'DESC'
- `name` string

## Headers

- `Accept-Language` string

## Response `200`

OK

- object
  - `data` object
    - `purchase_properties` Property[] — List of all purchase properties.
      - `property_id` string — The unique ID of the property.
      - `name` string, required — Name of the property.
      - `description` string — User defined description of the property.
      - `data_type` string, required — Data type of the final value. * Possible values: string / boolean / integer / date / timestamp / float / customized data types*
      - `items` PropertyItem[] — List of possible values. Used for multivalued data types (like enum, multiselect).
        - `id` string — The unique ID of the property item.
        - `name` string — Name of the property item.
        - `resource_record_id` string — The ID of the CareCloud REST API resource record is filled when the property is related directly to the CareCloud API resource (for example resource stores). Usually, the data type of the property determines it.
        - `state` 0 | 1 | 2 — State of the property item. *Possible values are: 0 - deleted / 1 - active / 2 - non active*
      - `is_required` true | false, required — The settings whether the property is a required parameter of the specific entity.
      - `is_unique` true | false, required — The setting whether the property contains a unique value within the specific entity.
      - `last_change` string — Date and time of the last change. *(YYYY-MM-DD HH:MM:SS)*
      - `state` 0 | 1 | 2 — State of the property *Possible values are: 0 - deleted / 1 - active *
    - `total_items` integer — The number of all found purchase properties.

## Other responses

- `400` — Bad input parameter. The response body's `error.error_data.invalid_params[]` array lists the parameters that caused the failure, each carrying a `reason` code. See the `BadRequestErrorBody` schema for the generic reason taxonomy. Operations with domain-specific business rules document additional reasons at the operation level.
- `401` — The client has invalid credentials or auth token.
- `403` — The client does not exist or the client tried to access an unauthorized property or resource.
- `404` — The resource was not found.
- `405` — The resource does not support the specified HTTP method.
- `429` — Too many requests - more than the resource limit.
- `500` — Server is not working as expected.
- `503` — Temporary state when the service is temporarily unavailable, overloaded or there is a maintenance window.

---

[API](https://skmtc.net/crmcarecloud/apis/rest-api-reference.md) · [All operations](https://skmtc.net/crmcarecloud/apis/rest-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/crmcarecloud/rest-api-reference/revisions/329c06dbf8d9/schema)
