Availability

Correct or close an unavailability

With action: "edit" it corrects the dates or the type; with action: "finish_now" it closes it at this instant, which is the "came back early" case.

Tool
filmo_unavailabilities_update
Access: Write

Result

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_unavailabilities_update",
    "arguments": {
      "unavailabilityId": "unav_8f2a1c",
      "action": "edit",
      "expectedUpdatedAt": "2026-09-01T08:00:00Z"
    }
  }
}

generated from the schema

expectedUpdatedAt is the optimistic lock: copy it from the read and, if someone touched it in the meantime, the request is rejected with 409 conflict and nothing is written; read it again and retry. edit only applies to a manual unavailability that has not started yet: one created by a task or by a schedule is changed from its source, and one already started can only be closed; both respond 409. Its new start has to be later than now and its end after its start (400 validation_error with errors[0].path on the field, as with an absenceType of another resource type), and on a space the new window cannot fall on its bookings (409). finish_now only closes an unavailability in progress —unavailable, already started and not yet ended—, also one that comes from a schedule; any other responds 409, and so does one created by a task. warningCount is always 0 here: overlapping commitments are counted when the unavailability is declared. On a space it responds 503 service_unavailable while space unavailabilities are switched off for the account.

Arguments

unavailabilityIdstringRequired

Unavailability identifier.

Limits: min length 1

actionstringRequired

"edit" corrects the unavailability; "finish_now" closes it right now.

Available options: edit, finish_now

expectedUpdatedAtstring<date-time>Required

Last modification date you read. If it does not match, the request is rejected.

startDatestring<date-time>

New start.

endDatestring<date-time>

New end.

absenceTypestring | null

New absence type; null clears it.

Available options: vacation, sick, personal, training, maintenance, inspection, repair, reserved, academic, event, closure, other

reasonstring | null

New reason; null clears it. Not returned by the API.

Limits: max length 500

idempotencyKeystring

Idempotency key chosen by the client (a UUID is recommended). Repeating the same key with the same arguments within 24 h returns the stored response without executing again; with different arguments it responds 422. It is the safe way to retry after a network failure.

Limits: min length 1, max length 255

Result

On success the result carries structuredContent with data and meta. These are the attributes of data.

Show the attributes of data
availabilityobject

The unavailability as it now stands.

Show child attributes
availability.idstring

Unique identifier of the unavailability.

availability.resourceTypestring

Which resource: staff, vehicle or space.

availability.resourceIdstring

Identifier of that resource.

availability.resourceNamestring | null

Resource name; null if not recorded.

availability.startDatestring<date-time>

Start of the unavailability in ISO 8601 UTC.

availability.endDatestring<date-time>

End of the unavailability in ISO 8601 UTC.

availability.statestring

Declared state. This list only returns unavailable windows that have not ended yet, so it is always unavailable here; available and unknown exist as declarations but are not listed.

availability.absenceTypestring | null

Absence type. Only emitted for vehicles and spaces, where it is operational; for staff it is health data and is returned as null.

availability.updatedAtstring<date-time> | null

Last modification in ISO 8601 UTC; null if not recorded.

warningCountinteger

Commitments of the resource that overlap this unavailability.

An error is a result with isError: true and the problem in content[0].text; there is no structuredContent. See Errors.

The same operation by REST

This tool runs PATCH /api/v1/availability/unavailabilities/{unavailabilityId}.

  • Availability

    Correct or close an unavailability

    With action: "edit" it corrects the dates or the type; with action: "finish_now" it closes it at this instant, which is the "came back early" case.

  • Guides

    Safe writes

    An assistant that can write can also write the wrong thing. Decide which tools need a person, retry without duplicating, and know what a write sets in motion.

  • Guides

    Errors

    A tool error is a result with isError: true and the problem in the first text block. Branch on its code.