---
title: "List checkout profiles"
description: "List the shop's checkout and accounts configurations (Shopify checkout profiles) and which one is published, as the order status page setup shows before the merchant adds Filemonk's block. Read-only: adding the block hap"
url: https://docs.filemonk.io/v2/api-reference/settings/list-checkout-profiles/
api: "API v2 reference"
method: GET
path: "/settings/checkout_profiles"
---

# List checkout profiles

`GET https://app.filemonk.io/api/v2/external/settings/checkout_profiles`

List the shop's checkout and accounts configurations (Shopify checkout profiles) and which one is published, as the order status page setup shows before the merchant adds Filemonk's block. Read-only: adding the block happens in Shopify's checkout editor, which an agent can't open.

**Note:** Asks Shopify; large shops page slowly (Shopify throttles this list). 502 when Shopify did not answer.

## Returns

- `data` (array of objects, required)
  - `id` (string, nullable, required): e.g. `gid://shopify/CheckoutProfile/1234567`
  - `name` (string, nullable, required): e.g. `Default checkout`
  - `published` (boolean, nullable, required): e.g. `true`
- `published` (string, nullable, required): e.g. `Default checkout`

Rate limit: this call costs 1 point ([rate limits](https://docs.filemonk.io/v2/errors-and-rate-limits/)).

## Example request

```sh
curl "https://app.filemonk.io/api/v2/external/settings/checkout_profiles" \
  -H "X-Auth-Token: $FILEMONK_API_KEY"
```

## 200

Success: the requested resource.

```json
{
  "data": [
    {
      "id": "gid://shopify/CheckoutProfile/1234567",
      "name": "Default checkout",
      "published": true
    },
    {
      "id": "gid://shopify/CheckoutProfile/1234568",
      "name": "Holiday checkout",
      "published": false
    }
  ],
  "published": "Default checkout"
}
```

## 401

Missing or invalid API key.

```json
{
  "errors": [
    "Invalid API key"
  ]
}
```

## 422

The request failed validation, or sent a key the action does not take (`code: &quot;unknown_parameters&quot;` with `unknown` and `accepted`). Nothing was saved.

```json
{
  "errors": [
    "access.download_limit_count must be an integer of at least 0"
  ],
  "field_errors": {
    "access.download_limit_count": [
      "must be an integer of at least 0"
    ]
  }
}
```

## 429

Rate limited. Cost-weighted per API key, shared with API v1: a read costs 1 point, a write 2, 40 points per fixed 60-second window. Every response carries `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset` (Unix time the window ends); a 429 adds `Retry-After` (seconds), `retry_after`, `retryable: true` and a `next_step` in the body. A 429 did nothing: wait `retry_after` seconds, then send the same request again. The budget is per key, so every tool or script using the key shares it; prefer one list call with `per_page` over many single reads.

```json
{
  "errors": [
    "You have exceeded the rate limit of 40 points per 60 seconds. Read requests cost 1 point(s) and write requests cost 2 point(s). Please retry after 12 second(s)."
  ],
  "code": "rate_limited",
  "retry_after": 12,
  "error": "Rate limit exceeded",
  "message": "You have exceeded the rate limit of 40 points per 60 seconds. Read requests cost 1 point(s) and write requests cost 2 point(s). Please retry after 12 second(s)."
}
```

## 502

Shopify (or the email service) did not complete the request. Nothing was changed; try again shortly.

```json
{
  "errors": [
    "Shopify did not complete the request. Nothing was changed; try again shortly."
  ],
  "code": "shopify_error"
}
```

