Skip to Content
BlitzPulse docs are live. Looking for Blitz Global? Visit https://blitzglobalcapital.com.
Api ReferenceLegal API

Legal API

Auto-generated from openapi-snapshot.json. Do not edit by hand — changes are overwritten by scripts/docs/generate_api_reference.py.

8 endpoints in this group.

POST /api/legal/accept

Accept Document

Record user acceptance of a specific legal document version.

Request body: application/json

Responses

CodeDescription
200Successful Response
422Validation Error

POST /api/legal/accept/current

Accept Current Documents

Accept active legal documents by doc_type.

This is the backend contract for the first-registration click-wrap modal: the client can ask for terms + privacy without knowing raw document IDs, while the server pins the current active versions in legal_acceptances.

Request body: application/json

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/legal/acceptances/me

Get My Acceptance Status

Return current terms/privacy acceptance status for the authenticated user.

Contract (#1770): the response MUST always include the canonical three fields — required (list), missing (list[str]), and needs_acceptance (bool). Even on infra hiccups (DB error, no rows for the required doc types) we degrade gracefully to required=[] + needs_acceptance=False instead of raising 5xx with an error envelope that omits required — that envelope crashed the FE (#1766) before the defensive coerce in PR

Responses

CodeDescription
200Successful Response

GET /api/legal/documents/{doc_type}/current

Get Current Document

Return the row where doc_type=… AND is_active=TRUE; 404 otherwise.

Parameters

NameInTypeRequiredDescription
doc_typepathstringrequired

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/legal/settings/public

Get Public Settings

Return every legal_settings row where is_public=TRUE.

Responses

CodeDescription
200Successful Response

GET /api/legal/sub-processors/confirm

Confirm

Parameters

NameInTypeRequiredDescription
tokenquerystringrequired
emailquerystringrequired

Responses

CodeDescription
200Successful Response
422Validation Error

POST /api/legal/sub-processors/subscribe

Subscribe

Insert (or refresh) a subscription row + send confirmation email.

Idempotent: re-subscribing within _RESEND_COOLDOWN returns the same response without sending a second email.

Request body: application/json

Responses

CodeDescription
202Successful Response
422Validation Error

GET /api/legal/sub-processors/unsubscribe

Unsubscribe

Parameters

NameInTypeRequiredDescription
tokenquerystringrequired
emailquerystringrequired

Responses

CodeDescription
200Successful Response
422Validation Error