Skip to main content

Lineberty Validation API (1.0.0)

Download OpenAPI specification:Download

Lineberty Developer Support: contact@lineberty.com URL: https://www.lineberty.com

About Lineberty

Lineberty, the solution that queues up for your customers.

Lineberty's Booking System increases User's satisfaction by reducing the time spent to wait for their turn.

Users simply have to book a ticket, either on their phone using your application, or on a terminal you're providing at your place, then to select the time when they want to enjoy visiting your place or use your service. They receive a notification shortly before their appointment, informing them that it is soon their turn.

There is no longer any need to wait in a line! Users now have time to visit around or make more purchases thanks to the Lineberty Virtual Queueing Solution.

About the Lineberty Validation API

Create your own Validation (web)application to manage your queues, endpoints and tickets with the Lineberty Validation API.

The validation API helps your salespeople, cashiers, hosts/hostesses, etc. manage the queues and adapt it to the circumstances.

Depending on their level of empowerment, these operators can perform actions on tickets such as calling or recalling a ticket at the endpoint, search for a ticket, get a list of tickets for a given timeslot, change the state of a ticket, and much more. They can also supervise the state of the queue through counters and indicators, or manage the endpoint opening hours.

Process of Booking a ticket

Authentication

Your validation application will have to communicate with the Lineberty server to get the data needed to validate a ticket. This communication requires an API Key.

We will provide you with a private key included in a JSON file. This JSON file must be stored safe on your application server.

This private key also contains an email address associated to your account to access the Lineberty Validation API, and afterwards get the API Key.

See The Lineberty Validation API User Guide for further information.

API KEY

The API Key secures the communication with the Lineberty Server.

GET A VALID API KEY

This is the first step before accessing the resources of the API. Use this route to get a valid API Key to access the Lineberty Validation API resources with your private key. We recommend to use API Key caching to optimize the number of requests per day and resend the request once a day.

Authorizations:
server_key_file

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/api_key

Response samples

Content type
application/json
{
  • "apiKey": "QJ15bv43hKXTpVClbyMnofYOXHZdyb2Lxwv8yEpzrV1laO"
}

OPERATORS

Use theses routes to manage the operator's session (connect and disconnect, get the roles, refresh the operator's token, disconnect a user).

LOGIN AN OPERATOR

Use this route to connect an operator either with the combination User ID/Password or by SSO.

Authorizations:
api_key
path Parameters
endpointId
required
string

The ID of the endpoint.

Request Body schema: application/json
required

The parameters to login a user.

endpointId
required
string

The ID of the endpoint

loginId
string

The user's ID.

password
string

The password associated to the User's ID.

ssoToken
string

The token of the SSO session

Responses

Request samples

Content type
application/json
{
  • "endpointId": "endpointId1",
  • "loginId": "email@email.com",
  • "password": "aKpf9!d32cj,"
}

Response samples

Content type
application/json
{
  • "jwtToken": "QJ15bv43hKXTpVClbyMnofYOXHZdyb2Lxwv8yEpzrV1laO"
}

PRE LOGIN AN OPERATOR

Use this route to pre connect an operator either with the combination User ID/Password or by SSO but without associate the user to an endpoint (must absolutely be make later).

Authorizations:
api_key
Request Body schema: application/json
required

The parameters to login a user.

loginId
string

The user's ID.

password
string

The password associated to the User's ID.

ssoToken
string

The ID of the SSO session

Responses

Request samples

Content type
application/json
{
  • "loginId": "email@email.com",
  • "password": "aKpf9!d32cj,"
}

Response samples

Content type
application/json
{
  • "jwtToken": "QJ15bv43hKXTpVClbyMnofYOXHZdyb2Lxwv8yEpzrV1laO"
}

GET OPERATOR INFORMATION

Use this route to get the information of the current operator.

Authorizations:
api_key

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/operator/account

Response samples

Content type
application/json
{}

GET OPERATOR ROLES

Use this route to get the roles of the current operator.

Authorizations:
api_key

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/operator/roles

Response samples

Content type
application/json
{
  • "companyId1": {
    }
}

REFRESH A SESSION TOKEN

Use this routes to refresh the session token of an operator.

Authorizations:
api_key

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/operator/session/refreshToken

Response samples

Content type
application/json
{
  • "jwtToken": "QJ15bv43hKXTpVClbyMnofYOXHZdyb2Lxwv8yEpzrV1laO"
}

