v51

latestOpenAPI 3.0.1raw.githubusercontent.com2026-08-0118684573.2 KB
Draft Form

Uploading a Draft Form Attachment

To upload a binary to an expected file slot, POST the binary to its endpoint. Supply a Content-Type MIME-type header if you have one.

As of version 2022.3, if there is already a Dataset linked to this attachment, it will be unlinked and replaced with the uploaded file.

post/v1/projects/{projectId}/forms/{xmlFormId}/draft/attachments/{filename}

Path parameters

projectIdnumber required

The numeric ID of the Project

xmlFormIdstring required

The xmlFormId of the Form being referenced.

filenamestring required

The name of that attachment.

Response

OK

namestring required

The name of the file as specified in the XForm.

type'image' | 'audio' | 'video' | 'file' required
existsboolean required

True if the server has the file or the Attachment is linked to a Dataset, otherwise false.

blobExistsboolean required

True only when a file has been uploaded for this attachment slot. False when no file has been uploaded, or when the attachment is linked to a Dataset instead of a file.

datasetExistsboolean required

Whether attachment is linked to a Dataset.

sizeinteger nullable

The size of the uploaded file in bytes. Only present when blobExists is true. May be null for files on external blob store uploaded before version 2026.3.

updatedAtstring

ISO date format. The last time this file's binary content was set (POST) or cleared (DELETE).

Example response

{
  "name": "myfile.png",
  "exists": true,
  "blobExists": true,
  "datasetExists": true,
  "size": 4096,
  "updatedAt": "2018-03-21T12:45:02.312Z"
}