Push the rep's device annotations

PIT-8968. Replaces the annotations the caller drew on this iPad (customData.PitAnnOrigin == "iOS" and customData.PitAnnDeviceId == device_id) in their personal annotation layer of this PDF, and sets the form values they filled; annotations from the web, other devices or without a device id are untouched. Idempotent: ids are kept. Only when the instance setting enable_rep_annotations_in_shared_links is on; otherwise 204 and nothing happens. 204 when everything was stored; 200 {"dropped": n} when n records could not be stored (invalid, not device-drawn, off the document's pages, or refused by the document service) and were skipped; 400 for a non-PDF or a PDF without a document; 400 when the document service refuses them for good, or 400 {"detail": "too_many_refused_annotations"} when it refuses so many that some were dropped untried; 403 for a machine token; 409 {"detail": "content_version_mismatch"} when content_version is not the file's current version (nothing written); 413 above 5 MB; 503 + Retry-After when the document service is overloaded (not one annotation could be stored) or the file's annotations are being updated.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

A unique value identifying this file.

Body Params

Body of PUT /api/v1/files/{id}/personal-annotations/ (PIT-8968).

string
required
length between 1 and 128

The pushing device's stable id. The push replaces only the annotations stamped with it (customData.PitAnnDeviceId); a pushed annotation without a device id is stamped with it.

string | null

The file version (version_object_id) the annotations were drawn on. When given and it is not the file's current version, the push is refused with 409 {"detail": "content_version_mismatch"} and nothing is written.

instant_json
object
required

Instant JSON of every annotation the rep drew on this device (customData.PitAnnOrigin == "iOS", each with its id) plus the form values they filled: annotations, optional attachments and formFieldValues. It replaces this device's annotations in the rep's personal layer; an empty annotations list clears them.

Responses

204

No response body

400

No response body

413

No response body

503

No response body

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json