ASSIGN AN ENDPOINT TO A SESSION

If you have make a pre login you absolutely must assign an endpoint to your session else all the authentified method will not work.

Authorizations:
api_key
Request Body schema: application/json
required

The endpoint ID.

endpointId
required
string

The ID of the endpoint

Responses

Request samples

Content type
application/json
{
  • "endpointId": "endpointId1"
}

Response samples

Content type
application/json
{
  • "jwtToken": "QJ15bv43hKXTpVClbyMnofYOXHZdyb2Lxwv8yEpzrV1laO"
}

DISCONNECT AN OPERATOR

Use this route to disconnect an operator either with the combination ID/Password or by SSO.

Authorizations:
api_key

Responses

Request samples

curl -X DELETE \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/operator/session

Response samples

Content type
application/json
{
  • "error": "OPERATOR_NOT_FOUND",
  • "error_description": "string",
  • "error_uri": "string"
}

COMPANIES

Use these routes to get the list of the companies, and for each company the places relating to it.

GET ALL THE COMPANIES ASSOCIATED WITH THE API KEY

Use this route to get the list of all the companies that are associated with the API key.

Authorizations:
api_key
query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/companies

Response samples

Content type
application/json
{
  • "companyId1": {
    }
}

GET ALL THE PLACES OF THE COMPANY

Use this route to get all the places of the company.

Authorizations:
api_key
path Parameters
companyId
required
string

The ID of the company.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/companies/{companyId}/places

Response samples

Content type
application/json
{
  • "placeId1": {
    },
  • "placeId2": {
    }
}

PLACES

Use these routes to get the list of the places, and for each place the queues, endpoints and time slots relating to it.

GET PLACES

Use this route to get all the places associated with the API key.

Authorizations:
api_key
query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/places

Response samples

Content type
application/json
{
  • "placeId1": {
    },
  • "placeId2": {
    }
}

GET THE PLACE

Use this route to get a place in particular, using its place ID.

Authorizations:
api_key
path Parameters
placeId
required
string

The ID of the place.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/places/{placeId}

Response samples

Content type
application/json
{
  • "placeId": "placeId1",
  • "companyId": "companyId1",
  • "name": {
    },
  • "address": "5 Avenue Anatole France",
  • "city": "Paris",
  • "country": "France",
  • "zip": "75007",
  • "language": "fr_FR",
  • "timezone": "Europe/Paris",
  • "position": {
    }
}

GET THE QUEUE(S) OF THE PLACE

Use this route to get the queue(s) of the place.

Authorizations:
api_key
path Parameters
placeId
required
string

The ID of the place.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/places/{placeId}/queues

Response samples

Content type
application/json
{
  • "queueId1": {
    },
  • "queueId2": {
    }
}

GET THE COUNTER(S) OF THE PLACE

Use this route to get the counter(s) of the place, or an empty array if there are no counters.

Authorizations:
api_key
path Parameters
placeId
required
string

The ID of the place.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/places/{placeId}/counters

Response samples

Content type
application/json
{
  • "counterId1": {
    },
  • "counterId2": {
    }
}

GET THE ENDPOINT(S) OF THE PLACE

Use this route to get the endpoint(s) of the place.

Authorizations:
api_key
path Parameters
placeId
required
string

The ID of the place.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/places/{placeId}/endpoints

Response samples

Content type
application/json
{
  • "endpointId1": {
    },
  • "endpointId2": {
    },
  • "endpointId3": {
    }
}

GET THE TIME SLOT(S) OF THE PLACE

Use this route to get the time slot(s) of the place. By default, the time slots are those of the current day.

Authorizations:
api_key
path Parameters
placeId
required
string

The ID of the place.

query Parameters
startAt
string

The start date of the time slot to select data.

endAt
string

The end date of the time slot to select data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/places/{placeId}/timeslots

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

QUEUES

Use these routes to get the list of the queues, the configuration of a queue in particular, the list of the endpoints relating to the queue, or even indicators on the queue. They also allow you pause or resume a queue, and to perform actions on the tickets.

GET ALL THE QUEUES

Use this route to get all the queues that are associated with the API key.

Authorizations:
api_key
query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/queues

Response samples

Content type
application/json
{
  • "queueId1": {
    },
  • "queueId2": {
    }
}

GET THE QUEUE

Use this route to get a queue in particular, using its queue ID.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/queues/{queueId}

Response samples

