Overview
Deltas represent incremental changes made to project data in QField. They are used for synchronization and conflict resolution between field devices and the cloud.List Deltas
/api/v1/deltas/{projectid}/
Get all deltas for a given project.
Path Parameters
The unique identifier of the project
Query Parameters
Number of results to return per page
The initial index from which to return the results
Response
Total number of deltas
URL to the next page of results
URL to the previous page of results
Array of delta objects
Unique delta identifier
ID of the deltafile containing this delta
Username of the user who created the delta
When the delta was created
When the delta was last updated
Delta status:
STATUS_PENDING, STATUS_BUSY, STATUS_APPLIED, STATUS_CONFLICT, STATUS_NOT_APPLIED, STATUS_ERROR, STATUS_IGNORED, or STATUS_UNPERMITTEDFeedback message about the delta processing
Internal status code
Detailed feedback object
Delta content with the actual changes
Upload Deltafile
/api/v1/deltas/{projectid}/
Upload a deltafile to the project. The deltafile contains multiple deltas representing changes made in QField.
Path Parameters
The unique identifier of the project
Request Body
JSON deltafile containing an array of deltas (multipart/form-data)
Deltafile Format
The deltafile must be a JSON file with the following structure:Response
Returns HTTP 200 OK on success. The deltas are created and an apply job is automatically triggered.Error Responses
List Deltas by Deltafile
/api/v1/deltas/{projectid}/{deltafileid}/
List all deltas belonging to a specific deltafile.
Path Parameters
The unique identifier of the project
The unique identifier of the deltafile
Query Parameters
Number of results to return per page
The initial index from which to return the results
Response
Returns a paginated list of delta objects with the same structure as the List Deltas endpoint.Apply Deltas (Deprecated)
/api/v1/deltas/apply/{projectid}/
Manually trigger delta application for a project.
Path Parameters
The unique identifier of the project
Response
Returns HTTP 200 OK when the apply job is triggered.Delta Statuses
Deltas can have the following statuses:- STATUS_PENDING: Delta is waiting to be processed
- STATUS_BUSY: Delta is currently being applied
- STATUS_APPLIED: Delta was successfully applied
- STATUS_CONFLICT: Delta conflicts with existing data
- STATUS_NOT_APPLIED: Delta was not applied (e.g., validation failed)
- STATUS_ERROR: An error occurred during processing
- STATUS_IGNORED: Delta was intentionally ignored
- STATUS_UNPERMITTED: User doesn’t have permission to apply this delta
Delta Methods
Deltas support the following methods:- create: Create a new feature
- patch: Update an existing feature’s attributes
- delete: Delete a feature