Documentation Index
Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
Use this file to discover all available pages before exploring further.
Accept Legal Terms
Records that the authenticated customer has accepted the current general terms and conditions, and optionally any pending contract-specific terms. The portal calls this endpoint when a customer clicks “Accept” on the legal terms modal that is shown when MustAgreeToTerms is true on the /api/public/legal/status response.
Authentication
Requires a valid customer bearer token.
Request Body
Send an empty body or a JSON object indicating the accepted terms. The portal typically posts with no body after the customer explicitly accepts on-screen.
POST /api/public/legal/accept
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json
Response
Returns an ActionConfirmation envelope.
true when the acceptance was recorded. The terms modal should be dismissed and the customer should be granted access to the portal.
HTTP-style status code mirrored in the body. 200 on success.
Human-readable message. Usually null on success.
Validation errors. null on success.
Example Response
{
"WasSuccessful": true,
"Value": null,
"Status": 200,
"Message": null,
"Errors": null
}
TypeScript Integration
import endpoints from '@/api/endpoints'
import { ActionConfirmation } from '@/types/ActionConfirmation'
const url = endpoints.system.accept_terms()
// => '/api/public/legal/accept'
const response = await httpClient.post<ActionConfirmation>(url)
if (response.data.WasSuccessful) {
// Dismiss the legal terms modal and continue
}
Usage in Portal
| Context | Source file |
|---|
| Legal terms acceptance modal | src/components/LegalTerms/ or app bootstrap |
Error Responses
The bearer token is missing, expired, or invalid.
The request is malformed or there are no pending terms to accept.
| Method | Endpoint | Description |
|---|
GET | /api/public/legal/status | Check whether the customer must agree to terms |