Error Handling

How Errors Work

Biamo Core returns errors in a consistent JSON format to help you quickly identify and fix issues.
All error responses will have:

  • success: false

  • an error object that includes:

    • a human-readable message

    • a machine-readable code (for programmatic handling)

EVENTS

PROJECT

PROJECT

AUTH_001

Unauthorized. Invalid API key or missing project ID.


Your API key or project ID is missing or invalid.


VALIDATION_001

Invalid request body.

Your request payload is missing required fields or has invalid data.

NOT_FOUND

Resource not found.

The requested resource (API key, webhook, device) does not exist.

LIMIT_003

Maximum of 3 admins allowed per business.

You've reached the maximum number of admin users allowed.

CONFLICT_001

Resource already exists.

The resource you're trying to create already exists.

DUPLICATE_EMAIL

An admin with this email already exists.

The email you're trying to register is already in use.

SERVER_ERROR

Internal server error.

Something unexpected happened on our side. Please try again later.

RATE_LIMIT

Rate limit exceeded.

You have exceeded the maximum number of allowed API requests.

Example: Missing API Key

Request

index.js
1curl --request GET \
2 --url https://api.biamo.dev/api/developer/api-keys
3
4(Missing headers — no x-api-key or x-project-id!)
5

Error Response

index.js
1{
2 "success": false,
3 "error": {
4 "message": "Unauthorized. Invalid API key or missing project ID.",
5 "code": "AUTH_001"
6 }
7}
8

Example: Validation Error

Request

index.js
1curl --request POST \
2 --url https://api.biamo.dev/api/developer/webhooks \
3 --header "x-api-key: YOUR_API_KEY" \
4 --header "x-project-id: YOUR_PROJECT_ID" \
5 --header "Content-Type: application/json" \
6 --data '{
7 "url": "invalid-url",
8 "event": "billing.payment_updated"
9 }'
10

Error Response

index.js
1{
2 "success": false,
3 "error": {
4 "message": "Invalid URL format",
5 "code": "VALIDATION_001"
6 }
7}
8

How to Recover

  • Authorization errors → Double-check your x-api-key and x-project-id headers.


  • Validation errors → Review the API reference for required fields and correct data types.

  • Not found errors → Ensure you're using the correct resource IDs (e.g., API key ID, webhook ID).

  • Rate limit errors → Wait a short period and retry your request.

  • Conflict errors → Check if the resource already exists or update it instead of creating a new one.

  • Server errors → If the problem persists, contact Biamo Core Support.

2025 © BIAMO. All Rights Reserved.