---
title: "Bulk create outlets"
method: POST
path: "/v1/outlets"
tags: ["Outlets"]
---

# Bulk create outlets

`POST /v1/outlets`

## Request

- Base URL: `https://api.finalpos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.finalpos.com/v1/outlets`
- Auth: API key in header `x-api-key`

Bulk creates multiple outlets in a single request. Returns per-item results with success/error status for each item.

## Request body

- BulkCreateRequestDto
  - `items` BulkCreateItemDto[], required: Array of items to create
    - `data` object, required: The data payload for the item to create
    - `clientRef` string: Client-provided reference key for correlating request items with response results
  - `options` BulkOptionsDto
    - `onError` 'continue' | 'abort': How to handle item-level failures. "continue" processes all items and reports per-item status. "abort" stops on the first failure.

## Response `200`

Bulk operation completed. Each item in the results array indicates success or failure.

- object
  - `summary` BulkSummaryDto
    - `total` number, required: Total number of items in the bulk operation
    - `succeeded` number, required: Number of items that succeeded
    - `failed` number, required: Number of items that failed
    - `skipped` number: Number of items skipped (abort policy only)
  - `results` union[]
    - union
      - object
        - `index` number
        - `status` 'success'
        - `data` OutletResponseDto
          - `id` string: Unique identifier for the Outlet.
          - `createdAt` string, date-time: Timestamp when the Outlet was created.
          - `updatedAt` string, date-time: Timestamp when the Outlet was last updated.
          - `companyId` string: Company ID associated with the Outlet.
          - `name` string: Name of the Outlet.
          - `address` string: Primary address of the Outlet.
          - `city` string: City where the Outlet is located.
          - `state` string: State or province where the Outlet is located.
          - `country` string: Country where the Outlet is located.
          - `postCode` string: Post code or ZIP code of the Outlet.
          - `phone` string: Phone number of the Outlet.
          - `address2` string: Secondary address line of the Outlet.
          - `alias` string: Alias or alternate name for the Outlet used for Metorik Extension.
          - `timeZone` string: IANA timezone of the outlet. Falls back to Company.timeZone when absent.
          - `sequenceNumber` number: Sequence number for the Outlet (auto-generated).
          - `stations` string[]: List of station IDs associated with the Outlet.
          - `stripeAccountId` string: Stripe Connect account ID associated with the Outlet.
          - `stripe` object: Stripe Terminal configuration for the Outlet.
          - `externalId` string: External provider id for the Outlet (the source location id). Integration correlation key.
          - `source` string: Origin of the Outlet — the integration provider that created it, or "standalone".
          - `taxId` string: Tax ID associated with the Outlet.
        - `clientRef` string
      - BulkItemErrorResultDto
        - `index` number, required: Zero-based index of the item in the request array
        - `status` 'error', required: Result status
        - `error` BulkItemErrorDetail, required
          - `statusCode` number, required: HTTP-style status code for this item
          - `message` string, required: Error message
        - `clientRef` string: Client-provided reference key echoed back

## Other responses

- `400`: Bad request. The bulk request itself is invalid (e.g., malformed body, exceeds max items).

---

[API](https://skmtc.dev/finalpos/apis/final-pos-public-api.md) · [All operations](https://skmtc.dev/finalpos/apis/final-pos-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/finalpos/apis/final-pos-public-api/revisions/6a6842dcb479?raw)
