Load a list of clients from your server

When CorbaTime sends the POST field action=get_clients, your server replies with a JSON object containing a clients array. Each client has a name, an internal_id and a defaultDescription, and timers in the app can then be linked to that client.

Last updated: 15 October 2026

The request

After checking the login details (see Step 1), read the POST parameter action. To fetch the clients that your timers can connect to, the app sends action=get_clients. No other fields are sent for this action, apart from the username and password if you use that login method.

The response

The app expects a JSON object with a clients array. For example:

{
    "clients": [
        {
            "name": "Client 1 name",
            "internal_id": 1,
            "defaultDescription": "DD-MM Worked hours"
        },
        {
            "name": "Client 2 name with hour rate",
            "internal_id": 2,
            "defaultDescription": "DD-MM Worked hours"
        },
        {
            "name": "Client 17 name with hour rate",
            "internal_id": 17,
            "defaultDescription": "DD-MM Worked hours"
        }
    ]
}

Each client in the array has these fields. Keep the key names exactly as shown, the app decodes these exact names:

KeyTypeMeaning
namestringThe client name shown in the app.
internal_idintegerYour own ID for this client. A pushed timer sends it back as client_id (see Step 3).
defaultDescriptionstring (may be empty)The default name/description for new timers of this client. Note the camelCase key, even if your database column is snake_case.

Date placeholders in defaultDescription

The defaultDescription you provide will be added as the name/description of the timer. DD-MM or MM-DD at the start of the description will be replaced with the date the timer started. For example, starting a timer today will result in a name/description of 03-11 for DD-MM or 11-03 for MM-DD.

Errors

If something goes wrong, reply with a status outside the 2xx range and a JSON error, for example {"error":"Database unavailable"}. The app shows the text of the error key.

Other instructions:
Step 1: Login methods explanation
Step 2: Load a list of clients
Step 3: Process a pushed timer

You can test your server via this page