---
title: "Get all purchases by a point record"
method: GET
path: "/points/{point_id}/purchases"
tags: ["Points"]
---

# Get all purchases by a point record

`GET /points/{point_id}/purchases`

Get information about all purchases linked to a point record.

## Path parameters

- `point_id` string, required

## Query parameters

- `count` integer
- `offset` integer
- `sort_field` string
- `sort_direction` 'ASC' | 'DESC'
- `store_id` string
- `customer_id` string
- `type_id` string
- `payment_time_from` string
- `payment_time_to` string
- `purchase_items_extension` true | false
- `external_purchase_id` string

## Headers

- `Accept-Language` string

## Response `200`

OK

- object
  - `data` object
    - `purchases` Purchase[] — List of purchases.
      - `purchase_id` string — The unique ID of the purchase.
      - `customer_id` string, required — The unique ID of the customer. [GET /customers](https://carecloud.readme.io/reference/getcustomers)
      - `store_id` string, required — The unique ID of the store. [GET /stores](https://carecloud.readme.io/reference/getstores)
      - `external_purchase_id` string, required — The external unique ID of the purchase.
      - `payment_time` string, required — Timestamp of the purchase payment. Format: `YYYY-MM-DD HH:MM:SS`. All times are in the local timezone.
      - `items_count` integer, required — Count of the purchase items.
      - `purchase_items` PurchaseItem[] — List of all items of the purchase. Data is returned if query parameter purchase_items_extension has value true in the query string of the request.
        - `purchase_item_id` string — The unique ID of the purchase item.
        - `product_id` string, required — The unique ID of the [product](https://carecloud.readme.io/reference/getproducts).
        - `product_name` string — The unique name of the [product](https://carecloud.readme.io/reference/getproducts).
        - `product_group_id` string — The unique ID of the product group. [GET /product-groups](https://carecloud.readme.io/reference/getproductgroups)
        - `product_group_name` string — The name of the product group.
        - `product_brand_id` string — The unique ID of the product brand. [GET /product-brands](https://carecloud.readme.io/reference/getproductbrands)
        - `product_brand_name` string — The name of the product brand.
        - `external_id` string — Identifier of the purchase item in external system.
        - `purchase_item_type_id` string, required — Type of the purchase item. There is a distinction between a purchase in an e-shop, in a brick-and-mortar store, a mobile application, or a cancellation of the purchase. It also differentiates purchases without the possibility of applying loyalty benefits from ordinary purchases or from purchases with the application of loyalty points. [GET /purchase-item-types](https://carecloud.readme.io/reference/getpurchaseitemtypes)
        - `price` number, float, required — Price of the purchase item.
        - `amount` number, float, required — Amount of the purchase item.
        - `vat_rate` number, float, required — The rate of an item VAT.
        - `additional_properties` PropertyRecord[] — List of additional properties.
          - `property_record_id` string — The unique ID of the property record.
          - `property_id` string, required — The unique ID of the property.
          - `property_name` string — Name of the property.
          - `property_value` union — Value of the property record. The format depends on the data type of the property. - **string** – a plain text value: ```json { "property_id": "p1_note", "property_value": "VIP customer" } ``` - **date** – a date string in `YYYY-MM-DD` format: ```json { "property_id": "p1_birth_date", "property_value": "1985-06-15" } ``` - **integer** – a whole number: ```json { "property_id": "p1_visit_count", "property_value": 42 } ``` - **float** – a decimal number: ```json { "property_id": "p1_average_spend", "property_value": 149.90 } ``` - **enum** – a single-item array containing a PropertyItem object: ```json { "property_id": "p1_favourite_color", "property_value": [ { "id": "86e05affc7a7abefcd513ab400", "name": "Blue", "resource_record_id": null, "state": 1 } ] } ``` - **multiselect** – a multi-item array of PropertyItem objects: ```json { "property_id": "p1_favourite_color", "property_value": [ { "id": "86e05affc7a7abefcd513ab400", "name": "Blue", "resource_record_id": null, "state": 1 }, { "id": "81eaeea13b8984a169c490a325", "name": "Green", "resource_record_id": null, "state": 1 } ] } ``` - **custom data type** – the format depends on the specific data type configuration. For example, a serialized JSON object: ```json { "property_id": "p1_address", "property_value": "{\"street\":\"Main St\",\"city\":\"Prague\"}" } ```
            - string
            - number
            - integer
            - boolean
            - unknown[]
              - …
            - object
          - `last_change` string — Date and time of the last change. *(YYYY-MM-DD HH:MM:SS)*
      - `type_id` string, required — The unique ID of the purchase type. [GET /purchase-types](https://carecloud.readme.io/reference/getpurchasetypes)
      - `total_price` number, float, required — Total price of the purchase.
      - `currency_id` string, required — The unique ID of the currency. [GET /currencies](https://carecloud.readme.io/reference/getcurrencies)
      - `card_number` string — Purchasing customer card number.
      - `cashdesk_number` string, required — Number of the cash-desk
      - `last_change` string — Timestamp of the last change. Format: `YYYY-MM-DD HH:MM:SS`. All times are in the local timezone.
      - `purchase_property_records` PropertyRecord[] — List of purchase property records.
        - `property_record_id` string — The unique ID of the property record.
        - `property_id` string, required — The unique ID of the property.
        - `property_name` string — Name of the property.
        - `property_value` union — Value of the property record. The format depends on the data type of the property. - **string** – a plain text value: ```json { "property_id": "p1_note", "property_value": "VIP customer" } ``` - **date** – a date string in `YYYY-MM-DD` format: ```json { "property_id": "p1_birth_date", "property_value": "1985-06-15" } ``` - **integer** – a whole number: ```json { "property_id": "p1_visit_count", "property_value": 42 } ``` - **float** – a decimal number: ```json { "property_id": "p1_average_spend", "property_value": 149.90 } ``` - **enum** – a single-item array containing a PropertyItem object: ```json { "property_id": "p1_favourite_color", "property_value": [ { "id": "86e05affc7a7abefcd513ab400", "name": "Blue", "resource_record_id": null, "state": 1 } ] } ``` - **multiselect** – a multi-item array of PropertyItem objects: ```json { "property_id": "p1_favourite_color", "property_value": [ { "id": "86e05affc7a7abefcd513ab400", "name": "Blue", "resource_record_id": null, "state": 1 }, { "id": "81eaeea13b8984a169c490a325", "name": "Green", "resource_record_id": null, "state": 1 } ] } ``` - **custom data type** – the format depends on the specific data type configuration. For example, a serialized JSON object: ```json { "property_id": "p1_address", "property_value": "{\"street\":\"Main St\",\"city\":\"Prague\"}" } ```
          - string
          - number
          - integer
          - boolean
          - unknown[]
            - unknown
          - object
        - `last_change` string — Date and time of the last change. *(YYYY-MM-DD HH:MM:SS)*
    - `total_items` integer — The number of all found purchases.

## 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/versions/329c06dbf8d9/schema)
