Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.bitcoinflash.xyz/llms.txt

Use this file to discover all available pages before exploring further.

Standard Error Format

All error responses follow a consistent JSON format:
{
  "success": false,
  "message": "Human-readable error message",
  "error": "Technical error detail (optional)"
}

HTTP Status Codes

CodeStatusDescription
200OKRequest succeeded
201CreatedResource created successfully
400Bad RequestInvalid request data or business rule violation
401UnauthorizedMissing or invalid JWT token
403ForbiddenInsufficient permissions (role check) or KYC required
404Not FoundRequested resource does not exist
422Unprocessable EntityValidation errors
429Too Many RequestsRate limit exceeded
500Internal Server ErrorUnexpected server error

Validation Errors (422)

Validation errors return a structured list of field-level messages:
{
  "message": "The given data was invalid.",
  "errors": {
    "email": ["Une adresse E-mail valide est requise."],
    "password": ["Le mot de passe doit contenir au moins 8 caractères."]
  }
}

Authentication Errors (401)

{
  "message": "Unauthenticated."
}

Permission Errors (403)

{
  "success": false,
  "message": "This action is unauthorized."
}

Rate Limiting (429)

When you exceed the rate limit, the API returns a 429 status. Back off and retry after 1 minute.

Common Error Scenarios

If your OTP has expired (they are time-limited), use the Regenerate OTP endpoint to request a new one.
JWT tokens expire after 60 minutes. Use the Refresh Token endpoint to obtain a new token without re-authenticating.