Content type
application/json
{
  • "queueId": "queueId1",
  • "placeId": "placeId1",
  • "companyId": "companyId1",
  • "name": {
    },
  • "language": "en_US",
  • "timezone": "Europe/Paris",
  • "state": {
    },
  • "position": {
    },
  • "appointmentTypes": {
    },
  • "config": {
    }
}

GET THE CONFIGURATION OF A QUEUE

Use this route to get the configuration of a queue in particular, using its queue ID. You will get display rules or operating rules.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/queues/{queueId}/config

Response samples

Content type
application/json
{
  • "showIndicators": true,
  • "hiddenModeAllowed": false,
  • "pause": {
    },
  • "bookingClosedForToday": {
    },
  • "recall": {
    },
  • "authorizedSetState": {
    },
  • "extendedAttributes": {
    }
}

GET ALL THE ENDPOINTS OF A QUEUE

Use this route to get the list of all the endpoints of the queue.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/queues/{queueId}/endpoints

Response samples

Content type
application/json
{
  • "endpointId1": {
    },
  • "endpointId2": {
    },
  • "endpointId3": {
    }
}

GET THE TIMESLOTS OF ALL ENDPOINTS OF A QUEUE

Use this route to get the timeslots of all endpoints of the queue.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

query Parameters
startAt
string

The start date of the time slot to select data.

endAt
string

The end date of the time slot to select data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/queues/{queueId}/endpoints/timeslots

Response samples

Content type
application/json
{
  • "endpointId1": {
    },
  • "endpointId2": {
    },
  • "endpointId3": {
    }
}

GET ALL THE ENDPOINTS OF A QUEUE

Use this route to get the list of all the endpoints of the queue and their status in real times

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/queues/{queueId}/endpoints/sse

Response samples

Content type
application/json
{
  • "openedEndpoint": 1,
  • "closedEndpoint": 2,
  • "hiddenEndpoint": 0,
  • "endpoints": {
    }
}

GET ALL THE INDICATORS OF A QUEUE

Indicators are used to track data. Use this route to get the list of all the indicators of the queue.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/queues/{queueId}/indicators

Response samples

Content type
application/json
{
  • "editedTicket": {
    },
  • "editedPeople": {
    },
  • "remainingTickets": {
    },
  • "remainingPeople": {
    },
  • "bookedTickets": {
    },
  • "bookedPeople": {
    },
  • "toConfirmTickets": {
    },
  • "toConfirmPeople": {
    },
  • "alertedTickets": {
    },
  • "alertedPeople": {
    },
  • "calledTickets": {
    },
  • "calledPeople": {
    },
  • "onHoldTickets": {
    },
  • "onHoldPeople": {
    },
  • "noShowTickets": {
    },
  • "noShowPeople": {
    },
  • "cancelTickets": {
    },
  • "cancelPeople": {
    },
  • "doneTickets": {
    },
  • "donePeople": {
    },
  • "nextDaysTickets": {
    },
  • "nextDaysPeople": {
    },
  • "openedEndpoint": 1,
  • "bookingOpened": true,
  • "queueFull": false,
  • "allFirstAvailabilities": {
    }
}

TEMPORARILY SUSPEND AND RESUME THE QUEUE

Use this route to suspend (pause) and then resume the queue after an unusual event (e.g. technical problem).

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

To suspend or resume the queue.

pause
required
boolean

Whether the queue should be paused or not. If True, the queue is paused. If False, the queue is restarted.

Responses

Request samples

Content type
application/json
{
  • "pause": true
}

Response samples

Content type
application/json
{
  • "queueId": "queueId1",
  • "placeId": "placeId1",
  • "companyId": "companyId1",
  • "name": {
    },
  • "language": "en_US",
  • "timezone": "Europe/Paris",
  • "state": {
    },
  • "position": {
    },
  • "appointmentTypes": {
    },
  • "config": {
    }
}

TEMPORARILY SUSPEND AND RESUME THE QUEUE AVAILABILITIES FOR THE CURRENT DAY

Use this route to suspend (close) and then resume the queue availabilities for the current day.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

To suspend or resume the queue availabilities for the current day.

bookingClosedForToday
required
boolean

Whether the queue availabilities should be closed or not. If True, the queue availabilities is closed for today. If False, the queue is reopened.

Responses

Request samples

Content type
application/json
{
  • "bookingClosedForToday": true
}

Response samples

