Introduction

The Pixelsuite API provides a powerful and flexible interface for interacting with the Pixelsuite platform. This documentation will guide you through authentication, available endpoints, and code examples to help you integrate with our services quickly and efficiently.

Quick Start

1. Obtain an API Key

To use the Pixelsuite API, you'll need an API key. Contact your account manager or system administrator to request API access. Each API key has specific permissions and rate limits assigned.

2. Make Your First Request

Test the API with a simple ping request (no authentication required):

curl -X GET https://api.pixelsuite.com.au/v1/ping

Expected response:

{
  "success": true,
  "message": "pong",
  "timestamp": 1708000000,
  "requestId": "req_abc123",
  "meta": {
    "statusCode": 200,
    "apiVersion": "1.0"
  }
}

3. Authenticate Your Requests

For protected endpoints, include your API key in the Authorization header:

curl -X GET https://api.pixelsuite.com.au/v1/client \
  -H "Authorization: Bearer YOUR_API_KEY"

Expected response:

{
  "success": true,
  "data": {
    "client": {
      "displayName": "Your Company Name",
      "timezone": "Australia/Sydney"
    },
    "venues": []
  }
}

4. Explore the Documentation

API Overview

Base URL

https://api.pixelsuite.com.au/v1

API Versioning

All API endpoints are versioned with the /v1 prefix. This ensures backward compatibility as the API evolves over time. Future versions will use /v2, /v3, etc.

Response Format

All API responses are returned in JSON format with a consistent structure:

{
  "success": true,
  "message": "Success",
  "timestamp": 1708000000,
  "requestId": "req_abc123",
  "meta": {
    "statusCode": 200,
    "apiVersion": "1.0"
  },
  "data": {}
}

Response Fields:

Field Description
success Boolean indicating if the request was successful
message Human-readable message describing the result
timestamp Unix timestamp of the response
requestId Unique identifier for request tracking and support
meta Metadata about the response (status code, version, etc.)
data Response payload (varies by endpoint)

Rate Limiting

The API implements rate limiting to ensure fair usage and system stability. Each API key has a default limit of 1000 requests per hour. Rate limit information is included in response headers:

  • X-RateLimit-Limit — Maximum requests allowed per hour
  • X-RateLimit-Remaining — Requests remaining in current window
  • X-RateLimit-Reset — Unix timestamp when the rate limit resets
Need Higher Limits?
Custom rate limits can be configured per API key. Contact your account manager if you need a higher limit for your use case.

When you exceed the rate limit, you'll receive a 429 Too Many Requests response:

{
  "success": false,
  "message": "Rate limit exceeded",
  "error": {
    "message": "You have exceeded the rate limit. Please try again later.",
    "code": 429
  },
  "meta": {
    "statusCode": 429,
    "retryAfter": 3600
  }
}

Error Handling

The API uses standard HTTP status codes to indicate success or failure:

Status Code Description
200 Success — Request completed successfully
400 Bad Request — Invalid parameters or validation error
401 Unauthorized — Missing or invalid API key
403 Forbidden — API key lacks permission for this endpoint
404 Not Found — Endpoint or resource not found
429 Too Many Requests — Rate limit exceeded
500 Internal Server Error — Something went wrong on our end

Error Response Format:

{
  "success": false,
  "message": "Authentication Required",
  "error": {
    "message": "No API key provided in Authorization header",
    "code": 401,
    "field": null
  },
  "meta": {
    "statusCode": 401
  }
}
Security Best Practice:
Always validate the HTTP status code and success field in your application logic. Log requestId values for troubleshooting with support.