[beta] Create a tachograph file upload.

Reserve a tachograph file upload and return a presigned URL. Upload the file bytes directly to the URL with the returned headers. The driver or device the file belongs to is resolved from the file contents after upload.

Uploading the file

Once you have the uploadUrl and requiredHeaders from the response, PUT the raw file bytes directly to the URL — do not send the request through the Samsara API servers:

curl -X PUT "<uploadUrl>" \
  -H "Content-Type: <value from requiredHeaders>" \
  -H "Content-MD5: <value from requiredHeaders>" \
  -H "Content-Length: <value from requiredHeaders>" \
  --data-binary @/path/to/file.ddd

Every header listed in requiredHeaders must be sent verbatim — they are part of the URL signature, and the upload is rejected with a 403 if any header is missing or has a different value.

Retrieving uploaded files

A successful response to this request reserves the upload; it does not indicate that a file has been received or processed. Uploaded files are processed asynchronously after the PUT completes. Once a file has been processed, it can be retrieved through the standard tachograph file endpoints:

  • Driver-card filesGET /fleet/drivers/tachograph-files/history
  • Vehicle-unit filesGET /fleet/vehicles/tachograph-files/history

Files that cannot be processed — for example files that are corrupt, are not valid tachograph files, or cannot be matched to a driver or vehicle in your organization — are not retrievable through these endpoints.

Rate limit: 100 requests/min (learn more about rate limits here).

To use this endpoint, select Write Tachograph (EU) under the Compliance category when creating or editing an API token. Learn More.

Submit Feedback: Likes, dislikes, and API feature requests should be filed as feedback in our API feedback form. If you encountered an issue or noticed inaccuracies in the API documentation, please submit a case to our support team.

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

Request body for reserving a tachograph file upload.

string
required

Base64-encoded MD5 digest of the file bytes (base64(md5(bytes))). Used as the Content-MD5 integrity check enforced by object storage on upload.

string
enum
required

The MIME content type of the file. The upload is sent to object storage as raw bytes. Valid values: application/octet-stream

Allowed:
integer
required
1 to 10485760

The size of the file in bytes. Enforced as the Content-Length on upload. Maximum 10 MB (10485760 bytes).

string
enum
required

The kind of tachograph file being uploaded. The driver or device the file belongs to is resolved from the file contents, not from this field. Valid values: driverCard, vehicleUnit

Allowed:
Responses

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