Content type
application/json
{
  • "queueId": "queueId1",
  • "placeId": "placeId1",
  • "companyId": "companyId1",
  • "name": {
    },
  • "language": "en_US",
  • "timezone": "Europe/Paris",
  • "state": {
    },
  • "position": {
    },
  • "appointmentTypes": {
    },
  • "config": {
    }
}

GET ALL THE CURRENT TICKETS BY SSE

Use this route to get in real time all the current tickets (i.e. excluding those that are done or canceled) that are planned for today on the first message, then all the ticket events.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

query Parameters
page
number

The page number needed. 1 by default because there is at least one page.

pageSize
number [ 1 .. 50 ]
Default: 20

The number of items to return for each page. By default, a page contains 20 items, at least 1 and up to 50.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <TOKEN>" \
 https://api-validation.lineberty.net/v1/queues/{queueId}/tickets/currents/sse

Response samples

Content type
application/json
{
  • "totalCount": 2,
  • "page": 1,
  • "pageSize": 20,
  • "tickets": [
    ]
}

GET ALL THE CURRENT TICKETS OF THE DAY

Use this route to get all the current tickets (i.e. excluding those that are done or canceled) that are planned for today.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

query Parameters
page
number

The page number needed. 1 by default because there is at least one page.

pageSize
number [ 1 .. 50 ]
Default: 20

The number of items to return for each page. By default, a page contains 20 items, at least 1 and up to 50.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <TOKEN>" \
 https://api-validation.lineberty.net/v1/queues/{queueId}/tickets/currents

Response samples

Content type
application/json
{
  • "totalCount": 2,
  • "page": 1,
  • "pageSize": 20,
  • "tickets": [
    ]
}

GET ALL THE DONE OR CANCELLED TICKETS OF THE DAY

Use this route to get all the tickets that have been done or canceled during the current day.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

query Parameters
page
number

The page number needed. 1 by default because there is at least one page.

pageSize
number [ 1 .. 50 ]
Default: 20

The number of items to return for each page. By default, a page contains 20 items, at least 1 and up to 50.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <TOKEN>" \
 https://api-validation.lineberty.net/v1/queues/{queueId}/tickets/history

Response samples

Content type
application/json
{
  • "totalCount": 2,
  • "page": 1,
  • "pageSize": 20,
  • "tickets": [
    ]
}

GET ALL THE TICKETS THAT ARE BOOKED FOR THE NEXT DAYS

Use this route to get the list of the tickets that are booked for the next days, including those that are already canceled.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

query Parameters
page
number

The page number needed. 1 by default because there is at least one page.

pageSize
number [ 1 .. 50 ]
Default: 20

The number of items to return for each page. By default, a page contains 20 items, at least 1 and up to 50.

startAt
string

The start date of the time slot to select data.

endAt
string

The end date of the time slot to select data.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <TOKEN>" \
 https://api-validation.lineberty.net/v1/queues/{queueId}/tickets/nextDays

Response samples

Content type
application/json
{
  • "totalCount": 2,
  • "page": 1,
  • "pageSize": 20,
  • "tickets": [
    ]
}

FILTER THE TICKETS OF A QUEUE

Use this route to filter the tickets of a queue, using various parameters such as the label, a day (today, the next days or both), or the extended attributes. This search cannot be done on past tickets.

Authorizations:
api_key
path Parameters
queueId
required
string

The ID of the queue.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

Search for tickets.

label
string

The label of the ticket.

today
boolean

To load only the tickets of the current day, use TRUE. To load only the tickets of the next days, use FALSE. To load all the tickets of the queue, do not pass any parameter.

Array of objects (ticketSearchExtendedAttribute)

An array of objects containing the attributes used to filter the queue.

Responses

Request samples

