Lemon Markets · AsyncAPI Specification
Lemon Markets Brokerage Webhooks
Version
View Spec
View on GitHub
CompanyBrokerageTradingInvestingSecuritiesFinancial ServicesBanking as a ServiceFintechWealth ManagementEmbedded FinanceGermanyAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-07-19'
method: searched
source: https://developer.lemon.markets/docs/webhooks-setup
spec_type: Webhooks
asyncapi_published: false
note: 'lemon.markets publishes no AsyncAPI document. It does publish a full webhook surface: a registration
API, a signed delivery contract, an event-replay endpoint, and an enumerated EventType list carried
in the OpenAPI. That catalogue is captured here verbatim from the enum in the harvested spec plus the
two webhook guides. No AsyncAPI has been synthesised.'
docs:
- https://developer.lemon.markets/docs/webhooks-setup
- https://developer.lemon.markets/docs/webhooks-implementation
- https://developer.lemon.markets/docs/mirror-data-using-events
transport:
protocol: https
style: webhook (server push) with a polling fallback
method: POST
polling_endpoint: GET /v1/events
polling_operation: list_events
registration:
create: POST /v1/webhooks
list: GET /v1/webhooks
delete: DELETE /v1/webhooks/{webhook_id}
request_schema: CreateWebhookRequest
response_schema: Webhook
fields:
url: endpoint invoked when a subscribed event occurs (max 2083 chars)
events: unique, non-empty array of EventType values to subscribe to
returns: webhook id (wbh_ prefix) and a signature_secret
security:
signature_header: LMG-Signature
format: t=<unix-seconds>,v1=<hex hmac-sha256>
algorithm: HMAC-SHA256 over "<timestamp>.<raw request body>" keyed with the webhook signature_secret
replay_protection: validate the t= timestamp against system time within a tolerance window
test_vector:
signature: t=0,v1=3523dcc0013f08dfa1855772441107330218793f399d7452bd3ff2159c6e0285
signing_secret: '0000000000000000000000000000000000000000000000000000000000000000'
request_body: '{}'
delivery:
ack_deadline_seconds: 10
ack_expectation: return 200 OK immediately and process asynchronously; slow acks trigger retries
guarantee: at-least-once - consumers must dedupe on the event id
ordering: not guaranteed across entities; consumers should partition on the entity id to preserve per-entity
order
payload:
schema: EventExternal
fields:
id: event identifier (evt_ prefix)
type: EventType
created_at: RFC 3339 timestamp of event creation
context: polymorphic object of identifiers relating the event to its entities
example:
id: evt_a8b11a37eccc49ecacb372e3a92a184d
type: account.created
created_at: '2023-06-29T14:40:30.523373+00:00'
context:
account: cusa_33531f7f801d4ce997747470ab7208fd
context_schemas:
- AccountEventContext
- BatchOrderEventContext
- CustomerAccountCheckEventContext
- CustomerWorkflowDocumentEventContext
- CustomerWorkflowEventContext
- CustomerWorkflowOrderTradeDocumentEventContext
- DepositEventContext
- DepositTransactionEventContext
- DividendDistributionEventContext
- DocumentEventContext
- IdentificationEventContext
- IncomeDistributionConfirmationDocumentEventContext
- IncomeDistributionEventContext
- OrderDocumentEventContext
- OrderEventContext
- OrderTradeDocumentEventContext
- OrderWorkflowEventContext
- PersonDataUpdateEventContext
- SecuritiesAccountEventContext
- SecuritiesTransferEventContext
- SettlementEventContext
- TaxExemptionOrderEventContext
- TaxGeneralEventContext
- TaxInstrumentTransactionEventContext
- TradeEventContext
- TradeSettledEventContext
- TreasuryMandateEventContext
- TreasuryTransferEventContext
- TreasuryTransferSettlementEventContext
- WithdrawalEventContext
- WithdrawalTransactionEventContext
event_count: 83
event_groups:
- entity: account
count: 4
events:
- account.closed
- account.created
- account.opened
- account.rejected
- entity: batch_order
count: 7
events:
- batch_order.accepted
- batch_order.canceled
- batch_order.canceling
- batch_order.confirmed
- batch_order.created
- batch_order.executed
- batch_order.rejected
- entity: cash_account
count: 1
events:
- cash_account.created
- entity: check
count: 5
events:
- check.action_required
- check.processing
- check.pending
- check.succeeded
- check.failed
- entity: corporate_action
count: 2
events:
- corporate_action.created
- corporate_action.processed
- entity: deposit
count: 3
events:
- deposit.created
- deposit.rejected
- deposit.received
- entity: dividend_distribution
count: 1
events:
- dividend_distribution.created
- entity: document
count: 1
events:
- document.created
- entity: identification
count: 4
events:
- identification.created
- identification.failed
- identification.started
- identification.succeeded
- entity: income_distribution
count: 1
events:
- income_distribution.created
- entity: order
count: 7
events:
- order.accepted
- order.canceled
- order.canceling
- order.confirmed
- order.created
- order.executed
- order.rejected
- entity: securities_account
count: 4
events:
- securities_account.created
- securities_account.opened
- securities_account.rejected
- securities_account.closed
- entity: securities_transfer
count: 2
events:
- securities_transfer.created
- securities_transfer.completed
- entity: settlement
count: 1
events:
- settlement.created
- entity: sweep
count: 5
events:
- sweep.canceled
- sweep.created
- sweep.processed
- sweep.rejected
- sweep.started
- entity: tax
count: 3
events:
- tax.canceled
- tax.created
- tax.processed
- entity: tax_exemption_order
count: 5
events:
- tax_exemption_order.accepted
- tax_exemption_order.canceled
- tax_exemption_order.canceling
- tax_exemption_order.created
- tax_exemption_order.rejected
- entity: trade
count: 3
events:
- trade.cash_settled
- trade.created
- trade.taxes_processed
- entity: treasury_mandate
count: 5
events:
- treasury_mandate.accepted
- treasury_mandate.canceled
- treasury_mandate.confirmed
- treasury_mandate.created
- treasury_mandate.rejected
- entity: treasury_transfer
count: 7
events:
- treasury_transfer.created
- treasury_transfer.pending
- treasury_transfer.processed
- treasury_transfer.canceled
- treasury_transfer.canceling
- treasury_transfer.settled
- treasury_transfer.rejected
- entity: update
count: 3
events:
- update.created
- update.succeeded
- update.failed
- entity: withdrawal
count: 6
events:
- withdrawal.accepted
- withdrawal.canceled
- withdrawal.confirmed
- withdrawal.created
- withdrawal.processed
- withdrawal.rejected
- entity: workflow
count: 3
events:
- workflow.created
- workflow.confirmed
- workflow.canceled
events:
- account.closed
- account.created
- account.opened
- account.rejected
- batch_order.accepted
- batch_order.canceled
- batch_order.canceling
- batch_order.confirmed
- batch_order.created
- batch_order.executed
- batch_order.rejected
- cash_account.created
- check.action_required
- check.processing
- check.pending
- check.succeeded
- check.failed
- corporate_action.created
- corporate_action.processed
- deposit.created
- deposit.rejected
- deposit.received
- dividend_distribution.created
- document.created
- identification.created
- identification.failed
- identification.started
- identification.succeeded
- income_distribution.created
- order.accepted
- order.canceled
- order.canceling
- order.confirmed
- order.created
- order.executed
- order.rejected
- securities_account.created
- securities_account.opened
- securities_account.rejected
- securities_account.closed
- securities_transfer.created
- securities_transfer.completed
- settlement.created
- sweep.canceled
- sweep.created
- sweep.processed
- sweep.rejected
- sweep.started
- tax.canceled
- tax.created
- tax.processed
- tax_exemption_order.accepted
- tax_exemption_order.canceled
- tax_exemption_order.canceling
- tax_exemption_order.created
- tax_exemption_order.rejected
- trade.cash_settled
- trade.created
- trade.taxes_processed
- treasury_mandate.accepted
- treasury_mandate.canceled
- treasury_mandate.confirmed
- treasury_mandate.created
- treasury_mandate.rejected
- treasury_transfer.created
- treasury_transfer.pending
- treasury_transfer.processed
- treasury_transfer.canceled
- treasury_transfer.canceling
- treasury_transfer.settled
- treasury_transfer.rejected
- update.created
- update.succeeded
- update.failed
- withdrawal.accepted
- withdrawal.canceled
- withdrawal.confirmed
- withdrawal.created
- withdrawal.processed
- withdrawal.rejected
- workflow.created
- workflow.confirmed
- workflow.canceled