AE

AuctionEdge Webhooks

API Reference

Base URL: https://<your-deployment>/api

All endpoints (except auth and health) require a JWT token in the Authorization header:

Authorization: Bearer <token>

Authentication

POST /auth/signup

Create a new account.

Request Body:

{
  "email": "user@example.com",
  "name": "Acme Auto",
  "password": "min8chars"
}

Response (201):

{
  "customer": {
    "customerId": "uuid",
    "email": "user@example.com",
    "name": "Acme Auto",
    "apiKey": "uuid",
    "auctionIds": [],
    "createdAt": "2025-01-01T00:00:00.000Z",
    "status": "active"
  },
  "token": "jwt-token"
}

Errors:

POST /auth/login

Request Body:

{
  "email": "user@example.com",
  "password": "min8chars"
}

Response (200):

{
  "customer": { ... },
  "token": "jwt-token"
}

Errors:

GET /auth/me

Returns the authenticated user's identity.

Response (200):

{
  "user": {
    "customerId": "uuid",
    "email": "user@example.com"
  }
}

Subscriptions

GET /subscriptions/:environment

List all subscriptions for the given environment.

Path Parameters:

Response (200):

[
  {
    "customerId": "uuid",
    "sk": "sandbox#ae.asset.upserted.ams",
    "environment": "sandbox",
    "eventType": "ae.asset.upserted.ams",
    "webhookUrl": "https://example.com/webhook",
    "status": "active",
    "createdAt": "2025-01-01T00:00:00.000Z",
    "updatedAt": "2025-01-01T00:00:00.000Z"
  }
]

PUT /subscriptions/:environment

Create or update a subscription.

Path Parameters:

Request Body:

{
  "eventType": "ae.asset.deal.sold.ams",
  "webhookUrl": "https://example.com/webhook"
}

Response (201):

{
  "customerId": "uuid",
  "sk": "sandbox#ae.asset.deal.sold.ams",
  "environment": "sandbox",
  "eventType": "ae.asset.deal.sold.ams",
  "webhookUrl": "https://example.com/webhook",
  "status": "active",
  "createdAt": "2025-01-01T00:00:00.000Z",
  "updatedAt": "2025-01-01T00:00:00.000Z"
}

If the eventType is not in the known event catalog, the response includes a warning field.

DELETE /subscriptions/:environment/:eventType

Delete a subscription.

Response: 204 No Content

PATCH /subscriptions/:environment/:eventType/status

Pause or resume a subscription.

Request Body:

{
  "status": "active"
}

Valid values: active, paused

Response: 204 No Content

POST /subscriptions/promote

Copy all active sandbox subscriptions to production. Existing production subscriptions for the same event types are updated.

Response (200):

{
  "promoted": [ ... ],
  "count": 5
}

Deliveries

GET /deliveries

List delivery history for the authenticated customer.

Query Parameters:

ParameterTypeDefaultDescription
environmentstringFilter by sandbox or production
limitnumber50Max results (up to 200)
lastKeystringPagination token from previous response

Response (200):

{
  "deliveries": [
    {
      "deliveryId": "uuid",
      "customerId": "uuid",
      "eventType": "ae.asset.deal.sold.ams",
      "environment": "production",
      "webhookUrl": "https://example.com/webhook",
      "payload": "{\"auction-id\":\"daanw\",\"asset\":{...}}",
      "status": "success",
      "attempts": 1,
      "lastAttemptAt": "2025-01-01T00:00:05.000Z",
      "createdAt": "2025-01-01T00:00:00.000Z",
      "responseStatus": 200,
      "responseBody": "OK"
    }
  ],
  "nextKey": "base64-encoded-pagination-token"
}

The nextKey value is null when there are no more results. Pass it as the lastKey query parameter to fetch the next page.


Dead Letter Queue

GET /deliveries/dlq

List DLQ entries for the authenticated customer.

Query Parameters:

ParameterTypeDefaultDescription
limitnumber50Max results (up to 200)
lastKeystringPagination token

Response (200):

