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:
409 — Email already registered
POST /auth/login
Request Body:
{
"email": "user@example.com",
"password": "min8chars"
}
Response (200):
{
"customer": { ... },
"token": "jwt-token"
}
Errors:
401 — Invalid credentials
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:
environment — sandbox or production
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:
environment — sandbox or production
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:
| Parameter | Type | Default | Description |
environment | string | — | Filter by sandbox or production |
limit | number | 50 | Max results (up to 200) |
lastKey | string | — | Pagination 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:
| Parameter | Type | Default | Description |
limit | number | 50 | Max results (up to 200) |
lastKey | string | — | Pagination 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:
404 — DLQ entry not found
409 — Already replayed
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:
404 — No signing secret found (contact support)
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"
}
When an event is delivered to your webhook URL, it arrives as an HTTP POST with the following:
| Header | Example | Description |
Content-Type | application/json | Always JSON |
X-Webhook-Signature | sha256=a1b2c3... | HMAC-SHA256 hex digest of {timestamp}.{body} |
X-Webhook-Timestamp | 1704067200 | Unix epoch seconds |
X-Webhook-Event | ae.asset.deal.sold.ams | The 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
| Attempt | Timing |
| 1 | Immediate |
| 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:
| Field | Type | Description |
auction-id | string | Auction location identifier (e.g., daanw, cpaa) |
updated-at | string (ISO 8601) | Timestamp of the change |
initiator | object | Who 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 Type | Description |
ae.account.upserted.ams.v2 | Account created or updated in AMS |
ae.account.removed.ams | Account removed from AMS |
ae.account.representative.upserted.ams | Account representative created or updated |
ae.account.representative.removed.ams | Account representative removed |
ae.account.representative.payer-authorized | Representative authorized to pay for account |
ae.account.representative.payer-deauthorized | Representative payment authorization revoked |
ae.account.payment-source.upserted.ams.v3 | Payment source added or updated |
ae.account.payment-source.removed.ams.v2 | Payment source removed |
ae.account.upserted.ams.v2
Account created or updated in the Auction Management System.
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
id | Yes | number | Unique AMS account ID |
display-name | Yes | string | Display name of the account |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
legal-name | No | string | Legal name of the account |
dba-name | No | string | "Doing business as" name |
primary-email | No | string | Primary email address |
website-uri | No | string | Dealer website URL |
primary-phone-number | No | string | Main phone number |
cell-phone-number | No | string | Cell phone number |
primary-fax-number | No | string | Fax number |
physical-location | No | object | Physical postal address |
mailing-location | No | object | Mailing postal address |
can-buy | No | boolean | Whether account can buy vehicles |
can-sell | No | boolean | Whether account can sell vehicles |
is-active | No | boolean | Whether account is active |
is-in-violation | No | boolean | Whether account is in violation |
is-tax-exempt | No | boolean | Whether account is tax exempt |
auction-seller-rep-id | No | string | Seller representative ID |
auction-seller-rep | No | string | Seller representative name |
auction-buyer-rep-id | No | string | Buyer representative ID |
auction-buyer-rep | No | string | Buyer representative name |
autoims-id-str | No | string | AutoIMS identifier |
payment-sources | No | array | Payment sources for the account |
dealer-group-code | No | string | Dealership group code |
sales-tax-number | No | string | Sales tax number |
established-at | No | string | Date/time account was created in AMS |
ae.account.removed.ams
| Field | Required | Type | Description |
id | Yes | number | AMS account ID |
auction-id | Yes | string | Auction location identifier |
account | No | object | Account pointer (account-key, aa-id) |
updated-at | No | string | ISO 8601 timestamp |
initiator | No | object | Event initiator |
ae.account.representative.upserted.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
account-id | No | number | Account this representative belongs to |
updated-at | No | string | ISO 8601 timestamp |
initiator | No | object | Event initiator |
Includes all representative fields (name, contact info, buyer/seller flags, etc.).
ae.account.representative.removed.ams
| Field | Required | Type | Description |
id | Yes | number | Representative ID |
auction-id | Yes | string | Auction location identifier |
account-id | Yes | number | Account the representative belonged to |
updated-at | No | string | ISO 8601 timestamp |
initiator | No | object | Event initiator |
ae.account.representative.payer-authorized
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
account | Yes | object | Account pointer |
rep-account | Yes | object | Representative pointer |
initiator | No | object | Event initiator |
ae.account.representative.payer-deauthorized
Same structure as payer-authorized.
ae.account.payment-source.upserted.ams.v3
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
account-id | Yes | number | AMS account ID |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Includes all payment source fields (id, type, status, etc.).
ae.account.payment-source.removed.ams.v2
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
account-id | Yes | number | AMS account ID |
id | Yes | number | Payment source ID |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Advisory Events 6 events
| Event Type | Description |
ae.advisory.account.ams.v3 | Full account advisory snapshot |
ae.advisory.asset.ams.v3 | Full asset advisory snapshot |
ae.advisory.payment-vendors.ams | Payment vendors accepted by auction |
ae.advisory.request.account.ams | Request advisory for specific account(s) |
ae.advisory.request.asset | Request advisory for specific asset(s) |
ae.advisory.request.asset-sold | Request 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.
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
published-sale-listings | No | array | Active sale listings |
deal | No | object | Current deal data |
offer | No | object | Current offer data |
Includes all asset fields (id, stock, vin, year, make, model, etc.).
ae.advisory.payment-vendors.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
payment-vendors | Yes | array | List of accepted payment vendors |
ae.advisory.request.asset-sold
| Field | Required | Type | Description |
event-types | Yes | array | Which advisory event types to produce |
auction-id | Yes | string | Auction location identifier |
date-range | Yes | object | Date range with start and end |
initiator | No | object | Event initiator |
ae.advisory.request.asset / ae.advisory.request.account.ams
| Field | Required | Type | Description |
event-types | Yes | array | Which advisory event types to produce |
auction-id | Yes | string | Auction location identifier |
ids | Yes | array | List of asset or account IDs |
initiator | No | object | Event initiator |
Asset Events 11 events
| Event Type | Description |
ae.asset.upserted.ams | Asset created or updated in AMS |
ae.asset.removed.ams | Asset removed from AMS |
ae.asset.checked-in.ams | Asset checked into auction facility |
ae.asset.checked-out.ams | Asset checked out of auction facility |
ae.asset.checked-out.returned.ams | Checked-out asset returned to facility |
ae.asset.temp-checked-out.ams | Asset temporarily checked out |
ae.asset.location-updated | Asset location changed |
ae.asset.not-sold | Asset ran in sale but did not sell |
ae.asset.media.upserted.sms | Asset media uploaded |
ae.asset.valuation.eligible.ams | Asset eligible for valuation |
ae.asset.valuation.upserted | Asset 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.).
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Plus all asset fields from the AMS.
ae.asset.removed.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
id | Yes | number | Asset ID |
removed-reason | Yes | string | Reason for removal |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
ae.asset.checked-in.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
id | Yes | number | Asset ID |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
check-in | Yes | object | Check-in details with recorded-at timestamp |
seller | Yes | object | Seller account pointer |
initiator | No | object | Event initiator |
ae.asset.checked-out.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer (id, stock, vin) |
updated-at | Yes | string | ISO 8601 timestamp |
checked-out-by | Yes | string | Auction personnel who checked out vehicle |
initiator | No | object | Event initiator |
ae.asset.temp-checked-out.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
id | Yes | number | Asset ID |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
checked-out-by | Yes | string | Auction personnel |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
reason | No | string | Reason (e.g., repair, gas, test drive) |
driver | No | string | Driver of vehicle |
ae.asset.checked-out.returned.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
id | Yes | number | Asset ID |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
returned-by | Yes | string | Personnel who processed return |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
ae.asset.location-updated
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer (id, stock, vin) |
location | Yes | object | AMS location data |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
physical-location | No | object | Physical coordinates/address |
ae.asset.not-sold
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer |
sale-listing-id | Yes | number | Sale listing that didn't sell |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Asset Deal Events 7 events
| Event Type | Description |
ae.asset.deal.sold.ams | Asset sold |
ae.asset.deal.unsold.ams | Asset deal reversed/unsold |
ae.asset.deal.upserted.ams | Deal created or updated |
ae.asset.deal.charge.upsert | Deal charge added or updated |
ae.asset.deal.charge.removed | Deal charge removed |
ae.asset.deal.payment.apply-source | Payment source selected for deal |
ae.asset.deal.payment.status-changed.v2 | Payment status changed |
ae.asset.deal.sold.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer (id, stock, vin) |
Includes full deal data: buyer/seller accounts, sale amount, lane, lot, sale date, charges, etc.
ae.asset.deal.unsold.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer |
id | Yes | number | Deal ID |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
ae.asset.deal.upserted.ams
Same structure as ae.asset.deal.sold.ams. Contains full deal data.
ae.asset.deal.charge.upsert
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
account | Yes | object | Account pointer |
charge | Yes | object | Charge details (id, display-name, charge-type, amount) |
asset | No | object | Asset pointer |
deal-id | No | number | Deal ID |
updated-at | No | string | ISO 8601 timestamp |
initiator | No | object | Event initiator |
ae.asset.deal.charge.removed
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
charge-id | Yes | string | Charge ID |
asset | No | object | Asset pointer |
deal-id | No | number | Deal ID |
updated-at | No | string | ISO 8601 timestamp |
initiator | No | object | Event initiator |
ae.asset.deal.payment.status-changed.v2
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer |
deal | Yes | object | Deal with id and payments array |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Asset Offer Events 4 events
| Event Type | Description |
ae.asset.offer.made.ams | Offer made on asset |
ae.asset.offer.accepted.ams | Offer accepted |
ae.asset.offer.rejected.ams | Offer rejected |
ae.asset.offer.upserted.ams | Offer created or updated |
ae.asset.offer.made.ams / ae.asset.offer.upserted.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer |
Includes full offer data (amount, buyer/seller, status, etc.).
ae.asset.offer.accepted.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer |
id | Yes | number | Offer ID |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
ae.asset.offer.rejected.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer |
id | Yes | number | Offer ID |
rejected-reason | Yes | string | Reason for rejection |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Asset Negotiation Events 5 events
| Event Type | Description |
ae.asset.negotiation.upserted | Negotiation created or updated |
ae.asset.negotiation.offer.accepted | Negotiation offer accepted |
ae.asset.negotiation.offer.rejected | Negotiation offer rejected |
ae.asset.negotiation.offer.countered | Negotiation offer countered |
ae.asset.negotiation.note-added | Note added to negotiation |
ae.asset.negotiation.upserted
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
id | Yes | string | Negotiation ID |
asset | Yes | object | Asset pointer |
conditions | Yes | object | Conditions with seller, buyer, lights, announcements |
opened-at | Yes | string | ISO 8601 timestamp |
closed-at | Yes | string/null | ISO 8601 timestamp or null if open |
successful | Yes | boolean/null | Whether negotiation succeeded |
ball-control | Yes | string | buyer or seller |
initial-floor-amount | No | number | Floor amount in USD |
failure-reason | No | string | rejected_by_buyer, rejected_by_seller, or deal_changed |
initiator | No | object | Event initiator |
ae.asset.negotiation.offer.accepted
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
negotiation-id | Yes | string | Negotiation ID |
accepted-offer-id | Yes | string | ID of the accepted offer |
asset | Yes | object | Asset pointer |
offer | Yes | object | Offer details with accepted-by |
initiator | No | object | Event initiator |
ae.asset.negotiation.offer.rejected
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
negotiation-id | Yes | string | Negotiation ID |
rejected-offer-id | Yes | string | ID of the rejected offer |
asset | Yes | object | Asset pointer |
offer | Yes | object | Offer details with rejected-by |
initiator | No | object | Event initiator |
ae.asset.negotiation.offer.countered
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
negotiation-id | Yes | string | Negotiation ID |
countered-offer-id | Yes | string | ID of the countered offer |
asset | Yes | object | Asset pointer |
offer | Yes | object | Offer details with countered-by |
initiator | No | object | Event initiator |
ae.asset.negotiation.note-added
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
negotiation-id | Yes | string | Negotiation ID |
note | Yes | object | Note with id, noted-by, noted-at, source, subject, body |
initiator | No | object | Event initiator |
Asset Gate Pass Events 6 events
| Event Type | Description |
ae.asset.gatepass.created | Gate pass document generated |
ae.asset.gatepass.voided | Gate pass voided |
ae.asset.gatepass.delivered | Gate pass delivered (e.g., emailed) |
ae.asset.gatepass.send-email | Request to email gate pass |
ae.asset.gatepass.buyer.releasable | Buyer eligible for gate pass |
ae.asset.gatepass.buyer.revoked | Buyer gate pass eligibility revoked |
ae.asset.gatepass.created
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
download-uri | Yes | string | URI to download the gate pass document |
asset | No | object | Asset pointer |
initiator | No | object | Event initiator |
ae.asset.gatepass.voided
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
asset | No | object | Asset pointer |
initiator | No | object | Event initiator |
ae.asset.gatepass.delivered
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
delivery-method | Yes | string | Delivery method (e.g., email) |
targets | Yes | array | Where the gate pass was delivered |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
asset | No | object | Asset pointer |
initiator | No | object | Event 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
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
buyer-account-key | Yes | string | Buyer account key |
asset | No | object | Asset pointer |
updated-at | No | string | ISO 8601 timestamp |
initiator | No | object | Event initiator |
Asset Sale Listing Events 2 events
| Event Type | Description |
ae.asset.sale-listing.upserted.ams.v3 | Sale listing created or updated |
ae.asset.sale-listing.removed.ams | Sale listing removed |
ae.asset.sale-listing.upserted.ams.v3
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer |
Includes full sale listing data (sale date, lane, lot, announcements, run order, floor price, etc.).
ae.asset.sale-listing.removed.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer |
sale-listing-id | Yes | number | Sale listing ID |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Asset Seller Charge Events 6 events
| Event Type | Description |
ae.asset.seller-charge.add-requested.v2 | Request to add seller charge |
ae.asset.seller-charge.add-request-failed | Seller charge add request failed |
ae.asset.seller-charge.upsert.v2 | Seller charge added or updated |
ae.asset.seller-charge.remove-requested | Request to remove seller charge |
ae.asset.seller-charge.remove-failed | Seller charge removal failed |
ae.asset.seller-charge.removed | Seller 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 Type | Description |
ae.asset.label.requested | Label generation requested |
ae.asset.label.generated | Label generated successfully |
ae.asset.label.failed | Label 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 Type | Description |
ae.asset.valuation.eligible.ams | Asset eligible for valuation |
ae.asset.valuation.upserted | Valuation result available |
ae.asset.valuation.eligible.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer |
current-odometer-reading | Yes | object | Odometer data |
physical-location | Yes | object | Asset location at time of eligibility |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
trimline | No | string | Vehicle trim |
exterior | No | string | Exterior color |
condition-grades | No | array | Condition grade assessments |
ae.asset.valuation.upserted
| Field | Required | Type | Description |
id | Yes | string | Valuation identifier |
auction-id | Yes | string | Auction location identifier |
asset | Yes | object | Asset pointer |
valuation-inputs | Yes | object | Inputs used for valuation |
valuation | Yes | object | Valuation result data |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
valuation-error | No | object | Error if valuation failed |
Auction Events 1 event
| Event Type | Description |
ae.auction.entitlement.upserted | Auction entitlement created or updated |
ae.auction.entitlement.upserted
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
entitlement | Yes | object | Entitlement configuration |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Cart Events 1 event
| Event Type | Description |
ae.cart.processed | Cart finalized with payment sources applied |
ae.cart.processed
| Field | Required | Type | Description |
id | Yes | string | Cart instance ID |
user-account-id | Yes | string | User account ID |
cart-items | Yes | array | Items with asset, auction-id, deal-id, charges |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Condition Report Events 1 event
| Event Type | Description |
ae.condition-report.upsert | Condition report created or updated |
ae.condition-report.upsert
| Field | Required | Type | Description |
id | Yes | string | Inspection identifier |
auction-id | Yes | string | Auction location identifier |
inspection | Yes | object | Inspection details (type, status, timestamps) |
asset | Yes | object | CRS asset data |
initiator | Yes | object | Event initiator |
inspected-asset | No | object | Inspected asset details |
ams-asset | No | object | AMS asset pointer |
seller-account | No | object | Seller account pointer |
additional-info | No | array | Specialty inspection info |
equipment | No | array | Equipment list |
damages | No | array | Damage records |
declarations | No | array | Declaration data |
tires | No | array | Tire condition data |
photos | No | array | Inspection photos |
DealShield Events 1 event
| Event Type | Description |
ae.dealshield.notify.temp | DealShield 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 Type | Description |
ae.document.asset.added | Document uploaded and available |
ae.document.asset.removed | Document removed |
ae.document.asset.added
| Field | Required | Type | Description |
document-id | Yes | string | Unique document identifier |
document-type | Yes | string | Type of document |
auction-id | Yes | string | Auction location identifier |
asset-stock | Yes | string | Stock number |
asset-vin | Yes | string | VIN |
service-id | Yes | string | Service ID for accessing SparkDocs |
recorded-at | Yes | string | ISO 8601 timestamp |
initiator | No | object | Event initiator |
ae.document.asset.removed
Same fields as added minus service-id.
Notification Events 1 event
| Event Type | Description |
ae.notification.request-delivery | Notification delivery request |
ae.notification.request-delivery
| Field | Required | Type | Description |
notification | Yes | object | Notification with message and optional subject |
target-list | Yes | array | Targets with delivery-method and delivery-address |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | No | object | Event initiator |
correlation-id | No | string | End-to-end tracing identifier |
Payment Vendor Events 2 events
| Event Type | Description |
ae.payment-vendor.upserted.ams | Payment vendor added or updated |
ae.payment-vendor.removed.ams | Payment vendor removed |
ae.payment-vendor.upserted.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Includes payment vendor details (id, name, type, etc.).
ae.payment-vendor.removed.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
id | Yes | number | Payment vendor ID |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
Service Events 8 events
| Event Type | Description |
ae.service.request | Service request submitted |
ae.service.order-placed | Service order placed |
ae.service.ordered | Service ordered |
ae.service.order-rejected | Service order rejected |
ae.service.order-updated | Service order status changed |
ae.service.completed | Service completed |
ae.service.cancelled | Service cancelled |
ae.service.waived | Service waived |
All service events include auction-id, stock, vin, and a service object.
Service classes: pre_sale_inspection, psi, transportation
ae.service.request
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
service | Yes | object | Service order with class, code, and optional details |
initiator | No | object | Event initiator |
updated-at | No | string | ISO 8601 timestamp |
ae.service.order-placed
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
service | Yes | object | Service with class, code, optional feeAmount |
initiator | No | object | Event initiator |
ae.service.completed
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
service | Yes | object | Service with class, code, optional feeAmount |
passed | No | boolean | Whether the service passed |
messages | No | array | Messages about service completion |
initiator | No | object | Event initiator |
ae.service.cancelled
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
service | Yes | object | Service with class, code |
reason | No | string | Cancellation reason |
initiator | No | object | Event initiator |
ae.service.order-rejected
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
service | Yes | object | Service with class, code |
reason | No | string | Rejection reason |
initiator | No | object | Event initiator |
ae.service.order-updated
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
service | Yes | object | Service with class, code, status, optional note |
initiator | No | object | Event initiator |
Service status values: completed, failed, open, pending
ae.service.ordered / ae.service.waived
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
stock | Yes | string | Stock number |
vin | Yes | string | VIN |
service | Yes | object | Service with class, optional code |
initiator | No | object | Event initiator |
Statistics Events 1 event
| Event Type | Description |
ae.statistics.runtime-counts.ams | Auction runtime vehicle counts |
ae.statistics.runtime-counts.ams
| Field | Required | Type | Description |
auction-id | Yes | string | Auction location identifier |
stats | Yes | object | Counts: total-inventory, total-in-sale, total-sold |
updated-at | Yes | string | ISO 8601 timestamp |
initiator | Yes | object | Event initiator |
User Info Events 1 event
| Event Type | Description |
ae.user-info.advisory.data-source-updated | User info data source updated |
ae.user-info.advisory.data-source-updated
| Field | Required | Type | Description |
version | Yes | string | Version identifier |
bucket | Yes | object | S3 bucket with name |
object | Yes | object | S3 object with key, size, etag, sequencer |
request-id | Yes | string | Request identifier |
requester | Yes | string | Who requested the update |
source-ip-address | Yes | string | Source IP |
reason | Yes | string | Reason for update |
initiator | No | object | Event initiator |