Register a real-estate webhook subscription
POST/partner/webhook/subscription
Registers a destination and chooses which events it receives, optionally narrowed by outcome and by project. Self-service: no coordination with banca.me is needed.
This is the endpoint for real-estate partners — the ones consuming risk evaluations. It
is the only route that can subscribe you to the events that follow a lead through the funnel:
new_lead when the lead is created, pre_approve when its evaluation finishes, and
reevaluation when you re-evaluate it. All three
require the evaluation module.
Mortgage lenders also register installment_paid here: one delivery for each installment of
their loans that banca.me collects. It needs no module and takes no filters. Any other
partner that asks for it gets 422 ERR_PARTNER_EVENT_TYPE_NOT_AVAILABLE_FOR_PRODUCT. See
installment_paid.
A partner whose product is BNPL is rejected here with
422 ERR_PARTNER_PRODUCT_CANNOT_RECEIVE_WEBHOOKS, whatever events the request asks for —
there is no combination that gets through. BNPL integrations register through
POST /partner/webhook instead.
The body is still parsed and the destination still validated first, so a malformed request
from a BNPL partner comes back as ERR_MISSING_DATA or ERR_INVALID_DATA rather than the
product rejection. Both are 422; only the error code differs.
Destinations created here verify by token — every delivery carries the
bancame-webhook-secret header and no bancame-signature. That is fixed at creation and
cannot be changed afterwards; see
Verify the Webhook Token. For the payload, see the
Event Catalog.
eventTypes when creatingA new URL registered without eventTypes is subscribed to loan_approved alone — the BNPL
event, which real-estate partners do not receive. Name the events you want.
Creating versus reconciling
Posting a URL you have not registered creates it and returns 201 with the secret as a
plain string. Posting a URL you already registered reconciles it and returns 200 with
the destination, without the secret. The secret is shown once, at creation, and cannot be
retrieved later.
Reconciling:
- With
eventTypes, replaces the destination's subscriptions with exactly what the request carries.filtersandexternalEntityIdleft out of that request are cleared. - Without
eventTypes, leaves the subscriptions, filters and scope as they are. - Reactivates the destination if you had deleted it, with its original token — it is not a way to get a new one. A reactivated destination takes one of your 10 slots again.
- Never changes the verification scheme.
Limits
You may have 10 active destinations. Deleting one frees its slot immediately.
Request
Responses
- 200
- 201
- 400
- 401
- 403
- 409
- 422
- 429
Existing destination reconciled. The secret is not included — it is only ever
returned by the 201 that created the destination.
Destination created
Bad Request - The bearer token is validly signed but is not your current partner API token.
Unauthorized - Invalid, expired or missing bearer token
Forbidden. Either the partner is inactive, or pre_approve or new_lead was requested
without the evaluation module — both events require it. The response carries only the
status, so the two cases look the same.
Conflict - This URL is already registered as an HMAC destination, through the BNPL route
POST /partner/webhook. Verification schemes are immutable, so it cannot be reconciled
here. Register a different URL.
Unprocessable Entity. data.message is one of:
ERR_MISSING_DATA (url absent, empty or not a string) ·
ERR_INVALID_DATA (not HTTPS, or its host does not resolve or resolves to a private,
loopback or link-local address; empty or unknown eventTypes; filters or
externalEntityId without eventTypes; externalEntityId not a string; filters
without pre_approve or alongside loan_approved; filters that is not an object, or
has a key other than results, or an empty or unknown results value) ·
ERR_PARTNER_ENTITY_NOT_BELONG_TO_PARTNER (externalEntityId is not one of your
entities) ·
ERR_TOO_MANY_PARTNER_WEBHOOKS (10 active destinations already, including when the
request would reactivate a deleted one) ·
ERR_PARTNER_PRODUCT_CANNOT_RECEIVE_WEBHOOKS (BNPL partner — this route is for
real-estate partners; register through POST /partner/webhook instead)
Too Many Requests - Rate limit exceeded. The body is the text
You have reached maximum retries in this timespan., not JSON.