Get the system legal entity
Returns the account's system (default) legal entity.
Returns the legal entity flagged IsSystemLegalEntity — the account's main company. When the multi-company feature (MultiLegalEntities) is off this is the only legal entity users can be created in.
Use it to:
- Get the LegalEntityID for user create on a single-company account
- Read the account's base currency and country
Behaviour:
- Idempotent.
- Safe to retry.
- Changes are visible to the next read immediately.
Next: POST /v1/user/create
See also: GET /v1/legal-entity, GET /v1/legal-entity/{legalEntityId}
Not yet documented: behaviour → consistency detail.
curl -X GET "https://app3.timelog.com/your-account/api/v1/legal-entity/system" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://app3.timelog.com/your-account/api/v1/legal-entity/system"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://app3.timelog.com/your-account/api/v1/legal-entity/system", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://app3.timelog.com/your-account/api/v1/legal-entity/system", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://app3.timelog.com/your-account/api/v1/legal-entity/system')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"Properties": {
"LegalEntityID": 123,
"Name": "John Doe",
"IsActive": true,
"ID": "123e4567-e89b-12d3-a456-426614174000",
"CurrencyID": 123,
"CurrencyISO": "example_string",
"CountryISO": "USA",
"IsSystemLegalEntity": true
},
"Links": [
{
"Href": "example_string",
"Rel": "example_string"
}
],
"Actions": [
{}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
/v1/legal-entity/system
Target server for requests. Edit to use your own host.
OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).
The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.
> Not yet documented: how to obtain a token.
> Not yet documented: token lifetime.
Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).
The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.
> Not yet documented: how to obtain a token.
> Not yet documented: token lifetime.Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).
The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.
Not yet documented: how to obtain a token.
Not yet documented: token lifetime.
Responses
A legal entity is a company inside one TimeLog account (multi-company set-up, feature MultiLegalEntities). Every user, and therefore every employee, belongs to exactly one legal entity; hourly rates and cost prices are defined per legal entity, and the legal entity's currency is the currency its users' amounts are reported in. Every account has exactly one system (default) legal entity, also when MultiLegalEntities is off.
Not yet documented: description.