> For the complete documentation index, see [llms.txt](https://docs.latam-payments.depay.us/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.latam-payments.depay.us/reference/api-reference/merchant-onboarding-and-payment-flow/point-of-sales.md).

# Point of Sales

In the context of Depay's ecosystem, a **POS (Point of Sale)** refers to a specific point, either digital or physical, where payment transactions are processed using interoperable QR codes. Each store, belonging to a customer (merchant), can operate multiple **POS** terminals, all integrated into the Depay system to handle cross-border payments seamlessly. These points allow merchants to accept payments from tourists or foreign customers using their local wallets, facilitating seamless cross-border sales.

Our API facilitates the comprehensive management of each POS, allowing Customers to add, update, retrieve, and manage multiple **Points Of Sale** under a single Store. This flexibility supports varied business models and operational scales, ensuring that whether a Store operates a single POS or several, each can be efficiently integrated and managed through Depay's system.

## Create a new Point of Sales

<mark style="color:green;">`POST`</mark> `https://stage.api.payments.depay.us/stores/{store_uuid}/pos`

This endpoint allows you to create a new POS for the specified Store

#### Query Parameters

| Name        | Type   | Description      |
| ----------- | ------ | ---------------- |
| store\_uuid | String | Store identifier |

#### Headers

| Name                                            | Type   | Description  |
| ----------------------------------------------- | ------ | ------------ |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer Token |

#### Request Body

| Name                                                  | Type   | Description                                                                                       |
| ----------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| name<mark style="color:red;">\*</mark>                | String | The name of the pos being registered.                                                             |
| external\_reference<mark style="color:red;">\*</mark> | String | An external identifier provided by the user that uniquely references the pos in their own system. |
| description                                           | String | A brief description of the pos.                                                                   |

<details>

<summary>Request Body Example</summary>

```json
{
    "name": "testing",
    "external_reference": "94c4631f-0480-4da3-8cc0-170a9ea402a1",
    "description": "Test collector"
}
```

</details>

{% tabs %}
{% tab title="201: Created POS created" %}

{% endtab %}

{% tab title="401: Unauthorized" %}

```json
{
    "statusCode": 401,
    "message": "Unauthorized"
}
```

{% endtab %}

{% tab title="404: Not Found" %}

```json
{
    "statusCode": 404,
    "message": "Store not found"
}
```

{% endtab %}
{% endtabs %}

## Get an existing POS

<mark style="color:blue;">`GET`</mark> `https://stage.api.payments.depay.us/pos/{uuid}`

This endpoint allows you to retrieve the details of an existing POS using its unique identifier (UUID).

#### Query Parameters

| Name                                   | Type   | Description       |
| -------------------------------------- | ------ | ----------------- |
| uuid<mark style="color:red;">\*</mark> | string | Branch identifier |

#### Headers

| Name                                             | Type   | Description  |
| ------------------------------------------------ | ------ | ------------ |
| Authentication<mark style="color:red;">\*</mark> | string | Bearer Token |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
    "uuid": "bc1b79ce-2528-4039-9c08-37836400ab80",
    "createdAt": "2025-06-06T18:11:24.111Z",
    "updatedAt": "2025-06-06T18:11:24.111Z",
    "externalReference": "f1609d5f-7a84-4f54-bb6d-c420bd630451",
    "description": "Test collector",
    "category": 0,
    "store": {
        "uuid": "eb3550e7-92ea-4a15-9990-13a95c52600e",
        "createdAt": "2025-06-06T17:56:37.642Z",
        "updatedAt": "2025-06-06T18:04:33.000Z",
        "description": "123",
        "externalReference": "5e5e18f6-d4b9-4f94-9f83-7877c859015c",
        "address": "Av. Siempreviva 432",
        "phone": "test1@depay.us",
        "manager": "John Dou",
        "collector": {
            "uuid": "188f08fc-80c6-4d62-b723-06007c974efe",
            "createdAt": "2025-06-06T15:37:16.358Z",
            "updatedAt": "2025-06-06T15:37:16.358Z",
            "externalReference": "c2594bb7-c27a-47b3-8a6b-29f7cf023886",
            "name": "Collector Test",
            "fantasty_name": "Collector Test",
            "description": "Collector de prueba",
            "tax_id": "213123123",
            "image": null,
            "regular_contact_email": "test60@depay.us",
            "regular_contact_phone": "12313123",
            "country_code": "AR",
            "address": "Av. Siempreviva 432",
            "code": "123",
            "company": null,
            "category": null,
            "color": null
        }
    }
}
```

{% endtab %}

{% tab title="401: Unauthorized" %}

```json
{
    "statusCode": 401,
    "message": "Unauthorized"
}
```

{% endtab %}

{% tab title="404: Not Found" %}

```json
{
    "statusCode": 404,
    "message": "POS not found"
}
```

{% endtab %}
{% endtabs %}

## Get All POS

<mark style="color:blue;">`GET`</mark> `https://stage.api.payments.depay.us/stores/{store_uuid}/pos`

