> ## Documentation Index
> Fetch the complete documentation index at: https://docs.confidolegal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook Types

Make sure you configure Confido to send the webhook types you are interested in through the Partner Portal under `Settings > Webhooks`.

## disbursement.updated

Sent when a disbursement is updated.

```json theme={"system"}
{
  "data": {
    "disbursement": {
      "id": "string",
      "allowedMethods": "DisbursementMethod[]",
      "amount": "int",
      "authorizedIdentities": "array[]",
      "clientId": "string",
      "fundingAccountId": "string",
      "matterId": "string",
      "metadata": "object",
      "publicKey": "string",
      "status": "DisbursementStatus"
    },
    "oldDisbursement": {
      "id": "string",
      "allowedMethods": "DisbursementMethod[]",
      "amount": "int",
      "authorizedIdentities": "array[]",
      "clientId": "string",
      "fundingAccountId": "string",
      "matterId": "string",
      "metadata": "object",
      "publicKey": "string",
      "status": "DisbursementStatus"
    }
  },
  "type": "disbursement.updated",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## firm.updated

Sent when a Firm is updated. This includes when the Firm's status changes.

```json theme={"system"}
{
  "data": {
    "firm": {
      "id": "string"
    }
  },
  "type": "firm.updated",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## statement.created

Emitted when a monthly statement has been created for a Firm.

```json theme={"system"}
{
  "data": {
    "statement": {
      "id": "string"
    }
  },
  "type": "statement.created",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## statement.updated

Emitted if a statement is updated. It is very unlikely this will be emitted. All statements should be finalized when the `statement.created` webhook is emitted.

```json theme={"system"}
{
  "data": {
    "statement": {
      "id": "string"
    }
  },
  "type": "statement.updated",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## stored\_payment\_method.created

Emitted when a new Stored Payment Method is created.

```json theme={"system"}
{
  "data": {
    "storedPaymentMethod": {
      "id": "string"
    }
  },
  "type": "stored_payment_method.created",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## stored\_payment\_method.deleted

Emitted when a Stored Payment Method is deleted.

```json theme={"system"}
{
  "data": {
    "storedPaymentMethod": {
      "id": "string"
    }
  },
  "type": "stored_payment_method.deleted",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## stored\_payment\_method.updated

Emitted when a Stored Payment Method is updated.

```json theme={"system"}
{
  "data": {
    "storedPaymentMethod": {
      "id": "string"
    }
  },
  "type": "stored_payment_method.updated",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## transaction.created

Sent when a new Transaction is created. You can find the full data typing in our [API Sandbox](https://api.sandbox.gravity-legal.com/) under root > Query > transaction.

```ts theme={"system"}
{transaction: {
  id: string;
  achReturnCode: string | null;
  achReturnReason: string | null;
  aggregatePaymentLink: { id: string } | null;
  amountProcessed: number;
  amountRefunded: number;
  bankAccount: { id: string };
  cardBrand: string | null;
  client: { id: string } | null;
  createdOn: Date;
  disbursement: { id: string } | null;
  disbursementAmounts: DisbursementAmounts | null;
  errorMessage: string | null;
  firm: { id: string };
  lastFour: string | null;
  matter: { id: string } | null;
  payerEmail: string | null;
  payerName: string | null;
  payerNotes: string | null;
  paymentMethod: TransactionPaymentMethod;
  payment: { id: string } | null;
  paymentLink: { id: string } | null;
  settledOn: Date | null;
  standingLink: { id: string } | null;
  status_v2: PaymentTxnStatus2;
  storedPaymentMethod: { id: string } | null;
  subscription: { id: string } | null;
  type: PaymentTxnType;
  }
};
```

## transaction.funds\_in\_transit

Sent when a Transaction moves to FUNDS\_IN\_TRANSIT.

```json theme={"system"}
{
  "data": {
    "transaction": {
      "id": "string"
    }
  },
  "type": "transaction.funds_in_transit",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## transaction.deposited

Sent when a Transaction is deposited in the Firm's account.

```json theme={"system"}
{
  "data": {
    "transaction": {
      "id": "string"
    }
  },
  "type": "transaction.deposited",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## transaction.voided

Sent when a Transaction is voided.

```json theme={"system"}
{
  "data": {
    "originalTransaction": {
      "id": "string"
    },
    "voidTransaction": {
      "id": "string"
    }
  },
  "type": "transaction.voided",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## transaction.refunded

Sent when a Transaction is fully refunded.

```json theme={"system"}
{
  "data": {
    "originalTransaction": {
      "id": "string"
    },
    "refundTransaction": {
      "id": "string"
    }
  },
  "type": "transaction.refunded",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## transaction.partially\_refunded

Sent when a Transaction is partially refunded.

```json theme={"system"}
{
  "data": {
    "originalTransaction": {
      "id": "string"
    },
    "refundTransaction": {
      "id": "string"
    }
  },
  "type": "transaction.partially_refunded",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```

## transaction.ach\_returned

Sent when an ACH Transaction is returned.

```json theme={"system"}
{
  "data": {
    "originalTransaction": {
      "id": "string"
    },
    "returnTransaction": {
      "id": "string"
    }
  },
  "type": "transaction.ach_returned",
  "firmId": "<firm_id>",
  "eventId": "<event_id>"
}
```
