API ReferenceEndpointsPublic API (v1)List carrier pickup points (Public API)

List carrier pickup points (Public API)

Partner shops and lockers near the checkout shipping address, nearest first. Only for a checkout whose selected rate has requiresPickupPoint: true. Optional latitude/longitude (together), city, postalCode and limit (1-50) search somewhere else.

GET
/v1/checkout/{checkoutId}/pickup-points
AuthorizationBearer <token>

Admin API key (server-to-server). Issue via the dashboard at Settings → API keys. Plain-text key is shown once — store in a secret manager. Format: Authorization: Bearer brainerce_xxxxxxxxx.

In: header

Path Parameters

checkoutIdstring

Checkout ID

Query Parameters

longitude?number

Longitude in degrees, -180 to 180. Used only together with latitude.

Range-180 <= value <= 180
latitude?number

Latitude in degrees, -90 to 90. Used only together with longitude.

Range-90 <= value <= 90
postalCode?string

Postal code to search in instead of the checkout address. At most 20 characters.

Lengthlength <= 20
city?string

City to search in instead of the checkout address. At most 120 characters.

Lengthlength <= 120
limit?integer

Maximum points to return, 1 to 50.

Range1 <= value <= 50
curl -X GET "https://api.brainerce.com/api/v1/checkout/string/pickup-points?longitude=-180&latitude=-90&postalCode=string&city=string&limit=1"
{
  "points": [
    {
      "id": "pp_48213",
      "name": "Kiosk Herzl",
      "kind": "store",
      "address": {
        "street1": "Herzl 12",
        "city": "Tel Aviv",
        "zip": "6578301",
        "country": "IL"
      },
      "latitude": 32.0668,
      "longitude": 34.7647,
      "hours": "Sun-Thu 08:00-20:00",
      "note": "Next to the pharmacy",
      "distanceKm": 0.8
    }
  ]
}

{
  "statusCode": 400,
  "code": "VALIDATION_FAILED",
  "message": "name should not be empty, price must be a positive number",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/checkout/{checkoutId}/pickup-points"
}

{
  "statusCode": 401,
  "code": "UNAUTHORIZED",
  "message": "Invalid or expired credential",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/products/bulk/{jobId}"
}

{
  "statusCode": 403,
  "code": "INSUFFICIENT_SCOPE",
  "message": "API key does not have the required scope: products:write",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/checkout/{checkoutId}/pickup-points"
}

{
  "statusCode": 404,
  "code": "RESOURCE_NOT_FOUND",
  "message": "Resource not found",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/checkout/{checkoutId}/pickup-points"
}

{
  "statusCode": 429,
  "code": "RATE_LIMITED",
  "message": "Too many requests",
  "details": {
    "retryAfterSeconds": 12
  },
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/store"
}

{
  "statusCode": 502,
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/checkout/{checkoutId}/pickup-points"
}