> For the complete documentation index, see [llms.txt](https://docs.bitbond.com/asset-tokenization-suite/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bitbond.com/asset-tokenization-suite/offering-manager/audit-trail.md).

# Audit Trail

Complete log of all admin and investor actions

The Audit Trail provides a complete, chronological record of all significant actions taken by admins and investors in your offerings. Use it to maintain compliance, investigate incidents, and monitor operational activity.

## Accessing the Audit Trail

1. Sign in to the Offering Manager at <https://om.bitbond.com>.
2. From the left-hand menu, select **Audit Trail**, or go directly to <https://om.bitbond.com/admin/audit-trail>.

## Event Types

The Audit Trail captures the following categories of events:

* **Status Change**\
  Updates to offering or order status (e.g. Draft → Active, Pending → Settled).
* **Bank Reconciliation**\
  Entries related to reconciliation of bank transfer payments.
* **Investor Created**\
  Manual creation of an investor by an admin.
* **Investor Edited**\
  Edits to an investor’s profile or KYC status by an admin.
* **KYC Override**\
  Manual override of an investor’s KYC result.
* **Order Created**\
  Manual order creation by an admin (including manual payment methods).
* **Order Edited**\
  Edits to an existing order by an admin (e.g. payment method, amount).
* **Order Placed**\
  Orders submitted by investors through the Invest Page.
* **Order Cancelled by Investor**\
  Investor-initiated cancellation of an order.
* **Cancellation Requested by Investor**\
  Investor requests cancellation of an order (pending admin approval).
* **Wallet Updated**\
  Investor-initiated changes to their wallet address or chain.
* **Profile Updated**\
  Investor-initiated edits to profile information.
* **API Trial Granted**\
  A trial period was granted to an API user.
* **API Trial Extended**\
  The trial period was extended for an API user.
* **API Trial Revoked**\
  The trial period was revoked for an API user.
* **Other Actions**\
  Any actions not covered above will appear under their raw action name.

## Filtering and Searching

Use the controls at the top of the page to narrow down entries:

* **Search**\
  Enter part of an actor’s name or email, an action label, or an entity ID. This full-text search is applied client-side.
* **Entity Type**\
  Choose **All Types**, **Investor**, or **Order** to filter entries by entity.
* **Refresh**\
  Click the Refresh icon to reload the current filter and page.
* **Pagination**\
  Navigate through pages of 30 entries each using the Prev/Next buttons.

## Reviewing Entries

Each row in the audit list shows:

* **Timestamp**\
  The date and time when the action occurred, formatted in your browser locale.
* **Actor**\
  The admin or investor who performed the action. If the system performed it automatically, the actor is shown as “System.”
* **Action Label**\
  A color-coded label corresponding to the event type.
* **Entity Details**\
  The type (Investor or Order) and the unique ID.
* **Change Details**\
  Click an entry to expand a diff view:
  * **New records**: all initial values in green.
  * **Updates**: old values in red with a strikethrough, new values in green, with field names in gray.

## Use Cases

* Conduct compliance audits of investor onboarding and order processing.
* Investigate exceptions in payment reconciliation, cancellations, and KYC overrides.
* Monitor manual actions by admins, such as creating investors or orders.

## API Access

For programmatic access to audit logs, browse the interactive API docs at <https://om.bitbond.com/api/docs>. Issuer and integration clients must call the API at <https://api.om.bitbond.com>.

### Endpoint

`GET https://api.om.bitbond.com/api/issuer/audit-logs`

### Query Parameters

* **entityType** (string)\
  Filter by entity type (`User` for investors, `Order`).
* **entityId** (string)\
  Filter by a specific entity ID.
* **actorId** (string)\
  Filter by the ID of the admin or system actor.
* **action** (string)\
  Filter by event action (e.g. `status_change`, `investor_place_order`, `investor_cancel_order`).
* **ipAddress** (string)\
  Filter entries by the actor’s IP address.
* **email** (string)\
  Filter entries where the new email value contains this substring.
* **offeringId** (string)\
  Scope logs to a particular offering. Only entries for orders and investors related to that offering are returned.
* **page** (integer)\
  Page number for pagination (default: 1).
* **limit** (integer)\
  Number of entries per page (1–100, default: 50).

### Example

```bash
curl "<https://api.om.bitbond.com/api/issuer/audit-logs?offeringId=123&page=2&limit=30&action=investor_cancel_order>"
```

#### Response

```json
{
  "logs": [ /* array of audit log records */ ],
  "total": 250,
  "page": 2,
  "limit": 30
}
```

For details on each log field, refer to the interactive docs at <https://om.bitbond.com/api/docs>.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bitbond.com/asset-tokenization-suite/offering-manager/audit-trail.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
