Files

Upload documents and media once, then refer to them by file_id in any request.

    Create a file upload

    POST/v1/files

    Returns an upload_url to PUT the bytes to (send the upload_headers), then call POST /files/{id}/complete. Requires any write scope. Retrying with the same Idempotency-Key and body returns the same file.

    Headers

    Create a file upload: headers
    FieldDetails
    Idempotency-KeystringRequiredA unique key per new file.
    EduMark-VersionenumAPI version. Defaults to the latest.One of 2026-10-21

    Request body

    Create a file upload: request body
    FieldDetails
    filenamestringRequiredUp to 200 characters
    mime_typestringRequiredUp to 150 characters
    size_bytesintegerRequired1 to 2,147,483,648

    Responses

    StatusMeaning
    201Successful Response
    400Request rejected. Inspect error.code and request_id; failed work is not billed.
    401Request rejected. Inspect error.code and request_id; failed work is not billed.
    402Request rejected. Inspect error.code and request_id; failed work is not billed.
    403Request rejected. Inspect error.code and request_id; failed work is not billed.
    404Request rejected. Inspect error.code and request_id; failed work is not billed.
    409Request rejected. Inspect error.code and request_id; failed work is not billed.
    410Request rejected. Inspect error.code and request_id; failed work is not billed.
    413Request rejected. Inspect error.code and request_id; failed work is not billed.
    415Request rejected. Inspect error.code and request_id; failed work is not billed.
    422Validation Error
    429Request rejected. Inspect error.code and request_id; failed work is not billed.
    503Request rejected. Inspect error.code and request_id; failed work is not billed.

    Upload file bytes (when no presigned URL is used)

    PUT/v1/files/{file_id}/content

    Send the raw bytes as the request body, at most 20 MiB.

    Parameters

    Upload file bytes (when no presigned URL is used): parameters
    FieldDetails
    file_idstringRequired

    Headers

    Upload file bytes (when no presigned URL is used): headers
    FieldDetails
    EduMark-VersionenumAPI version. Defaults to the latest.One of 2026-10-21

    Responses

    StatusMeaning
    200Successful Response
    400Request rejected. Inspect error.code and request_id; failed work is not billed.
    401Request rejected. Inspect error.code and request_id; failed work is not billed.
    402Request rejected. Inspect error.code and request_id; failed work is not billed.
    403Request rejected. Inspect error.code and request_id; failed work is not billed.
    404Request rejected. Inspect error.code and request_id; failed work is not billed.
    409Request rejected. Inspect error.code and request_id; failed work is not billed.
    410Request rejected. Inspect error.code and request_id; failed work is not billed.
    413Request rejected. Inspect error.code and request_id; failed work is not billed.
    415Request rejected. Inspect error.code and request_id; failed work is not billed.
    422Validation Error
    429Request rejected. Inspect error.code and request_id; failed work is not billed.
    503Request rejected. Inspect error.code and request_id; failed work is not billed.

    Finish an upload

    POST/v1/files/{file_id}/complete

    Checks the size, the real file type and runs a malware scan. status is ready, scanning (poll GET /files/{id}) or rejected.

    Parameters

    Finish an upload: parameters
    FieldDetails
    file_idstringRequired

    Headers

    Finish an upload: headers
    FieldDetails
    EduMark-VersionenumAPI version. Defaults to the latest.One of 2026-10-21

    Responses

    StatusMeaning
    200Successful Response
    400Request rejected. Inspect error.code and request_id; failed work is not billed.
    401Request rejected. Inspect error.code and request_id; failed work is not billed.
    402Request rejected. Inspect error.code and request_id; failed work is not billed.
    403Request rejected. Inspect error.code and request_id; failed work is not billed.
    404Request rejected. Inspect error.code and request_id; failed work is not billed.
    409Request rejected. Inspect error.code and request_id; failed work is not billed.
    410Request rejected. Inspect error.code and request_id; failed work is not billed.
    413Request rejected. Inspect error.code and request_id; failed work is not billed.
    415Request rejected. Inspect error.code and request_id; failed work is not billed.
    422Validation Error
    429Request rejected. Inspect error.code and request_id; failed work is not billed.
    503Request rejected. Inspect error.code and request_id; failed work is not billed.

    Get a file

    GET/v1/files/{file_id}

    Parameters

    Get a file: parameters
    FieldDetails
    file_idstringRequired

    Headers

    Get a file: headers
    FieldDetails
    EduMark-VersionenumAPI version. Defaults to the latest.One of 2026-10-21

    Responses

    StatusMeaning
    200Successful Response
    400Request rejected. Inspect error.code and request_id; failed work is not billed.
    401Request rejected. Inspect error.code and request_id; failed work is not billed.
    402Request rejected. Inspect error.code and request_id; failed work is not billed.
    403Request rejected. Inspect error.code and request_id; failed work is not billed.
    404Request rejected. Inspect error.code and request_id; failed work is not billed.
    409Request rejected. Inspect error.code and request_id; failed work is not billed.
    410Request rejected. Inspect error.code and request_id; failed work is not billed.
    413Request rejected. Inspect error.code and request_id; failed work is not billed.
    415Request rejected. Inspect error.code and request_id; failed work is not billed.
    422Validation Error
    429Request rejected. Inspect error.code and request_id; failed work is not billed.
    503Request rejected. Inspect error.code and request_id; failed work is not billed.

    Delete a file

    DELETE/v1/files/{file_id}

    Parameters

    Delete a file: parameters
    FieldDetails
    file_idstringRequired

    Headers

    Delete a file: headers
    FieldDetails
    EduMark-VersionenumAPI version. Defaults to the latest.One of 2026-10-21

    Responses

    StatusMeaning
    200Successful Response
    400Request rejected. Inspect error.code and request_id; failed work is not billed.
    401Request rejected. Inspect error.code and request_id; failed work is not billed.
    402Request rejected. Inspect error.code and request_id; failed work is not billed.
    403Request rejected. Inspect error.code and request_id; failed work is not billed.
    404Request rejected. Inspect error.code and request_id; failed work is not billed.
    409Request rejected. Inspect error.code and request_id; failed work is not billed.
    410Request rejected. Inspect error.code and request_id; failed work is not billed.
    413Request rejected. Inspect error.code and request_id; failed work is not billed.
    415Request rejected. Inspect error.code and request_id; failed work is not billed.
    422Validation Error
    429Request rejected. Inspect error.code and request_id; failed work is not billed.
    503Request rejected. Inspect error.code and request_id; failed work is not billed.