{
  "entries": [
    {
      "deliveryId": "uuid",
      "customerId": "uuid",
      "eventType": "ae.asset.deal.sold.ams",
      "environment": "production",
      "webhookUrl": "https://example.com/webhook",
      "payload": "{\"auction-id\":\"daanw\",\"asset\":{...}}",
      "failureReason": "HTTP 500: Internal Server Error",
      "attempts": 3,
      "createdAt": "2025-01-01T00:00:00.000Z",
      "movedToDLQAt": "2025-01-01T00:00:35.000Z",
      "replayedAt": null
    }
  ],
  "nextKey": null
}

POST /deliveries/dlq/:deliveryId/replay

Replay a single DLQ entry. Re-queues the event for delivery.

Response (200):

{
  "queued": true
}

Errors:

POST /deliveries/dlq/replay

Replay all unreplayed DLQ entries for the authenticated customer.

Response (200):

{
  "queued": 5,
  "failed": 0
}

Auction IDs

GET /customers/me/auction-ids

Get the authenticated customer's assigned auction IDs.

Response (200):

{
  "auctionIds": ["daanw", "cpaa", "rckfrd"]
}

PUT /customers/me/auction-ids

Update the authenticated customer's auction IDs.

Request Body:

{
  "auctionIds": ["daanw", "cpaa"]
}

Response (200):

{
  "auctionIds": ["daanw", "cpaa"]
}

Signing Secret

GET /signing-secret

Retrieve your webhook signing secret. Use this to verify webhook delivery signatures.

Response (200):

{
  "signingSecret": "your-hmac-secret"
}

Errors:

POST /signing-secret/rotate

Generate a new signing secret. All future deliveries will use the new secret.

Response (200):

{
  "signingSecret": "new-hmac-secret",
  "rotatedAt": "2025-01-01T00:00:00.000Z"
}

Event Catalog

GET /event-catalog

Returns the full list of available event types, organized by domain.

Response (200):

{
  "domains": ["account", "advisory", "asset", ...],
  "eventTypes": [
    { "eventType": "ae.account.upserted.ams.v2", "domain": "account" },
    ...
  ],
  "byDomain": {
    "account": ["ae.account.upserted.ams.v2", ...],
    "asset": ["ae.asset.upserted.ams", ...],
    ...
  }
}

Health

GET /health

Response (200):

{
  "status": "ok"
}

Webhook Delivery Format

When an event is delivered to your webhook URL, it arrives as an HTTP POST with the following:

Headers

HeaderExampleDescription
Content-Typeapplication/jsonAlways JSON
X-Webhook-Signaturesha256=a1b2c3...HMAC-SHA256 hex digest of {timestamp}.{body}
X-Webhook-Timestamp1704067200Unix epoch seconds
X-Webhook-Eventae.asset.deal.sold.amsThe event type

Body

The request body is the JSON detail object from the EventBridge event. The shape varies by event type (see Event Catalog Reference below).

Expected Response

Your endpoint should return a 2xx status code to acknowledge receipt. Any other status code is treated as a failure and triggers a retry.

Retry Behavior

AttemptTiming
1Immediate
2+5 seconds
3+30 seconds

After 3 failed attempts the event is moved to the Dead Letter Queue.


Event Catalog Reference

The platform supports 79 event types across 13 domains. All events are delivered as JSON. Nearly all events include an auction-id field identifying the auction location.

Common Fields

These fields appear in most event payloads:

FieldTypeDescription
auction-idstringAuction location identifier (e.g., daanw, cpaa)
updated-atstring (ISO 8601)Timestamp of the change
initiatorobjectWho or what triggered the event (contains id, type, optional metadata)

Common Object References

Asset Pointer — identifies a vehicle:

{
  "id": 12345,
  "stock": "A12345",
  "vin": "1HGBH41JXMN109186"
}

Account Pointer — identifies a dealer account:

{
  "account-key": "A12345",
  "aa-id": 100
}

