TeamGriddeveloper
put/time-entries/{id}/billingWrite operation

Update time-entry billing state

Atomically marks a time entry billed or unbilled. The supplied strong ETag must match the current billing subresource; stale concurrent requests fail without overwriting a newer decision.

Required scopes
time-entries:billing
Interactive request builder

Prepare this request

Build locally · nothing is sent
Region
Generated cURL

The builder does not execute requests or persist credentials. Replace the environment-variable placeholder only in your terminal or secret-aware runtime.

Path parameters

1
idrequired
string

Stable identifier of the resource in the authenticated workspace.

Headers

1
If-Matchrequired
string

Exactly one latest strong time-entry billing ETag. Wildcards, weak validators, lists, and surrounding whitespace are rejected.

Request body

application/json
billedrequired
boolean

true locks the time entry as billed; false unlocks it.

Responses

10
200The request to update time-entry billing state succeeded. The response contains the canonical public result and request metadata.application/json
Response schemaapplication/json
required
TimeEntryBilling

Conflict-safe billing and lock state for a time entry. TeamGrid currently has no separate approval state: billed means locked, and unbilled means editable subject to normal permissions.

required
ResponseMeta

Public API representation of meta.

400The request is invalid.application/json
Response schemaapplication/json
required
array<ApiError>

The errors associated with this error.

required
ResponseMeta

Request metadata, including the request identifier and pagination state when applicable.

401The bearer credential is missing, invalid, expired, or revoked.application/json
Response schemaapplication/json
required
array<ApiError>

The errors associated with this error.

required
ResponseMeta

Request metadata, including the request identifier and pagination state when applicable.

403The credential has insufficient scope.application/json
Response schemaapplication/json
required
array<ApiError>

The errors associated with this error.

required
ResponseMeta

Request metadata, including the request identifier and pagination state when applicable.

404The tenant-scoped resource does not exist.application/json
Response schemaapplication/json
required
array<ApiError>

The errors associated with this error.

required
ResponseMeta

Request metadata, including the request identifier and pagination state when applicable.

412The resource changed since the supplied revision.application/json
Response schemaapplication/json
required
array<ApiError>

The errors associated with this error.

required
ResponseMeta

Request metadata, including the request identifier and pagination state when applicable.

428A strong If-Match revision is required.application/json
Response schemaapplication/json
required
array<ApiError>

The errors associated with this error.

required
ResponseMeta

Request metadata, including the request identifier and pagination state when applicable.

429The credential or source exceeded its rate limit.application/json
Response schemaapplication/json
required
array<ApiError>

The errors associated with this error.

required
ResponseMeta

Request metadata, including the request identifier and pagination state when applicable.

502The cell-local application returned an invalid response.application/json
Response schemaapplication/json
required
array<ApiError>

The errors associated with this error.

required
ResponseMeta

Request metadata, including the request identifier and pagination state when applicable.

503A required cell-local dependency is unavailable.application/json
Response schemaapplication/json
required
array<ApiError>

The errors associated with this error.

required
ResponseMeta

Request metadata, including the request identifier and pagination state when applicable.

Documentation feedbackWas this page useful?
Esc

Search TeamGrid Developer

Find guides, concepts and every API operation.