# Finish employees shift.

Stop employee shift. If employee shift is not started in moment of request the request is ignored.Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedAPI_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

Endpoint: POST /clockin/terminal/v1/clock-out
Version: v1
Security: basicAuth

## Request fields (application/json):

  - `person` (string, required)
    Employee identifier. You can use e-mail or external identifier in format (externalNumber:ABC123)
    Example: "john.white@mycompany.com"

  - `time` (string, required)
    Date and time of event occurence in ISO format.

## Response 200 fields (application/json):

  - `person` (object, required)
    Employee description

  - `person.firstName` (string, required)
    Employee first name
    Example: "John"

  - `person.lastName` (string, required)
    Employee first name
    Example: "White"

  - `shiftStatus` (string, required)
    Employee shift status after request
    Enum: "STARTED", "FINISHED"

## Response 400 fields (application/json):

  - `message` (string)
    Human readable error explanation.
    Example: "Api error"

  - `code` (string)
    Error code.
    Example: "INVALID_JSON_PAYLOAD"

  - `field` (string)
    Which field of payload object caused error. NULL when error is not related to particular field
    Example: "field"

## Response 401 fields (application/json):

  - `message` (string, required)
    Error details
    Example: "Authentication failure"

  - `code` (string, required)
    General type of error
    Example: "AUTH"

  - `field` (string)
    Leftover for backward compatibility

## Response 429 fields (application/json):

  - `code` (string, required)
    General type of error
    Example: "QUOTA_EXCEEDED"

  - `field` (string, required)
    Detailed info about quota and it's current usage
    Example: "Your current usage is 101/day, 10/hour, 1/sec\nYour current limits 100/day, 10/hour, 1/sec."

## Response 500 fields (application/json):

  - `message` (string, required)
    Error details
    Example: "An unexpected error occurred"

  - `code` (string, required)
    General type of error
    Example: "INTERNAL_SERVER_ERROR"

## Response 504 fields (application/json):

  - `message` (string, required)
    Error details
    Example: "Public API call exceeded timeout"

  - `code` (string, required)
    General type of error
    Example: "TIMEOUT"


## Response 403 fields
