# An Operation's Institution Callback

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

For the operations your institution callback held: the request it was held on, and — once your endpoint approved and the operation went on — the answer the call would have given.

## Overview

- **Where your tenant has institution callbacks** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): a tenant on the institutional security profile whose endpoint answers `RETRY` at a money route's first signature gets `202` with `subState` `awaiting_callback` ([Institution Callback & Co-Signer](https://docs.aureahub.com/docs/guide-institution-callback.md) › RETRY: Held or Asked Again). Until then no operation is held this way, and this route answers `404`.
- **The request** the operation was held on — the newest, if it was held more than once: `requestId` (the `202`'s `callback.requestId`, the `requestId` your endpoint was asked with), `environment`, `status` (`pending`, `approved`, `rejected`, `expired`, `failed` or `cancelled`), `attempts`, `nextPollAt` (when your endpoint is asked again, while `pending`), `deadlineAt`, `reason` (the reason code your endpoint's answer gave) and `decidedAt`.
- **`result`**: `null` until the approved operation went on; then `{ "status", "body" }`, the answer the call would have given — for a **client-side or MPC wallet**, the prepared transaction (or permit) to sign, with `preparedTxId`, `txHashToSign` (or `permitHashToSign`) and `expiresAt`: sign it and send it with the call's own broadcast route before `expiresAt` (the broadcast refuses it after, as any preparation); an MPC wallet starts its signing ceremony with that digest before `expiresAt`, and your endpoint is not asked again. For a custodial wallet, the transaction sent; or the error the call would have answered.
- **Who reads it**: the operation's initiator, and the tenant roles that read the tenant's transactions for every operation of the tenant — the readers of [Get Its Approval](https://docs.aureahub.com/docs/operation-approval.md). Anyone else, an operation no callback held, or one that doesn't exist: `404` `INSTITUTION_CALLBACK_REQUEST_NOT_FOUND` (`No institution callback request held this operation here`).
- Every request asked of your endpoint, held or not, is in [Institution Callback › List Requests](https://docs.aureahub.com/docs/institution-callback-requests.md), for your administrators; an approval's hold has its own view, [Get Its Approval](https://docs.aureahub.com/docs/operation-approval.md).

## Endpoint

### `GET /v1/operations/{id}/callback`

Authentication: bearer token required.

The institution callback request an operation was held on, and the answer it went on with.

**Path parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string (uuid) | yes | The operation's id: the `202`'s `operationId` |

**Responses**

`200` Approved, prepared

```json
{
  "operationId": "1d7a3c52-8e4b-4f19-a0c6-2b9e7d5f3a18",
  "requestId": "8a3e5c71-2d9b-4f06-b1e8-4c7a9d2f6e15",
  "environment": "production",
  "status": "approved",
  "attempts": 3,
  "nextPollAt": null,
  "deadlineAt": "2026-10-16T09:20:00.000Z",
  "reason": "manual_review_passed",
  "decidedAt": "2026-10-14T09:42:17.081Z",
  "result": {
    "status": 201,
    "body": {
      "id": "0b9d4c1e-3f6a-4b8e-9d2c-7a5e1f3b6c90",
      "txHash": null,
      "status": "pending",
      "…": "the other fields of Create Transaction's answer",
      "requiresClientSigning": true,
      "gasless": false,
      "preparedTxId": "5e0f7b8a-1c2d-4e3f-8a9b-0c1d2e3f4a5b",
      "txHashToSign": "0x4a7d…",
      "chainId": 100,
      "expiresAt": "2026-10-14T09:47:18.512Z"
    }
  }
}
```

`200` Pending

```json
{
  "operationId": "1d7a3c52-8e4b-4f19-a0c6-2b9e7d5f3a18",
  "requestId": "8a3e5c71-2d9b-4f06-b1e8-4c7a9d2f6e15",
  "environment": "production",
  "status": "pending",
  "attempts": 2,
  "nextPollAt": "2026-10-14T09:31:00.000Z",
  "deadlineAt": "2026-10-16T09:20:00.000Z",
  "reason": "awaiting_kyc_refresh",
  "decidedAt": null,
  "result": null
}
```

`404` Not held

```json
{
  "statusCode": 404,
  "error": "NotFoundError",
  "message": "No institution callback request held this operation here",
  "details": { "code": "INSTITUTION_CALLBACK_REQUEST_NOT_FOUND" }
}
```

---

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