Brixor/API Documentation

Brixor API Documentation

Build powerful integrations with the Brixor REST API. Manage projects, clients, estimates, invoices, and contracts programmatically.

https://www.brixor.ai/apiv1.0 Stable

Quick Start

Get up and running with the Brixor API in under 5 minutes.

1

Get your API key

Navigate to Settings → API Access in your Brixor dashboard and click Generate New Key.

2

Set your base URL

bash
BASE_URL="https://www.brixor.ai/api"
3

Make your first request

bash
curl -X GET "https://www.brixor.ai/api/projects" \
  -H "Authorization: Bearer bxr_your_key_here" \
  -H "Content-Type: application/json"
javascript
const response = await fetch('https://www.brixor.ai/api/projects', {
  headers: {
    'Authorization': 'Bearer bxr_your_key_here',
    'Content-Type': 'application/json',
  },
})
const { data } = await response.json()
console.log(data)

Authentication

The Brixor API uses Bearer token authentication. All API keys are prefixed with bxr_ for easy identification.

Token format

Bearer bxr_xxxxxxxxxxxxxxxx

Header name

Authorization

Key prefix

bxr_

Key length

32 characters after prefix

Generating API Keys

  1. Log in to your Brixor account at brixor.ai
  2. Navigate to Settings → API Access
  3. Click Generate New Key and give it a descriptive name
  4. Copy and store your key securely — it is only shown once

Security Best Practices

  • Never expose API keys in client-side code or public repositories
  • Store keys in environment variables (e.g., BRIXOR_API_KEY)
  • Rotate keys periodically or immediately if you suspect a compromise
  • Use separate keys for development and production environments
  • Delete unused keys via Settings → API Access
bash
curl -X GET "https://www.brixor.ai/api/projects" \
  -H "Authorization: Bearer bxr_your_key_here"
javascript
// Store your key in an environment variable
const BRIXOR_API_KEY = process.env.BRIXOR_API_KEY

const headers = {
  'Authorization': `Bearer ${BRIXOR_API_KEY}`,
  'Content-Type': 'application/json',
}

const res = await fetch('https://www.brixor.ai/api/projects', { headers })
const json = await res.json()

Endpoints — Projects

Manage your construction and contracting projects.

Endpoints — Clients

Manage your client contacts and information.

Endpoints — Estimates

Create, manage, and generate AI-powered estimates for your projects.

Endpoints — Invoices

Create and retrieve invoices linked to your projects and estimates.

Endpoints — Contracts

Generate and retrieve professional contracts for your projects.

Endpoints — API Keys

Programmatically manage your API keys. Useful for automated key rotation.

Response Format

All API responses follow a consistent envelope format.

Standard Response

json
{
  "data": { ... },      // Payload — null on error
  "error": null         // Error message — null on success
}

Paginated Response

json
{
  "data": [ ... ],
  "error": null,
  "meta": {
    "total": 142,       // Total items across all pages
    "page": 1,          // Current page (1-indexed)
    "limit": 20         // Items per page
  }
}

Error Response

json
{
  "data": null,
  "error": "Project not found"
}

Pagination: Use ?page=1&limit=20 on list endpoints. Maximum limit is 100 per request.

Error Codes

Brixor uses standard HTTP status codes. Check the error field for details.

CodeNameDescription
200OKRequest succeeded. Data is in the response body.
201CreatedResource created. Returned on successful POST requests.
400Bad RequestInvalid parameters or missing required fields.
401UnauthorizedMissing or invalid API key in Authorization header.
403ForbiddenValid key but insufficient permissions for this resource.
404Not FoundRequested resource does not exist or was deleted.
429Too Many RequestsRate limit exceeded. See X-RateLimit-Reset for retry time.
500Internal Server ErrorUnexpected server error. Contact support@brixor.ai if it persists.

Rate Limiting

Rate limits apply per API key. Exceeding the limit returns 429 Too Many Requests.

Free Tier

60

requests per minute

Premium Tier

300

requests per minute

Rate Limit Headers

HeaderDescription
X-RateLimit-LimitMax requests per minute for your plan
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the rate limit window resets
bash
# Inspect rate limit headers
curl -I "https://www.brixor.ai/api/projects" \
  -H "Authorization: Bearer bxr_your_key_here"

# Sample response headers:
# X-RateLimit-Limit: 60
# X-RateLimit-Remaining: 57
# X-RateLimit-Reset: 1743159600

Best practice: Implement exponential backoff on 429 responses. Wait until X-RateLimit-Reset before retrying. Upgrade to Premium for 5x higher rate limits.