Account Events 8 events
Event TypeDescription
ae.account.upserted.ams.v2Account created or updated in AMS
ae.account.removed.amsAccount removed from AMS
ae.account.representative.upserted.amsAccount representative created or updated
ae.account.representative.removed.amsAccount representative removed
ae.account.representative.payer-authorizedRepresentative authorized to pay for account
ae.account.representative.payer-deauthorizedRepresentative payment authorization revoked
ae.account.payment-source.upserted.ams.v3Payment source added or updated
ae.account.payment-source.removed.ams.v2Payment source removed

ae.account.upserted.ams.v2

Account created or updated in the Auction Management System.

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
idYesnumberUnique AMS account ID
display-nameYesstringDisplay name of the account
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
legal-nameNostringLegal name of the account
dba-nameNostring"Doing business as" name
primary-emailNostringPrimary email address
website-uriNostringDealer website URL
primary-phone-numberNostringMain phone number
cell-phone-numberNostringCell phone number
primary-fax-numberNostringFax number
physical-locationNoobjectPhysical postal address
mailing-locationNoobjectMailing postal address
can-buyNobooleanWhether account can buy vehicles
can-sellNobooleanWhether account can sell vehicles
is-activeNobooleanWhether account is active
is-in-violationNobooleanWhether account is in violation
is-tax-exemptNobooleanWhether account is tax exempt
auction-seller-rep-idNostringSeller representative ID
auction-seller-repNostringSeller representative name
auction-buyer-rep-idNostringBuyer representative ID
auction-buyer-repNostringBuyer representative name
autoims-id-strNostringAutoIMS identifier
payment-sourcesNoarrayPayment sources for the account
dealer-group-codeNostringDealership group code
sales-tax-numberNostringSales tax number
established-atNostringDate/time account was created in AMS

ae.account.removed.ams

FieldRequiredTypeDescription
idYesnumberAMS account ID
auction-idYesstringAuction location identifier
accountNoobjectAccount pointer (account-key, aa-id)
updated-atNostringISO 8601 timestamp
initiatorNoobjectEvent initiator

ae.account.representative.upserted.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
account-idNonumberAccount this representative belongs to
updated-atNostringISO 8601 timestamp
initiatorNoobjectEvent initiator

Includes all representative fields (name, contact info, buyer/seller flags, etc.).

ae.account.representative.removed.ams

FieldRequiredTypeDescription
idYesnumberRepresentative ID
auction-idYesstringAuction location identifier
account-idYesnumberAccount the representative belonged to
updated-atNostringISO 8601 timestamp
initiatorNoobjectEvent initiator

ae.account.representative.payer-authorized

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
accountYesobjectAccount pointer
rep-accountYesobjectRepresentative pointer
initiatorNoobjectEvent initiator

ae.account.representative.payer-deauthorized

Same structure as payer-authorized.

ae.account.payment-source.upserted.ams.v3

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
account-idYesnumberAMS account ID
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator

Includes all payment source fields (id, type, status, etc.).

ae.account.payment-source.removed.ams.v2

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
account-idYesnumberAMS account ID
idYesnumberPayment source ID
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
Advisory Events 6 events
Event TypeDescription
ae.advisory.account.ams.v3Full account advisory snapshot
ae.advisory.asset.ams.v3Full asset advisory snapshot
ae.advisory.payment-vendors.amsPayment vendors accepted by auction
ae.advisory.request.account.amsRequest advisory for specific account(s)
ae.advisory.request.assetRequest advisory for specific asset(s)
ae.advisory.request.asset-soldRequest advisory for sold assets by date range

ae.advisory.account.ams.v3

Full advisory snapshot of an AMS account. Contains the same fields as ae.account.upserted.ams.v2 plus representatives array.

ae.advisory.asset.ams.v3

Full advisory snapshot of an AMS asset including sale listings, deal, and offer data.

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
published-sale-listingsNoarrayActive sale listings
dealNoobjectCurrent deal data
offerNoobjectCurrent offer data

Includes all asset fields (id, stock, vin, year, make, model, etc.).

ae.advisory.payment-vendors.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
payment-vendorsYesarrayList of accepted payment vendors

