Brixor API Documentation
Build powerful integrations with the Brixor REST API. Manage projects, clients, estimates, invoices, and contracts programmatically.
Quick Start
Get up and running with the Brixor API in under 5 minutes.
Get your API key
Navigate to Settings → API Access in your Brixor dashboard and click Generate New Key.
Set your base URL
BASE_URL="https://www.brixor.ai/api"Make your first request
curl -X GET "https://www.brixor.ai/api/projects" \
-H "Authorization: Bearer bxr_your_key_here" \
-H "Content-Type: application/json"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_xxxxxxxxxxxxxxxxHeader name
AuthorizationKey prefix
bxr_Key length
32 characters after prefixGenerating API Keys
- Log in to your Brixor account at brixor.ai
- Navigate to Settings → API Access
- Click Generate New Key and give it a descriptive name
- 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
curl -X GET "https://www.brixor.ai/api/projects" \
-H "Authorization: Bearer bxr_your_key_here"// 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
{
"data": { ... }, // Payload — null on error
"error": null // Error message — null on success
}Paginated Response
{
"data": [ ... ],
"error": null,
"meta": {
"total": 142, // Total items across all pages
"page": 1, // Current page (1-indexed)
"limit": 20 // Items per page
}
}Error Response
{
"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.
| Code | Name | Description |
|---|---|---|
200 | OK | Request succeeded. Data is in the response body. |
201 | Created | Resource created. Returned on successful POST requests. |
400 | Bad Request | Invalid parameters or missing required fields. |
401 | Unauthorized | Missing or invalid API key in Authorization header. |
403 | Forbidden | Valid key but insufficient permissions for this resource. |
404 | Not Found | Requested resource does not exist or was deleted. |
429 | Too Many Requests | Rate limit exceeded. See X-RateLimit-Reset for retry time. |
500 | Internal Server Error | Unexpected 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
| Header | Description |
|---|---|
| X-RateLimit-Limit | Max requests per minute for your plan |
| X-RateLimit-Remaining | Requests remaining in the current window |
| X-RateLimit-Reset | Unix timestamp when the rate limit window resets |
# 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: 1743159600Best practice: Implement exponential backoff on 429 responses. Wait until X-RateLimit-Reset before retrying. Upgrade to Premium for 5x higher rate limits.