---
title: "Generate a test event notification"
method: POST
path: "/v3/subscriptions/{subscriptionId}/test"
tags: ["subscriptions"]
---

# Generate a test event notification

`POST /v3/subscriptions/{subscriptionId}/test`

Generate a new test event notification. After you create a subscription, use this endpoint for BILL to send a test event notification to your specified notification URL.

In your request, all the fields are optional. To see specific information in the test event notification, you can set `eventType`, `version`, and any details. You can get the BILL events catalog with `GET /v3/events/catalog`.

**Note**: All the fields in the test event notification are test values. You cannot use any of the test values for any other operation.

See [Webhooks](https://developer.bill.com/docs/webhooks) in the Guides section for more information, sample requests, and notification payloads for BILL events.

## Path parameters

- `subscriptionId` string, required — BILL-generated ID of the subscription

## Headers

- `sessionId` string, nullable — API session ID generated with `/v3/login`
- `devKey` string, nullable — Developer key sent to you by BILL when you create a developer account. Set `sessionId` and `devKey` for organization-level BILL v3 API webhook events.
- `appKey` string, nullable — Application key sent to you by BILL when you create a partner account. Set `sessionId` and `appKey` for partner-level BILL v3 API webhook events.
- `apiToken` string, nullable — Access token for Spend & Expense API authentication. Set `apiToken` for Spend & Expense webhook events.

## Request body

- SendTestEventRequestDto — Generate a test event notification
  - `eventType` string — Event type. You can get the BILL events catalog with `GET /v3/events/catalog`.
  - `version` string — Event type version
  - `vendor` object — Test `vendor` event payload
    - `id` string
    - `name` string
    - `shortName` string
    - `archived` boolean
    - `paymentNetworkId` string
    - `rppsId` string
    - `networkStatus` string
    - `address` Address — Vendor address information.
      - `line1` string
      - `line2` string
      - `city` string
      - `stateOrProvince` string
      - `zipOrPostalCode` string
      - `country` string
    - `paymentInformation` PaymentInformation — Vendor payment information.
      - `payByType` string
      - `virtualCard` VirtualCard — Vendor virtual card enrollment information.
        - `status` string
        - `remitEmail` string
        - `enrollDate` string, date-time
        - `declineDate` string, date-time
        - `alternatePayByType` string
      - `email` string
      - `payeeName` string
      - `lastPaymentDate` string, date-time
    - `createdTime` string, date-time
    - `updatedTime` string, date-time
    - `accountNumber` string
    - `email` string
    - `phone` string
    - `recurringPayments` boolean
    - `billCurrency` string
    - `autoPay` AutoPay — Vendor auto-pay information.
      - `enabled` boolean
    - `balance` Balance — Vendor account balance information.
      - `amount` number
      - `lastUpdatedDate` string, date-time
    - `additionalInfo` AdditionalInfo — Vendor additional information.
      - `taxId` string
      - `taxIdType` string
      - `track1099` boolean
      - `leadTimeInDays` integer
      - `combinePayments` boolean
      - `companyName` string
      - `paymentTermId` string
  - `bill` object — Test `bill` event payload
    - `id` string
    - `vendorId` string
    - `vendorName` string
    - `invoice` Invoice — Invoice information.
      - `invoiceNumber` string
      - `invoiceDate` string, date
    - `amount` number
    - `createdBy` string
    - `createdTime` string, date-time
    - `updatedTime` string, date-time
    - `archived` boolean
    - `description` string
    - `dueDate` string, date
    - `payFromChartOfAccountId` string
    - `paymentStatus` string
    - `classifications` BillClassificationsDto — General ledger classifications information for the bill.
      - `chartOfAccountId` string
      - `accountingClassId` string
      - `departmentId` string
      - `locationId` string
    - `purchaseOrderNumber` string
  - `bank-account` object — Test `bank-account` event payload
    - `id` string
    - `archived` boolean
    - `accountNumber` string
    - `nameOnAccount` string
    - `routingNumber` string
    - `bankName` string
    - `status` string
    - `createdBy` string
    - `type` string
    - `ownerType` string
    - `default` BankAccountDefaults — Bank payment default values for BILL AP and AR operations.
      - `payables` boolean
      - `receivables` boolean
    - `createdTime` string, date-time
    - `updatedTime` string, date-time
  - `card-account` object — Test `card-account` event payload
    - `id` string
    - `archived` boolean
    - `createdTime` string, date-time
    - `createdBy` string
    - `updatedTime` string, date-time
    - `nameOnAccount` string
    - `brand` string
    - `type` string
    - `status` string
    - `last4` string
    - `expiration` CardAccountExpiration — Card expiration month and year.
      - `year` string
      - `month` string
    - `default` CardAccountDefaults — Card payment default values for BILL operations.
      - `payables` boolean
      - `receivables` boolean
      - `funding` boolean
      - `disbursement` boolean
  - `payment` object — Test `payment` event payload
    - `id` string
    - `billIds` string[]
    - `transactionNumber` string
    - `status` string
    - `createdBy` string
    - `createdTime` string, date-time
    - `updatedTime` string, date-time
    - `processDate` string, date
    - `funding` Funding — Payment funding information.
      - `amount` number
      - `currency` string
      - `fundingAccount` FundingAccount — Funding account details.
        - `id` string
        - `type` string
        - `name` string
        - `accountNumber` string
        - `last4` string
    - `disbursement` Disbursement — Payment disbursement information.
      - `amount` number
      - `currency` string
      - `arrivesByDate` string
      - `disbursementAccount` DisbursementAccount — Disbursement account details.
        - `type` string
        - `accountNumber` string
    - `vendor` Vendor — Vendor information.
      - `id` string
      - `name` string
    - `billingType` string
  - `risk-verification` object — Test `risk-verification` event payload
    - `decision` string
  - `invoice` object — Test `invoice` event payload
    - `id` string
    - `customerId` string
    - `invoiceNumber` string
    - `archived` boolean
    - `totalAmount` number
    - `dueAmount` number
    - `scheduledAmount` number
    - `creditAmount` number
    - `invoiceDate` string, date
    - `dueDate` string, date
    - `createdBy` string
    - `createdTime` string, date-time
    - `updatedTime` string, date-time
    - `payToChartOfAccountId` string
    - `salesTaxPercentage` number
    - `salesTaxTotal` number
    - `status` string
  - `transaction` object — Test `spend.transaction` event payload
    - `uuid` string
    - `fees` number
    - `foreignExchangeFee` number
    - `transactionType` 'CLEAR' | 'DECLINE' | 'AUTHORIZATION' — TransactionType.
    - `parentTransactionUuid` string
    - `userUuid` string
    - `rawMerchantName` string
    - `merchantName` string
    - `budgetUuid` string
    - `originalAuthTransactionUuid` string
    - `occurredTime` string, date-time
    - `updatedTime` string, date-time
    - `authorizedTime` string, date-time
    - `complete` boolean
    - `customFields` CustomField[]
      - `uuid` string, required
      - `name` string, required
      - `note` string, required
      - `selectedValues` CustomFieldValue[], required
        - `uuid` string, required
        - `value` string, required
    - `currencyData` CurrencyData — CurrencyData class for Spend \& Expense Transactions.
      - `exchangeRate` number
      - `exponent` integer
      - `originalCurrencyAmount` string
      - `originalCurrencyCode` string
      - `symbol` string
    - `amount` number
    - `receiptStatus` 'VALIDATED' | 'NOT_VALIDATED' | 'ATTACHED' | 'MISSING' | 'NOT_REQUIRED' | 'NOT_ATTACHED' | 'UNSPECIFIED' — ReceiptStatusType enum for Spend \& Expense Transactions.
    - `cardUuid` string
    - `companyUuid` string
    - `merchantCategoryCode` string
    - `declineReason` string
    - `declineInternalReasonCode` string
  - `threeDsChallenge` object — Test `spend.threeDsChallenge` event payload
    - `merchantName` string
    - `merchantCategoryCode` string
    - `acsTransactionId` string
    - `userUuid` string
    - `occurredTime` string, date-time
    - `amount` number
    - `cardUuid` string
    - `companyUuid` string
    - `currencyCode` string
  - `reimbursement` object — Test `spend.reimbursement` event payload
    - `uuid` string
    - `note` string
    - `merchantName` string
    - `amount` number
    - `status` 'UNSPECIFIED' | 'CREATED' | 'AWAITING_APPROVAL' | 'APPROVAL_UNDONE' | 'AWAITING_TIER2_APPROVAL' | 'TIER2_APPROVAL_UNDONE' | 'APPROVED' | 'CANCEL_PAYMENT' | 'FUNDING_RECEIVED' | 'PAID' | 'PAYMENT_FAILED' | 'DENIED' | 'DENIAL_UNDONE' | 'DELETED' — Enum for reimbursement status.
    - `fulfillmentType` 'PAYROLL' | 'ACH' | 'UNSPECIFIED' — Enum for fulfillment type.
    - `budgetUuid` string
    - `companyUuid` string
    - `userUuid` string
    - `occurredTime` string, date-time
    - `updatedTime` string, date-time
    - `retiredTime` string, date-time
    - `submittedTime` string, date-time

## Response `200`

sendTestEvent 200 response

- EventDto — Event information.
  - `id` string — BILL-generated ID of the event
  - `type` string — Event type
  - `version` string — Event type version
  - `subscriptionId` string — BILL-generated ID of the subscription
  - `payload` string — Event payload. The payload is JSON escaped and presented as a string.
  - `createdTime` string, date-time — Event created date and time
  - `statusCode` integer — HTTP status code received from the notification URL

---

[API](https://skmtc.net/bill/apis/bill-v3-api.md) · [All operations](https://skmtc.net/bill/apis/bill-v3-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bill/bill-v3-api/versions/0483350c434e/schema)
