POST /rfq/pricer creates your pricer; Novig mints your shared secret and hands it back in the response. Once registered, POST /rfq/pricer/ping lets you verify reachability and signature handling before any live quote flow.
Register whichever transport you price over. Registration creates the pricer that the WebSocket authenticates against and the webhook Novig calls. The socket refuses a connection from a trader with no pricer.
Authentication
Both endpoints use the same OAuth 2.0 Client Credentials token as the rest of the API — see Authentication. Send it as a bearer token:Prerequisites
1
You're onboarded as an LP
You must already be an LP. If you aren’t, follow LP Onboarding first. Registration links to that LP
account via your access token.
2
Your webhook is reachable (webhook pricers only)
The base URL you register must be reachable from the public internet. For local development, terminate
https at a tunnel
like ngrok and register the public URL. A socket-only pricer skips this: it needs no public endpoint.POST /rfq/pricer — register or re-point your webhook
Register your pricer, or re-point an existing registration at a new URL.
- First call creates your pricer. A call carrying a
webhookUrlmints a fresh 32-byte shared secret. - Later calls re-point the URL and keep the existing secret — the secret only ever changes on first registration.
Request body
Omit
webhookUrl on a first call to register for the WebSocket alone, with no webhook and no shared secret. Omit it on a later call to leave the existing registration unchanged. Omitting it never removes a webhook you already registered.
A registration must leave Novig some way to reach you. A first call with no
webhookUrl returns 400 when the maker socket
is not enabled in that environment, because it would strand the pricer with no webhook to call and no socket to wait on.While the maker WebSocket is in preview, that means QA accepts a socket-only registration
and Production returns 400. Register a webhookUrl on Production.null for both webhookUrl and sharedSecret.
Response
200 OK:
Your shared secret
Novig mints the shared secret server-side on the first registration that carries awebhookUrl. The key is 32 bytes, hex-encoded as 64 lowercase characters. The same value lives on both sides: Novig signs every webhook body with it, and your pricer verifies. You never choose or upload it; you read it from the registration response.
A socket-only pricer has no shared secret. The socket authenticates with your bearer token at connect and signs nothing.
POST /rfq/pricer/ping — verify connectivity
Ask Novig to send a signed test request to your registered webhook and report how it answered. Use it to confirm reachability and that your signature verification works — before any live quote flow depends on it.
Novig reads your pricer straight from the database rather than a cached snapshot, so a registration made seconds ago is immediately pingable. The signed request lands at <webhookUrl>/ping — see Webhook Signing and the /ping handler you implement.
Response
200 OK:
A
404 from this endpoint means the calling LP has no registered pricer yet — register with POST /rfq/pricer first.
