IntegrationsList external systems

List external systems

Lists the external systems registered in the account, ordered by name.

Returns every external system of the account — the ones TimeLog's built-in integrations created (one per integration handler, e.g. "e-conomic <site>_v1", "Microsoft Dynamics 365 Business Central <site>_v1") and any an integrator registered itself. This is the lookup for the ExternalSystemID used by the external-key endpoints of time registrations, projects and tasks, and by integration conflicts.

Use it to:

  • At integration start-up: find the ExternalSystemID your integration registered earlier (match on the ID you stored, not on the name — names are not unique).
  • Check whether your system is already registered before calling create, so a restart does not register a duplicate.
  • Build an admin view of which systems hold keys in this account.

Not for:

  • Reading the key mappings themselves → the external-keys endpoints of time registrations, projects and tasks.

Behaviour:

  • Idempotent.
  • Safe to retry.
  • Duplicates: Several systems may share a name.
  • Changes are visible to the next read immediately.

Next: GET /v1/external-systems/{externalSystemID}, POST /v1/external-systems

See also: PUT /v1/time-registration/{timeRegistrationID}/external-keys, PUT /v1/project/{projectID}/external-keys, PUT /v1/task/{taskID}/external-keys

curl -X GET "https://app3.timelog.com/your-account/api/v1/external-systems?$page=1&$pagesize=10" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "Properties": {
    "TotalRecord": "example_string",
    "TotalPage": "example_string",
    "PageNumber": "example_string"
  },
  "Entities": [
    {
      "Properties": {
        "ID": 123,
        "Name": "John Doe",
        "Description": "example_string",
        "IsSystemExternalSystem": true
      },
      "Links": [
        {
          "Href": "example_string",
          "Rel": "example_string"
        }
      ],
      "Actions": [
        {}
      ]
    }
  ],
  "Links": [
    {
      "Href": "example_string",
      "Rel": "example_string"
    }
  ]
}
GET
/v1/external-systems
GET
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

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.

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.
query
$pageinteger

Page number.

query
$pagesizeinteger

Page size. No maximum enforced in the API layer; with more than 10 systems, raise it or page.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

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.

Query Parameters

$pageinteger

Page number.

$pagesizeinteger

Page size. No maximum enforced in the API layer; with more than 10 systems, raise it or page.

Responses

Propertiesobject

Paging values. They are returned as STRINGS, for example "TotalRecord": "12".

Entitiesarray

Omitted (not []) when the list is empty.

Linksarray