# Get a Signing Check

> Coming soon, upon request — this feature is turned on for your tenant by the Aurea team. [Contact us](https://www.aureahub.com/contact)

What the message rules, the exact approvals or the server's build of a swap said at one signing point — the check a refusal names in `details.checkId`.

## Overview

- Every refusal of the [signing rules](https://docs.aureahub.com/docs/guide-signing-rules.md) carries `details.checkId`: the check Aurea kept of it. This route answers it — the fields of an entry of `signingChecks` ([Get an Operation](https://docs.aureahub.com/docs/operation-get.md), Signing Checks) — with `operationId`.
- `operationId`: the operation the check belongs to, when the call had one — then the check is in that operation's `signingChecks` too, a refused one included. `null` when the call had none: most refusals come before an operation is recorded, and some signing points record none.
- A user reads the checks of their own wallets and operations; the tenant roles that read the tenant's transactions — `owner`, `tenantadmin`, `non_signing_admin`, `signer`, `approver`, `editor`, `viewer`, `auditor` — read every check of the tenant. Another user's, another tenant's, or an id that is none: `404` `SIGNING_CHECK_NOT_FOUND`.
- Checks are kept only for the signing rules your tenant has in `log` or `enforce` — the message rules and swaps built on the server are in `log` for every tenant ([Signing Rules](https://docs.aureahub.com/docs/guide-signing-rules.md)).

## Endpoint

### `GET /v1/operations/signing-checks/{checkId}`

Authentication: bearer token required.

One signing check by its id, with the operation it belongs to.

**Path parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `checkId` | string (uuid) | yes | The check's id: a refusal's `details.checkId`, or an entry's `id` in `signingChecks` |

**Responses**

`200` OK

```json
{
  "id": "b81f2c64-9d3e-4a57-8c10-5e7a2f9d4b36",
  "point": "dapp_personal_sign",
  "control": "message_signing",
  "mode": "enforce",
  "subject": "personal_sign",
  "verdict": "refused",
  "code": "PERSONAL_SIGN_NOT_ALLOWED",
  "rule": null,
  "details": { "bytes": 87, "reasons": ["dapp_not_enabled"] },
  "createdAt": "2026-10-13T10:12:40.511Z",
  "operationId": null
}
```

`404` Not found

```json
{
  "statusCode": 404,
  "error": "NotFoundError",
  "message": "Signing check not found",
  "details": { "code": "SIGNING_CHECK_NOT_FOUND" }
}
```

**Example request**

```bash
curl https://api.aureahub.com/v1/operations/signing-checks/b81f2c64-9d3e-4a57-8c10-5e7a2f9d4b36 \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

---

Web version: https://docs.aureahub.com/#operation-signing-check
