Deze referentie is alleen in het Engels. Naar het Nederlandse REST API-overzicht

Diese Referenz gibt es nur auf Englisch. Zur deutschen REST-API-Übersicht

Cette référence existe uniquement en anglais. Aller à la présentation de l'API REST en français

Esta referencia solo está en inglés. Ir a la introducción de la API REST en español

PATCH/drive-items/{drive_item}

Update a drive item

PATCHhttps://<your-url>/api/v2/drive-items/{drive_item}

MCP id drive-items.updateAlso on this path: GET Read a drive item, DELETE Archive a drive item

View as Markdown openapi.json

Partially updates a drive item: absent keys are untouched, an empty body is rejected.

Access

Permission
project_drive::create

Without it: 403 insufficient-permission.

Rate cost
1 unit, write bucket. A write costs the same whatever view you ask for.
Also
Accepts If-Match. Never cached: private, no-store. Unknown body keys are refused, never dropped.

Both are checked, scope first. A token never does more than its user. How access is checked

title, group, folder_id and tag_ids are the writable keys; tag_ids replaces the whole tag set. Moving an item to another folder within the same drive is folder_id: the folder must belong to the same owner and be one you can edit. Moving an item to a different drive is not possible in v2.0: neither half of the owner pair is accepted on a PATCH, so plnnrly's move-between-drives action has no API equivalent. The body is not writable here either (PATCH /api/v2/drive-documents/{drive_document} is the one route that writes a document body), and neither are kind, source, order_column, the content_record pair, general_access or inherits_permissions. Send If-Match with the ETag from your last read to detect a concurrent edit, which answers 412. Treat it as best-effort only: this resource carries no concurrency token and updated_at is second-precision, so two writes inside the same second are indistinguishable. The declared permission is project_drive::create (editing is part of the create permission), and it is a superset of what is checked: the record rule needs the owner type's {owner}_drive::access plus edit access on the item, which is exactly what plnnrly enforces.

Path parameters

drive_itemintegerRequired

The DriveItem's numeric id. Accepts a soft-deleted record.

Query parameters

Unknown parameters are refused with 400, naming the parameter.

viewstring

Which field set to render.

summarydetaildefault

trashedstring

Whether soft-deleted rows are included.

withoutdefaultwithonly

Request headers

X-Request-Idstringpattern

A correlation id of your own. It is recorded in our logs next to the server's request id but never returned: the response header always carries the server's id. A value that does not match the pattern is discarded silently, never rejected.

If-Matchstring

The ETag a write is conditional on. A stale validator is 412 precondition-failed.

Request body

Unknown keys are refused with 422, naming the key.

titlestring≤ 255

Item title.

groupstring or null≤ 255

Free-text grouping label shown in the drive tree.

folder_idinteger or null → DriveFolder.id

Folder this item sits in, or null at the drive root.

tag_idsarray of integer → Tag.id≤ 50

Tags on this item. An item takes at most 50 tags, so the include lists them all. tag_ids replaces the whole set.

Response 200

Returns a DriveItem in the detail view.

Headers

ETag
A strong validator of exactly this representation.
RateLimit
The IETF httpapi-ratelimit-headers form of your remaining allowance on the tightest bucket this request touched.
RateLimit-Policy
The ceiling and window of that bucket, as <limit>;w=<seconds>.
X-Request-Id
The server-generated ULID correlating this response with our logs.

Every response also carries Cache-Control, Vary, X-Content-Type-Options, X-Plnnrly-Api-Version, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. Headers and versioning

Errors

7 errors every operation can return: 400, 401, 404, 406, 429, 500, 503

This path allows GET, PATCH, DELETE. Anything else answers 405.