ae.advisory.request.asset-sold

FieldRequiredTypeDescription
event-typesYesarrayWhich advisory event types to produce
auction-idYesstringAuction location identifier
date-rangeYesobjectDate range with start and end
initiatorNoobjectEvent initiator

ae.advisory.request.asset / ae.advisory.request.account.ams

FieldRequiredTypeDescription
event-typesYesarrayWhich advisory event types to produce
auction-idYesstringAuction location identifier
idsYesarrayList of asset or account IDs
initiatorNoobjectEvent initiator
Asset Events 11 events
Event TypeDescription
ae.asset.upserted.amsAsset created or updated in AMS
ae.asset.removed.amsAsset removed from AMS
ae.asset.checked-in.amsAsset checked into auction facility
ae.asset.checked-out.amsAsset checked out of auction facility
ae.asset.checked-out.returned.amsChecked-out asset returned to facility
ae.asset.temp-checked-out.amsAsset temporarily checked out
ae.asset.location-updatedAsset location changed
ae.asset.not-soldAsset ran in sale but did not sell
ae.asset.media.upserted.smsAsset media uploaded
ae.asset.valuation.eligible.amsAsset eligible for valuation
ae.asset.valuation.upsertedAsset valuation result

ae.asset.upserted.ams

Asset created or updated. Includes full asset data (id, stock, vin, year, make, model, trimline, exterior, odometer, seller info, etc.).

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator

Plus all asset fields from the AMS.

ae.asset.removed.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
idYesnumberAsset ID
removed-reasonYesstringReason for removal
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator

ae.asset.checked-in.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
idYesnumberAsset ID
stockYesstringStock number
vinYesstringVIN
check-inYesobjectCheck-in details with recorded-at timestamp
sellerYesobjectSeller account pointer
initiatorNoobjectEvent initiator

ae.asset.checked-out.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer (id, stock, vin)
updated-atYesstringISO 8601 timestamp
checked-out-byYesstringAuction personnel who checked out vehicle
initiatorNoobjectEvent initiator

ae.asset.temp-checked-out.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
idYesnumberAsset ID
stockYesstringStock number
vinYesstringVIN
checked-out-byYesstringAuction personnel
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
reasonNostringReason (e.g., repair, gas, test drive)
driverNostringDriver of vehicle

ae.asset.checked-out.returned.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
idYesnumberAsset ID
stockYesstringStock number
vinYesstringVIN
returned-byYesstringPersonnel who processed return
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator

ae.asset.location-updated

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer (id, stock, vin)
locationYesobjectAMS location data
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
physical-locationNoobjectPhysical coordinates/address

ae.asset.not-sold

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer
sale-listing-idYesnumberSale listing that didn't sell
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
Asset Deal Events 7 events
Event TypeDescription
ae.asset.deal.sold.amsAsset sold
ae.asset.deal.unsold.amsAsset deal reversed/unsold
ae.asset.deal.upserted.amsDeal created or updated
ae.asset.deal.charge.upsertDeal charge added or updated
ae.asset.deal.charge.removedDeal charge removed
ae.asset.deal.payment.apply-sourcePayment source selected for deal
ae.asset.deal.payment.status-changed.v2Payment status changed

ae.asset.deal.sold.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer (id, stock, vin)

Includes full deal data: buyer/seller accounts, sale amount, lane, lot, sale date, charges, etc.

ae.asset.deal.unsold.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer
idYesnumberDeal ID
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator

ae.asset.deal.upserted.ams

Same structure as ae.asset.deal.sold.ams. Contains full deal data.

ae.asset.deal.charge.upsert

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
accountYesobjectAccount pointer
chargeYesobjectCharge details (id, display-name, charge-type, amount)
assetNoobjectAsset pointer
deal-idNonumberDeal ID
updated-atNostringISO 8601 timestamp
initiatorNoobjectEvent initiator

ae.asset.deal.charge.removed

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
charge-idYesstringCharge ID
assetNoobjectAsset pointer
deal-idNonumberDeal ID
updated-atNostringISO 8601 timestamp
initiatorNoobjectEvent initiator

