Skip to main content
POST
/
api
/
public
/
legal
/
accept
{
  "WasSuccessful": true,
  "Value": {},
  "Status": 123,
  "Message": {},
  "Errors": "<any>",
  "401 Unauthorized": {},
  "400 Bad Request": {}
}

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.
WasSuccessful
boolean
true when the acceptance was recorded. The terms modal should be dismissed and the customer should be granted access to the portal.
Value
string | null
Usually null on success.
Status
number
HTTP-style status code mirrored in the body. 200 on success.
Message
string | null
Human-readable message. Usually null on success.
Errors
any
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

ContextSource file
Legal terms acceptance modalsrc/components/LegalTerms/ or app bootstrap

Error Responses

401 Unauthorized
error
The bearer token is missing, expired, or invalid.
400 Bad Request
error
The request is malformed or there are no pending terms to accept.
MethodEndpointDescription
GET/api/public/legal/statusCheck whether the customer must agree to terms