This endpoint allows you to retrieve a list of all existing POS in the Depay ecosystem

#### Query Parameters

| Name                                          | Type   | Description      |
| --------------------------------------------- | ------ | ---------------- |
| store\_uuid<mark style="color:red;">\*</mark> | String | Store identifier |

#### Headers

| Name                                            | Type   | Description  |
| ----------------------------------------------- | ------ | ------------ |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer Token |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{[
    {
       "name": "POS Name",
       "description": "POS Description",
       "external_reference": "external_reference_pos",
       "uuid": "271f9b3f-49b0-4183-9b1a-f4e98287d2b4",
       "enabled": "true"
    },
    {
       "name": "POS Name"
       "description": "POS 2 Description",
       "external_reference": "external_reference_pos_2",
       "uuid": "271f9b3f-49b0-4183-9b1a-f4e98287d2b5",
       "enabled": "true"
    }
]}
```

{% endtab %}

{% tab title="401: Unauthorized Premission Denied" %}

```json
{
    "statusCode": 401,
    "message": "Unauthorized"
}
```

{% endtab %}

{% tab title="404: Not Found Branch Not Found" %}

```json
{
    "statusCode": 404,
    "message": "Store not found"
}
```

{% endtab %}
{% endtabs %}

## Update POS

<mark style="color:purple;">`PATCH`</mark> `https://stage.api.payments.depay.us/pos/{uuid}`

This endpoint allows you to update the details of an existing POS in the Depay ecosystem.

#### Query Parameters

| Name                                   | Type   | Description    |
| -------------------------------------- | ------ | -------------- |
| uuid<mark style="color:red;">\*</mark> | String | POS identifier |

#### Request Body

| Name                                          | Type   | Description                                                                                       |
| --------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| name<mark style="color:red;">\*</mark>        | String | The name of the pos being registered.                                                             |
| description<mark style="color:red;">\*</mark> | String | A brief description of the pos                                                                    |
| external\_reference                           | String | An external identifier provided by the user that uniquely references the pos in their own system. |

<details>

<summary>Request Body Example</summary>

```json
{
    "name": "testing",
    "external_reference": "{{external_reference}}",
    "description": "Test collector2"
}
```

</details>

{% tabs %}
{% tab title="201: POS updated" %}

```json
{
    "status": 201,
    "message": "PointOfSales updated",
    "data": {
        "uuid": "bc1b79ce-2528-4039-9c08-37836400ab80",
        "createdAt": "2025-06-06T18:11:24.111Z",
        "updatedAt": "2025-06-06T18:30:38.000Z",
        "externalReference": "e32f7151-3bd2-42ad-a37c-be8668a6a3b5",
        "description": "Test collector2"
    }
}
```

{% endtab %}

{% tab title="401: Unauthorized" %}

```json
{
    "statusCode": 401,
    "message": "Unauthorized"
}
```

{% endtab %}

{% tab title="404: Not Found" %}

```json
{
    "statusCode": 404,
    "message": "POS not found"
}
```

{% endtab %}
{% endtabs %}

## Disable POS

<mark style="color:orange;">`PUT`</mark> `https://stage.api.payments.depay.us/pos/disable/{uuid}`

This endpoint allows you to disable an existing Collector in the Depay ecosystem.

#### Query Parameters

| Name                                   | Type   | Description    |
| -------------------------------------- | ------ | -------------- |
| uuid<mark style="color:red;">\*</mark> | String | POS identifier |

#### Headers

| Name                                            | Type   | Description  |
| ----------------------------------------------- | ------ | ------------ |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer Token |

{% tabs %}
{% tab title="204: No Content POs disabled" %}

{% endtab %}

{% tab title="401: Unauthorized" %}

```json
{
    "statusCode": 401,
    "message": "Unauthorized"
}
```

{% endtab %}

{% tab title="404: Not Found" %}

```json
{
    "statusCode": 404,
    "message": "POS not found"
}
```

{% endtab %}
{% endtabs %}