ae.asset.deal.payment.status-changed.v2

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer
dealYesobjectDeal with id and payments array
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
Asset Offer Events 4 events
Event TypeDescription
ae.asset.offer.made.amsOffer made on asset
ae.asset.offer.accepted.amsOffer accepted
ae.asset.offer.rejected.amsOffer rejected
ae.asset.offer.upserted.amsOffer created or updated

ae.asset.offer.made.ams / ae.asset.offer.upserted.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer

Includes full offer data (amount, buyer/seller, status, etc.).

ae.asset.offer.accepted.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer
idYesnumberOffer ID
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator

ae.asset.offer.rejected.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer
idYesnumberOffer ID
rejected-reasonYesstringReason for rejection
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
Asset Negotiation Events 5 events
Event TypeDescription
ae.asset.negotiation.upsertedNegotiation created or updated
ae.asset.negotiation.offer.acceptedNegotiation offer accepted
ae.asset.negotiation.offer.rejectedNegotiation offer rejected
ae.asset.negotiation.offer.counteredNegotiation offer countered
ae.asset.negotiation.note-addedNote added to negotiation

ae.asset.negotiation.upserted

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
idYesstringNegotiation ID
assetYesobjectAsset pointer
conditionsYesobjectConditions with seller, buyer, lights, announcements
opened-atYesstringISO 8601 timestamp
closed-atYesstring/nullISO 8601 timestamp or null if open
successfulYesboolean/nullWhether negotiation succeeded
ball-controlYesstringbuyer or seller
initial-floor-amountNonumberFloor amount in USD
failure-reasonNostringrejected_by_buyer, rejected_by_seller, or deal_changed
initiatorNoobjectEvent initiator

ae.asset.negotiation.offer.accepted

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
negotiation-idYesstringNegotiation ID
accepted-offer-idYesstringID of the accepted offer
assetYesobjectAsset pointer
offerYesobjectOffer details with accepted-by
initiatorNoobjectEvent initiator

ae.asset.negotiation.offer.rejected

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
negotiation-idYesstringNegotiation ID
rejected-offer-idYesstringID of the rejected offer
assetYesobjectAsset pointer
offerYesobjectOffer details with rejected-by
initiatorNoobjectEvent initiator

ae.asset.negotiation.offer.countered

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
negotiation-idYesstringNegotiation ID
countered-offer-idYesstringID of the countered offer
assetYesobjectAsset pointer
offerYesobjectOffer details with countered-by
initiatorNoobjectEvent initiator

ae.asset.negotiation.note-added

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
negotiation-idYesstringNegotiation ID
noteYesobjectNote with id, noted-by, noted-at, source, subject, body
initiatorNoobjectEvent initiator
Asset Gate Pass Events 6 events
Event TypeDescription
ae.asset.gatepass.createdGate pass document generated
ae.asset.gatepass.voidedGate pass voided
ae.asset.gatepass.deliveredGate pass delivered (e.g., emailed)
ae.asset.gatepass.send-emailRequest to email gate pass
ae.asset.gatepass.buyer.releasableBuyer eligible for gate pass
ae.asset.gatepass.buyer.revokedBuyer gate pass eligibility revoked

ae.asset.gatepass.created

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
stockYesstringStock number
vinYesstringVIN
download-uriYesstringURI to download the gate pass document
assetNoobjectAsset pointer
initiatorNoobjectEvent initiator

ae.asset.gatepass.voided

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
stockYesstringStock number
vinYesstringVIN
assetNoobjectAsset pointer
initiatorNoobjectEvent initiator

ae.asset.gatepass.delivered

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
delivery-methodYesstringDelivery method (e.g., email)
targetsYesarrayWhere the gate pass was delivered
stockYesstringStock number
vinYesstringVIN
assetNoobjectAsset pointer
initiatorNoobjectEvent initiator

ae.asset.gatepass.buyer.releasable