Content type
application/json
{
  • "label": 5,
  • "today": true,
  • "extendedAttributes": [
    ]
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

COUNTERS

Use these routes to get the list of the counters, and to perform increments or decrement the value of the counter.

GET ALL THE COUNTERS

Use this route to get all the counters that are associated with the API key.

Authorizations:
api_key
query Parameters
countersId
required
Array of strings

An array of counter IDs.

langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/counters

Response samples

Content type
application/json
{
  • "counterId1": {
    },
  • "counterId2": {
    }
}

GET ALL THE COUNTERS AND AN EVENT

Use this route to get all the counters that are associated with the API and receive an event each time a counter is incremented/decremented.

Authorizations:
api_key
query Parameters
countersId
required
Array of strings

An array of counter IDs.

langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/counters/sse

Response samples

Content type
application/json
{
  • "counterId1": {
    },
  • "counterId2": {
    }
}

GET THE COUNTER

Use this route to get a counter in particular, using its counter ID.

Authorizations:
api_key
path Parameters
counterId
required
string

The ID of the counter.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/counters/{counterId}

Response samples

Content type
application/json
{
  • "counterId": "counterId1",
  • "placeId": "placeId1",
  • "companyId": "companyId1",
  • "name": {
    },
  • "language": "en_US",
  • "timezone": "Europe/Paris",
  • "infos": {
    }
}

INCREMENT THE COUNTER VALUE

Use this route to increment the counter value, using its counter ID.

Authorizations:
api_key
path Parameters
counterId
required
string

The ID of the counter.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

The incremental value.

incrementValue
required
number

The value to add to the counter. Must be a positive number.

Responses

Request samples

Content type
application/json
{
  • "incrementValue": 2
}

Response samples

Content type
application/json
{
  • "counterId": "counterId1",
  • "placeId": "placeId1",
  • "companyId": "companyId1",
  • "name": {
    },
  • "language": "en_US",
  • "timezone": "Europe/Paris",
  • "infos": {
    }
}

DECREMENT THE COUNTER VALUE

Use this route to decrement the counter value, using its counter ID.

Authorizations:
api_key
path Parameters
counterId
required
string

The ID of the counter.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

The decremental value.

decrementValue
required
number

The value to substract to the counter. Must be positif and can't be greater than the counter value

Responses

Request samples

Content type
application/json
{
  • "decrementValue": 2
}

Response samples

Content type
application/json
{
  • "counterId": "counterId1",
  • "placeId": "placeId1",
  • "companyId": "companyId1",
  • "name": {
    },
  • "language": "en_US",
  • "timezone": "Europe/Paris",
  • "infos": {
    }
}

TICKETS

Use these routes to get the list of the tickets and to perform various actions on a ticket (recall a ticket, change its state to another, define extended attributes...).

GET A TICKET

Use this route to get a ticket, using its ticket ID.

Authorizations:
api_key
path Parameters
ticketId
required
string

The ID of the ticket.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <TOKEN>" \
 https://api-validation.lineberty.net/v1/tickets/{ticketId}

Response samples

Content type
application/json
{
  • "ticketId": "tiketId1",
  • "label": "137",
  • "queue": {
    },
  • "place": {
    },
  • "userId": "userId1",
  • "appointmentType": {
    },
  • "state": 0,
  • "isAnAppointment": false,
  • "groupSize": 1,
  • "duration": 600000,
  • "ticketPosition": {
    },
  • "recalledCount": 0,
  • "lang": "en_US",
  • "timeline": {
    },
  • "extraInfos": {
    },
  • "endpoint": {
    },
  • "extendedAttributes": {
    }
}

RECALL A TICKET

Use this route to recall a ticket, using its ticket ID.

Authorizations:
api_key
path Parameters
ticketId
required
string

The ID of the ticket.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <TOKEN>" \
 https://api-validation.lineberty.net/v1/tickets/{ticketId}/recall

Response samples

Content type
application/json
{
  • "ticketId": "tiketId1",
  • "label": "137",
  • "queue": {
    },
  • "place": {
    },
  • "userId": "userId1",
  • "appointmentType": {
    },
  • "state": 0,
  • "isAnAppointment": false,
  • "groupSize": 1,
  • "duration": 600000,
  • "ticketPosition": {
    },
  • "recalledCount": 0,
  • "lang": "en_US",
  • "timeline": {
    },
  • "extraInfos": {
    },
  • "endpoint": {
    },
  • "extendedAttributes": {
    }
}

GET TICKET LOGS

Use this route to get the life of a ticket, using its ticket ID.

Authorizations:
api_key
path Parameters
ticketId
required
string

The ID of the ticket.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <TOKEN>" \
 https://api-validation.lineberty.net/v1/tickets/{ticketId}/life

Response samples

Content type
application/json
[
  • {
    }
]

GET TICKET SMS

Use this route to get the sms sent to a ticket, using its ticket ID.

Authorizations:
api_key
path Parameters
ticketId
required
string

The ID of the ticket.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer <TOKEN>" \
 https://api-validation.lineberty.net/v1/tickets/{ticketId}/sms

Response samples

Content type
application/json
[
  • {
    }
]

CHANGE A TICKET STATE

Use this route to change the state of a ticket, using its ticket ID.

Authorizations:
api_key
path Parameters
ticketId
required
string

The ID of the ticket.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

The new state.

setStateTo
required
number

The new state of the ticket. Whether :

  • 0 if 'booked'. The ticket is booked.
  • 50 if 'to confirm'. The ticket is pending and waiting to be confirmed.
  • 100 if 'alerted'. It is soon the User's turn to pass, s/he receives an alert.
  • 200 if 'called'. It is now User's turn, s/he gets called.
  • 300 if 'on hold'. The User did not show up, the ticket is pending and the validation remains possible.
  • 400 if 'no show'. The User did not show up; the ticket is pending and is no more visible. It can be validated only manually by the Operator if the User finally shows up.
  • 500 if 'in progress'. The User has come and is progressing in the queue.
  • 600 if 'canceled'. The User canceled her/his ticket, or the User did not show up. The state automatically changes from 'On Hold' to 'No Show' and finally to 'Canceled'.
  • 700 if 'done'. The User came; the ticket was used and is no longer valid.
endpointId
string

The ID of the endpoint. Required to change a ticket state to CALLED or IN_PROGRESS.

Responses

Request samples

Content type
application/json
{
  • "setStateTo": 500,
  • "endpointId": "endpointId1"
}

Response samples

Content type
application/json
{
  • "ticketId": "tiketId1",
  • "label": "137",
  • "queue": {
    },
  • "place": {
    },
  • "userId": "userId1",
  • "appointmentType": {
    },
  • "state": 0,
  • "isAnAppointment": false,
  • "groupSize": 1,
  • "duration": 600000,
  • "ticketPosition": {
    },
  • "recalledCount": 0,
  • "lang": "en_US",
  • "timeline": {
    },
  • "extraInfos": {
    },
  • "endpoint": {
    },
  • "extendedAttributes": {
    }
}

DEFINE THE EXTENDED ATTRIBUTES OF A TICKET

Use this route to define additional attributes (i.e. extended attributes) for a ticket. These attributes can be intended for users, or for operators.

Authorizations:
api_key
path Parameters
ticketId
required
string

The ID of the ticket.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

The new value of extended attributes.

object (TicketExtendedAttributeRequestBody)

A list of extended attributes inside a JSON object, which key is the name of the extended attribute and which value is the value of the extended attribute.

Responses

Request samples

Content type
application/json
{
  • "name": "John Smith",
  • "phone": "1(800)123-4567"
}

Response samples

Content type
application/json
{
  • "ticketId": "tiketId1",
  • "label": "137",
  • "queue": {
    },
  • "place": {
    },
  • "userId": "userId1",
  • "appointmentType": {
    },
  • "state": 0,
  • "isAnAppointment": false,
  • "groupSize": 1,
  • "duration": 600000,
  • "ticketPosition": {
    },
  • "recalledCount": 0,
  • "lang": "en_US",
  • "timeline": {
    },
  • "extraInfos": {
    },
  • "endpoint": {
    },
  • "extendedAttributes": {
    }
}

DELETE THE EXTENDED ATTRIBUTES OF A TICKET

Use this route to delete additional attributes (i.e. extended attributes) for a ticket. These attributes can be intended for users, or for operators.

Authorizations:
api_key
path Parameters
ticketId
required
string

The ID of the ticket.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

The list of extended attributes to delete.

extendedAttributes
Array of strings (TicketDeleteExtendedAttributeRequestBody) [ items ]

Responses

Request samples

Content type
application/json
{
  • "extendedAttributes": [
    ]
}

Response samples

Content type
application/json
{
  • "ticketId": "tiketId1",
  • "label": "137",
  • "queue": {
    },
  • "place": {
    },
  • "userId": "userId1",
  • "appointmentType": {
    },
  • "state": 0,
  • "isAnAppointment": false,
  • "groupSize": 1,
  • "duration": 600000,
  • "ticketPosition": {
    },
  • "recalledCount": 0,
  • "lang": "en_US",
  • "timeline": {
    },
  • "extraInfos": {
    },
  • "endpoint": {
    },
  • "extendedAttributes": {
    }
}

ENDPOINTS

Use these route to get the list of the endpoints and to perform actions on an endpoint (open or close the endpoint, manage time slots).

GET AN ENDPOINT

Use this route to get an endpoint, using its endpoint ID.

Authorizations:
api_key
path Parameters
endpointId
required
string

The ID of the endpoint.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/endpoints/{endpointId}

Response samples

Content type
application/json
{
  • "endpointId": "endpointId1",
  • "queueId": "queueId1",
  • "placeId": "placeId1",
  • "name": {
    },
  • "state": 0,
  • "config": {
    }
}

OPEN OR CLOSE THE ENDPOINTS

Use this route to open or close an endpoint, using its endpoint ID.

Authorizations:
api_key
path Parameters
endpointId
required
string

The ID of the endpoint.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

Open or close the endpoint.

open
required
boolean

Whether the endpoint is open or close. If True, the endpoint is open. If False, the endpoint is close.

mode
string
Enum: "classic" "hidden"

Specify the open mode of the endpoint, default value is 'classic'. If the mode is 'hidden' the endpoint dont need to have schedule to validate tickets

Responses

Request samples

Content type
application/json
{
  • "open": true
}

Response samples

Content type
application/json
{
  • "endpointId": "endpointId1",
  • "queueId": "queueId1",
  • "placeId": "placeId1",
  • "name": {
    },
  • "state": 0,
  • "config": {
    }
}

LOGOUT ENDPOINTS (HIDDEN)

Use this route to logout using its endpoint ID. (hidden route - documentation not needed)

Authorizations:
api_key
path Parameters
endpointId
required
string

The ID of the endpoint.

Responses

Request samples

curl -X PUT \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/endoints/{endpointId}/logout

Response samples

Content type
application/json
{
  • "endpointId": "endpointId1",
  • "queueId": "queueId1",
  • "placeId": "placeId1",
  • "name": {
    },
  • "state": 0,
  • "config": {
    }
}

GET AN ENDPOINT

Use this routes to get an endpoint, using its endpoint ID. Received event on opening, closing, update and time slots update of the endpoint

Authorizations:
api_key
path Parameters
endpointId
required
string

The ID of the endpoint.

query Parameters
langs
Array of strings
Items Enum: "fr_FR" "en_US" "es_ES" "de_DE" "zh_CN" "zh_TW" "ja_JP" "ko_KR" "th_TH"

An array of locales, used to get the translated names of the data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/endpoints/{endpointId}/sse

Response samples

Content type
application/json
{
  • "endpointId": "endpointId1",
  • "queueId": "queueId1",
  • "placeId": "placeId1",
  • "name": {
    },
  • "state": 0,
  • "config": {
    }
}

GET THE TIME SLOTS OF AN ENDPOINT

Use this route to get the time slots of an endpoint, using its endpoint ID.

Authorizations:
api_key
path Parameters
endpointId
required
string

The ID of the endpoint.

query Parameters
startAt
string

The start date of the time slot to select data.

endAt
string

The end date of the time slot to select data.

Responses

Request samples

curl -X GET \
 -H "Content-Type: application/json" \
 https://api-validation.lineberty.net/v1/endpoints/{endpointId}/timeslots

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

SET THE TIME SLOTS OF AN ENDPOINT

Use this route to set the time slots of an endpoint, using its endpoint ID.

Authorizations:
api_key
path Parameters
endpointId
required
string

The ID of the endpoint.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

Sets the endpoint time slots.

startAt
required
string (IsoDate)

A date (ISO-8601).

endAt
required
string (IsoDate)

A date (ISO-8601).

required
Array of objects (TimeslotArray)

An array of time slots ordered by startAt ASC.

Responses

Request samples

Content type
application/json
{
  • "startAt": "2018-09-01T12:00:00:00,0000+0200",
  • "endAt": "2018-09-01T12:00:00:00,0000+0200",
  • "newTimeslots": [
    ]
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

DELETE THE TIME SLOTS OF AN ENDPOINT

Use this route to delete the time slots of an endpoint, using its endpoint ID.

Authorizations:
api_key
path Parameters
endpointId
required
string

The ID of the endpoint.

header Parameters
Authorization
required
string
Example: Bearer <TOKEN>

You get the user's JWT token from /createUser

Request Body schema: application/json
required

Deletes the time slots of an endpoint.

startAt
required
string (IsoDate)

A date (ISO-8601).

endAt
required
string (IsoDate)

A date (ISO-8601).

Responses

Request samples

Content type
application/json
{
  • "startAt": "2018-09-01T12:00:00:00,0000+0200",
  • "endAt": "2018-09-01T12:00:00:00,0000+0200"
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]