Skip to main content
To create a location, send a POST request to /locations:
Required fields:
  • name - Location name (max 30 characters)
  • latitude - Geographical latitude (-90 to 90)
  • longitude - Geographical longitude (-180 to 180)
  • address - Postal address (max 300 characters)
  • country - ISO 3166-1 alpha-2 country code (e.g. “US”, “CA”)
Optional fields:
  • languages - Languages available at this location (see below). Defaults to ["en"] if omitted.
  • inputFields - Custom input fields for the location (see below). If omitted, three default fields are created (first name, last name, phone number).
  • lines - Custom lines (queues) for the location (see below). If omitted, two default lines are created (“Main Service” and “Information”).
  • openingHours - Opening hours configuration (see below). If omitted, the location defaults to 24/7 (00:00-23:59 every day).
Response (201 Created):

Languages

You can configure which languages are available at a location by providing an array of ISO 639 / BCP 47 language codes:
  • The list must include "en" (English)
  • No duplicate codes allowed
  • All codes must be supported (e.g. en, et, fr, de, zh, zh-TW, fr-CA, pt-PT)
  • Order is preserved — the first language is the primary display language
  • If omitted, defaults to ["en"]

Input Fields

You can specify custom input fields to create with the location by providing an inputFields array. If omitted, three default fields are created: first name, last name, and phone number. Each field uses the same schema as the standalone Creating an Input Field endpoint, with these differences:
  • location — must not be provided (automatically set to the created location)
  • visibleForLines — must be omitted or empty (lines don’t exist yet at creation time)
  • id — required (client-generated UUID)
Constraints:
  • Must include at least one FIRST_NAME and one LAST_NAME field
  • Maximum 50 fields
  • FIRST_NAME, LAST_NAME, EMAIL, and PHONE_NUMBER are singleton types (only one of each allowed)
  • FIRST_NAME and LAST_NAME cannot have isMandatoryBeforeAdded or isMandatoryBeforeServed set to true
  • All field and option IDs must be unique within the request and globally
  • If fields include translations, the referenced language codes must be declared in the languages field
Example — creating a location with custom input fields:
For full details on field types, options, translations, and constraints, see Creating an Input Field.

Lines

You can specify custom lines (queues) to create with the location by providing a lines array. If omitted, two default lines are created: “Main Service” (TEAL) and “Information” (YELLOW). Each line object uses the same schema as the standalone Creating a Line endpoint, with the following difference:
  • appointmentSettings — not supported in location creation
Each line object has:
  • name (string, required) - Line name (max 30 characters, trimmed)
  • color (string, required) - Line color. One of: VIOLET, LAVENDER, MARSHMALLOW, TEAL, MINT, CORAL, YELLOW, ROSE, INDIGO, BLUE
  • disabled (boolean, optional) - Whether the line starts disabled (default: false)
  • translations (array, optional) - Name translations for multi-language support
Each translation object has:
  • languageCode (string, required) - Language code (e.g. “fr”, “es”)
  • name (string, optional) - Translated line name (max 30 characters). Can be null as a placeholder.
Constraints:
  • Between 1 and 50 lines
  • No duplicate line names (after trimming, case-sensitive)
  • If lines include translations, the referenced language codes must be declared in the languages field
Example — creating a location with custom lines:

Opening Hours

You can set regular weekly hours and date-specific exceptions:
Each day in regular can have either:
  • businessHours - An array of time ranges with opens and closes (each with hours 0-23 and minutes 0-59)
  • closed: true - The location is closed that day
Each entry in exceptions requires a date (ISO 8601 format) and can include:
  • closed and optional closedReason - Mark the date as closed
  • businessHours - Custom hours for that specific date

Error Responses