Gate pass eligibility data including auction details, account info, asset details, and sale listing data. Contains all information needed to generate a gate pass document.

ae.asset.gatepass.buyer.revoked

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
buyer-account-keyYesstringBuyer account key
assetNoobjectAsset pointer
updated-atNostringISO 8601 timestamp
initiatorNoobjectEvent initiator
Asset Sale Listing Events 2 events
Event TypeDescription
ae.asset.sale-listing.upserted.ams.v3Sale listing created or updated
ae.asset.sale-listing.removed.amsSale listing removed

ae.asset.sale-listing.upserted.ams.v3

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer

Includes full sale listing data (sale date, lane, lot, announcements, run order, floor price, etc.).

ae.asset.sale-listing.removed.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer
sale-listing-idYesnumberSale listing ID
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
Asset Seller Charge Events 6 events
Event TypeDescription
ae.asset.seller-charge.add-requested.v2Request to add seller charge
ae.asset.seller-charge.add-request-failedSeller charge add request failed
ae.asset.seller-charge.upsert.v2Seller charge added or updated
ae.asset.seller-charge.remove-requestedRequest to remove seller charge
ae.asset.seller-charge.remove-failedSeller charge removal failed
ae.asset.seller-charge.removedSeller charge removed

All seller charge events include auction-id, asset (pointer), and seller (account pointer). Charge events include a charge object with amount and description. Request events include a reference-id for correlation.

Asset Label Events 3 events
Event TypeDescription
ae.asset.label.requestedLabel generation requested
ae.asset.label.generatedLabel generated successfully
ae.asset.label.failedLabel generation failed

All label events include auction-id, request-id, stock, vin, quantity, and label-type. The failed event additionally includes a message field with the error.

Asset Valuation Events 2 events
Event TypeDescription
ae.asset.valuation.eligible.amsAsset eligible for valuation
ae.asset.valuation.upsertedValuation result available

ae.asset.valuation.eligible.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer
current-odometer-readingYesobjectOdometer data
physical-locationYesobjectAsset location at time of eligibility
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
trimlineNostringVehicle trim
exteriorNostringExterior color
condition-gradesNoarrayCondition grade assessments

ae.asset.valuation.upserted

FieldRequiredTypeDescription
idYesstringValuation identifier
auction-idYesstringAuction location identifier
assetYesobjectAsset pointer
valuation-inputsYesobjectInputs used for valuation
valuationYesobjectValuation result data
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
valuation-errorNoobjectError if valuation failed
Auction Events 1 event
Event TypeDescription
ae.auction.entitlement.upsertedAuction entitlement created or updated

ae.auction.entitlement.upserted

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
entitlementYesobjectEntitlement configuration
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
Cart Events 1 event
Event TypeDescription
ae.cart.processedCart finalized with payment sources applied

ae.cart.processed

FieldRequiredTypeDescription
idYesstringCart instance ID
user-account-idYesstringUser account ID
cart-itemsYesarrayItems with asset, auction-id, deal-id, charges
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
Condition Report Events 1 event
Event TypeDescription
ae.condition-report.upsertCondition report created or updated

ae.condition-report.upsert

FieldRequiredTypeDescription
idYesstringInspection identifier
auction-idYesstringAuction location identifier
inspectionYesobjectInspection details (type, status, timestamps)
assetYesobjectCRS asset data
initiatorYesobjectEvent initiator
inspected-assetNoobjectInspected asset details
ams-assetNoobjectAMS asset pointer
seller-accountNoobjectSeller account pointer
additional-infoNoarraySpecialty inspection info
equipmentNoarrayEquipment list
damagesNoarrayDamage records
declarationsNoarrayDeclaration data
tiresNoarrayTire condition data
photosNoarrayInspection photos
DealShield Events 1 event
Event TypeDescription
ae.dealshield.notify.tempDealShield status notification for a deal

Contains extensive deal data for DealShield integration including sale details, buyer/seller info, payment info, arbitration status, title status, and vehicle details.

Document Events 2 events
Event TypeDescription
ae.document.asset.addedDocument uploaded and available
ae.document.asset.removedDocument removed

