Skip to main content
WEBHOOK

Body

application/json

The JSON body delivered to your webhook endpoint. All fields are strings. Location is expressed as a human-readable path — Forager has no GPS coordinates.

event
string
required

Always "attestation". Useful for routing if your endpoint receives multiple event types.

Allowed value: "attestation"
Example:

"attestation"

asset_tag
string
required

The barcode value of the scanned asset. Matches the asset_tag column in Forager's asset registry and in your CMDB.

Example:

"BIO-4721"

result
enum<string>
required

The outcome of the attestation evaluation:

  • match — the tech's current location matched the asset's recorded location.
  • mismatch_confirmed — the tech confirmed the asset is present but in the wrong location. The asset's location record is updated.
  • mismatch_dismissed — the tech dismissed the mismatch prompt without confirming. No location update.
  • new_asset — the scanned barcode was not in Forager's registry. A new asset record was auto-created at the tech's current location.
Available options:
match,
mismatch_confirmed,
mismatch_dismissed,
new_asset
Example:

"match"

location_path
string
required

Full location breadcrumb from the root node to the room where the tech was standing at the time of the scan. Segments are separated by " / ". Forager's location data is building/floor/room — there are no GPS coordinates.

Example:

"Memorial Hospital / Floor 3 / Biomedical Storage"

room
string
required

The leaf node of location_path — the room name only. Convenient for systems that store location as a single room field rather than a full path.

Example:

"Biomedical Storage"

tech_name
string
required

The display name of the team member who performed the scan.

Example:

"Maria Ortega"

confirmed_at
string<date-time>
required

ISO 8601 UTC timestamp of when the attestation was written to the database. Format: YYYY-MM-DDTHH:MM:SSZ.

Example:

"2026-06-07T14:23:11Z"

Response

Any 2xx status is treated as successful delivery. Forager does not retry on success.