Skip to main content

eva-sentry-api

EVA Sentry API v1.2 reference for collisionspike, covering authentication, the eight endpoint families, the canonical twelve-field payload, image ordering, idempotency, and server-side submission. Use when changing EVA contracts, services/functions/eva-sentry, or any submission caller.

Source facts

Repository
collisionengineers/collisionspike
Last source activity
July 15, 2026 at 05:54
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
eva-sentry-api
description
EVA Sentry API v1.2 reference for collisionspike, covering authentication, the eight endpoint families, the canonical twelve-field payload, image ordering, idempotency, and server-side submission. Use when changing EVA contracts, services/functions/eva-sentry, or any submission caller.
# EVA Sentry API v1.2 The field-level authority is the extracted current reference under `docs/reference`. The implementation authority is the contract in `packages/domain`, the JSON schema in `contracts`, and `services/functions/eva-sentry`. Read those before changing a caller. ## Authentication - Base URL: `https://sentry.evasoftware.co.uk/api/`. - Mint a token with `POST /Connect/token` using form fields `Client_Id` and `Client_Secret`. - Treat `expires_in` as minutes and refresh with a safety buffer. - Send `Authorization: Bearer <token>` on every other request. - Credentials are secret references and must never be logged, returned, or stored in fixtures. ## Endpoint families 1. `POST /Instruction/Inspection` creates an inspection instruction. 2. `POST /Claim/LocationUpdate` updates inspection location. 3. `POST /Claim/AuthorityStatusUpdate` updates repair authority. 4. `POST /Note/SubmitNote` submits notes and ordered files. 5. `POST /Claim/Update` updates claim lifecycle state. 6. `POST /Report/SubmitReport` submits a completed report. 7. `GET /Report/GetAvailableReports` lists released reports. 8. `GET /Report/GetReport?id={id}` retrieves one report. Check the current reference for exact target-key combinations and optional fields. ## Canonical twelve-field core Preserve this order and the existing JSON names: 1. Work Provider (required) 2. Vehicle Model 3. Claimant Name 4. Claimant Telephone 5. Claimant Email Address 6. Date of Loss (`DD/MM/YYYY`) 7. Date of Instruction (`DD/MM/YYYY`) 8. Accident Circumstances 9. Inspection Address (six newline-separated lines, or `Image Based Assessment`) 10. VAT Status (`""`, `Yes`, or `No`) 11. Mileage 12. Mileage Unit (`""`, `Miles`, or `Km`) Engineer allocation is not a submission field. The richer instruction body adds claim identity, vehicle identity, location, damage, cost, and file fields without changing this core. ## Images and idempotency - Send the overview with the full registration visible and the main-damage closeup as the two previews, then send the full ordered set including those images. - Exclude any image showing a person's reflection. - Preserve sequence indices and filename extensions. - Use the finalized payload hash as the idempotency key. - The production caller is the orchestration service; the server-side EVA function owns token lifecycle and credentials. Keep `EVA_API_ENABLED` default-off until the approved environment is configured and the contract tests pass. Record functional mismatches in their ticket instead of changing an external route or body during unrelated cleanup.
View on GitHub