ae.document.asset.added

FieldRequiredTypeDescription
document-idYesstringUnique document identifier
document-typeYesstringType of document
auction-idYesstringAuction location identifier
asset-stockYesstringStock number
asset-vinYesstringVIN
service-idYesstringService ID for accessing SparkDocs
recorded-atYesstringISO 8601 timestamp
initiatorNoobjectEvent initiator

ae.document.asset.removed

Same fields as added minus service-id.

Notification Events 1 event
Event TypeDescription
ae.notification.request-deliveryNotification delivery request

ae.notification.request-delivery

FieldRequiredTypeDescription
notificationYesobjectNotification with message and optional subject
target-listYesarrayTargets with delivery-method and delivery-address
updated-atYesstringISO 8601 timestamp
initiatorNoobjectEvent initiator
correlation-idNostringEnd-to-end tracing identifier
Payment Vendor Events 2 events
Event TypeDescription
ae.payment-vendor.upserted.amsPayment vendor added or updated
ae.payment-vendor.removed.amsPayment vendor removed

ae.payment-vendor.upserted.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator

Includes payment vendor details (id, name, type, etc.).

ae.payment-vendor.removed.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
idYesnumberPayment vendor ID
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
Service Events 8 events
Event TypeDescription
ae.service.requestService request submitted
ae.service.order-placedService order placed
ae.service.orderedService ordered
ae.service.order-rejectedService order rejected
ae.service.order-updatedService order status changed
ae.service.completedService completed
ae.service.cancelledService cancelled
ae.service.waivedService waived

All service events include auction-id, stock, vin, and a service object.

Service classes: pre_sale_inspection, psi, transportation

ae.service.request

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
stockYesstringStock number
vinYesstringVIN
serviceYesobjectService order with class, code, and optional details
initiatorNoobjectEvent initiator
updated-atNostringISO 8601 timestamp

ae.service.order-placed

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
stockYesstringStock number
vinYesstringVIN
serviceYesobjectService with class, code, optional feeAmount
initiatorNoobjectEvent initiator

ae.service.completed

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
stockYesstringStock number
vinYesstringVIN
serviceYesobjectService with class, code, optional feeAmount
passedNobooleanWhether the service passed
messagesNoarrayMessages about service completion
initiatorNoobjectEvent initiator

ae.service.cancelled

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
stockYesstringStock number
vinYesstringVIN
serviceYesobjectService with class, code
reasonNostringCancellation reason
initiatorNoobjectEvent initiator

ae.service.order-rejected

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
stockYesstringStock number
vinYesstringVIN
serviceYesobjectService with class, code
reasonNostringRejection reason
initiatorNoobjectEvent initiator

ae.service.order-updated

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
stockYesstringStock number
vinYesstringVIN
serviceYesobjectService with class, code, status, optional note
initiatorNoobjectEvent initiator

Service status values: completed, failed, open, pending

ae.service.ordered / ae.service.waived

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
stockYesstringStock number
vinYesstringVIN
serviceYesobjectService with class, optional code
initiatorNoobjectEvent initiator
Statistics Events 1 event
Event TypeDescription
ae.statistics.runtime-counts.amsAuction runtime vehicle counts

ae.statistics.runtime-counts.ams

FieldRequiredTypeDescription
auction-idYesstringAuction location identifier
statsYesobjectCounts: total-inventory, total-in-sale, total-sold
updated-atYesstringISO 8601 timestamp
initiatorYesobjectEvent initiator
User Info Events 1 event
Event TypeDescription
ae.user-info.advisory.data-source-updatedUser info data source updated

ae.user-info.advisory.data-source-updated

FieldRequiredTypeDescription
versionYesstringVersion identifier
bucketYesobjectS3 bucket with name
objectYesobjectS3 object with key, size, etag, sequencer
request-idYesstringRequest identifier
requesterYesstringWho requested the update
source-ip-addressYesstringSource IP
reasonYesstringReason for update
initiatorNoobjectEvent initiator