---
title: "Report a device attestation (endpoint agent check-in)"
method: POST
path: "/api/v1/agent/check-in"
tags: ["Agent"]
---

# Report a device attestation (endpoint agent check-in)

`POST /api/v1/agent/check-in`

## Request

- Base URL: `https://api.tuteliq.ai`
- URL: `https://api.tuteliq.ai/api/v1/agent/check-in`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

The tuteliq-agent CLI evaluates the org's device-safety policy locally and reports the pass/fail result here. One latest-state record is kept per device (upsert, no history). The org is derived from the authenticated API key — any org_id in the body is ignored. No user content is stored; only device posture (policy rule results, versions, platform).

## Request body

- object
  - `device_id` string, required: Stable non-PII device identifier (agent-generated hash).
  - `agent_version` string, required: Reporting agent version (e.g. "0.1.0").
  - `platform` string, required: OS platform (e.g. "darwin", "win32", "linux").
  - `policy_id` string, required: Identifier of the evaluated policy manifest.
  - `passed` boolean, required: True iff every policy rule passed.
  - `results` object[], required: Per-rule evaluation results.
    - `rule` object, required: The evaluated policy rule (posture check — process/file/version/OS). Never contains user content.
    - `passed` boolean, required
    - `detail` string: Human-readable reason the rule failed (omitted on pass).
  - `attested_at` string, required: ISO 8601 timestamp of the local evaluation.
  - `org_id` string: Ignored — the org is always derived from the API key. Never trusted from the body.

## Response `200`

Default Response

- object
  - `recorded` boolean
  - `expires_at` string: ISO 8601 expiry (attested_at + 90 days); Firestore TTL reaps the row after this.
  - `credits_used` number

## Changes

- **2026-10-19** `8490332e0031`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tuteliq/apis/tuteliq-api/changes/api/v1/agent/check-in/post.md)

---

[API](https://skmtc.dev/tuteliq/apis/tuteliq-api.md) · [All operations](https://skmtc.dev/tuteliq/apis/tuteliq-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tuteliq/apis/tuteliq-api/revisions/8490332e0031?raw)
