When to use this endpoint

Use this lightweight local check before preview. It reports persisted mapping state; it does not contact the provider, validate answers or report queue progress.

Authentication and permissions

Authenticate with signed API-key fields or a logged-in CRM session; session dispatch applies CSRF checks. The authenticated tenant must have features2.ukDigitalWasteManagement=1. The feature is read from the account record, not trusted from request input.

Requires Jobs View through Core_requirePermission('view', 'pageJobs').

Job reads and mutations enforce the authenticated tenant, active Job, TeamAccess department/assignment scope and the legacy department-based customer boundary. Collections filter before counts/pagination; explicit Job and cancellation requests check access before a service call or queue mutation.

Parameters

ParameterTypeRequiredDescription
job_idInteger-compatibleYesNonzero converted ID of a non-deleted tenant Job. Negative values reach the lookup and normally return job not found.

Example request

$result = FM_api('DigitalWasteTracking_status', [
	'job_id'=>'1042',
]);

Example response

{
  "ok": 1,
  "configured": true,
  "completed": true,
  "submission_mode": "manual",
  "profile_id": "aaaaaaaaaaaaaaaa",
  "profile_name": "North receiving site",
  "submitted": false,
  "ambiguous": false,
  "tracking_id": "",
  "submitted_at": 0
}

Errors and unusual responses

ResponseCondition
{"error":"not logged in"}No authenticated tenant context is available. Invalid signed credentials can be rejected by the dispatcher before the handler runs.
{"error":"UK Digital Waste Tracking is not enabled for this account"}The account feature is disabled.
{"error":"missing or invalid parameter: job_id"}The converted job_id is zero.
{"error":"job not found"}The local Job is absent or deleted.
{"error":"permission denied"}The required page action is absent; the shared permission helper retains its legacy roleless fallback.
{"error":"job not found or outside your record scope"}The explicit Job or queue’s Job is missing, deleted or hidden by record scope. Bulk queueing reports this per Job.

Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.

Behaviour and edge cases

  • configured is true only when the Job Form metadata has enabled=1. completed is true for canonical Job statuses 1 Complete and 2 Processed; custom/other status numbers are not eligible completion states.
  • Reads the latest Job api_syncs mapping by id. profile: is submitted; ambiguous and ambiguous: set ambiguous=true and submitted=false even when a tracking ID remains. submitted_at is mapping cdate in Unix seconds, not proof of the provider’s actual receipt time.
  • Before first submission, profile resolution is saved Job override (last colon-delimited component), then Form profile, then account default. After mapping, the recorded immutable profile wins; legacy blank/other instances use legacy-default. Missing profile names display Archived receiving site and missing modes default manual.
  • There is no queue field, readiness validation, default pagination or provider lookup. submitted=true describes the retained local mapping and may include an archived profile. It is not a fresh external confirmation.

See it in Fieldmotion

CRM1

No direct CRM1 caller was found in the production JavaScript source. The operator workflow is implemented in CRM2.

CRM2

Open a configured Job Form. CRM2 calls DigitalWasteTracking_status before presenting receipt preview/submit/update controls; filter by job_id in the network panel.

Related endpoints