ProjectsGet an allocation

Get an allocation

Returns one allocation (a user's planned hours, rate and period on a task) by its AllocationID.

Reads one allocation as AllocationRead — the same shape as the task-scoped allocation list. Unknown IDs answer 404. The caller needs project privileges on the allocation's task's project (the same gate as the task allocation routes); read access alone is not enough.

Use it to:

  • Read back an allocation before changing it (GET-modify-PUT)
  • Resolve the AllocationID returned in a 409 from POST /v1/task/{taskID}/allocation

Not for:

  • All allocations of a task → GET /v1/task/{taskID}/allocation

Behaviour:

  • Idempotent.
  • Safe to retry.
  • Changes are visible to the next read immediately.

Call first: GET /v1/task/{taskID}/allocation

Next: PUT /v1/allocation/{allocationID}, POST /v1/allocation/{allocationID}/validate-delete

See also: POST /v1/task/{taskID}/allocation

Not yet documented: examples.

curl -X GET "https://app3.timelog.com/your-account/api/v1/allocation/123" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "Properties": {
    "AllocationID": 123,
    "TaskID": 123,
    "UserID": 123,
    "AllocatedHours": 3.14,
    "RegisteredHours": 3.14,
    "HourlyRateID": 123,
    "HourlyRateName": "null",
    "HourlyRateAmount": 3.14,
    "HourlyRateCurrencyAbb": "example_string",
    "StartDate": "null",
    "EndDate": "null",
    "IsRecurring": true,
    "IsCompleted": true
  },
  "Links": [
    {
      "Href": "example_string",
      "Rel": "example_string"
    }
  ],
  "Actions": [
    {}
  ]
}
GET
/v1/allocation/{allocationID}
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.
path
allocationIDinteger
Required

The allocation to read. Route constraint :int.

Format: int32
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.

Path Parameters

allocationIDinteger
Required

The allocation to read. Route constraint :int.

Responses

Propertiesobject

One user's allocation on a task: planned (allocated) hours, hours already registered, the contract hourly rate with its name, amount and currency, the allocation period, and whether it is recurring or completed.

Linksarray
Actionsobject[]