Skip to main content
To create a line, send a POST request to /locations/{locationId}/lines:
curl -X POST https://api.qminder.com/v1/locations/12345/lines \
  -H "X-Qminder-REST-API-Key: YOUR_API_KEY" \
  -H "X-Qminder-API-Version: 2020-09-01" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Customer Support",
    "color": "TEAL"
  }'
Required fields:
  • name - Line name (max 30 characters)
  • color - Line color. One of: VIOLET, LAVENDER, MARSHMALLOW, TEAL, MINT, CORAL, YELLOW, ROSE, INDIGO, BLUE
Optional fields:
  • disabled - Whether the line starts disabled (default: false)
  • translations - Name translations for multi-language support (see below)
  • appointmentSettings - Appointment configuration (see below)
Response (201 Created):
{
  "id": "12345"
}

Translations

You can provide name translations for multi-language support:
{
  "name": "Customer Support",
  "color": "TEAL",
  "translations": [
    { "languageCode": "fr", "name": "Service client" },
    { "languageCode": "es", "name": "Atención al cliente" }
  ]
}
Each translation object has:
  • languageCode (string, required) - Language code (e.g. “fr”, “es”, “de”)
  • name (string, optional) - Translated line name (max 30 characters)

Appointment Settings

You can enable appointments and set a default duration:
{
  "name": "Customer Support",
  "color": "TEAL",
  "appointmentSettings": {
    "enabled": true,
    "duration": 30
  }
}
  • enabled (boolean, required) - Whether appointments are enabled for this line
  • duration (integer, required) - Default appointment duration in minutes. Allowed values: 15, 30, 45, 60, 90, 120, 180

Error Responses

StatusDescriptionExample
400Name is blank{"code": "parameter_invalid_blank", "message": "...", "param": "name"}
400Name too long (>30 chars){"code": "parameter_invalid_size", "message": "...", "param": "name"}
400Invalid color name{"code": "parameter_invalid", "message": "...", "param": "color"}
400Invalid appointment duration{"code": "parameter_invalid", "message": "...", "param": "appointmentSettings.duration"}
400Language code is blank{"code": "parameter_invalid_blank", "message": "...", "param": "translations[0].languageCode"}
400Translation name is blank{"code": "parameter_invalid", "message": "...", "param": "translations[0].name"}
400Translation name too long (>30 chars){"code": "parameter_invalid_size", "message": "...", "param": "translations[0].name"}
409Line with same name already existsConflict error