List Offerings

GET https://backend.localbusiness.pro/api/v1/offerings

Returns a paginated list of service/product offerings for the authenticated business, sorted by creation date (newest first).

Header Parameters

X-Public-Key string required

Your business public key. Used to identify which business is making the request.

X-Timestamp string required

Current Unix timestamp in seconds. Requests older than 5 minutes are rejected.

X-Signature string required

HMAC-SHA256 signature of the signing string: {timestamp}\n{METHOD}\n{path}\n{body}, using your private key as the secret.

Query Parameters

page integer

Page number (1-indexed).

per_page integer

Items per page (max 100). Default: 25.

status string

Filter by status (e.g., active, inactive).

Responses

200 Paginated list of offerings.
{
  "offerings": [
    {
      "id": "d4e5f6a7-b8c9-0123-defa-234567890123",
      "name": "Standard Plumbing Inspection",
      "type": "service",
      "status": "active",
      "description": "Comprehensive plumbing system inspection for residential properties.",
      "service_details": [
        "Water pressure testing",
        "Pipe condition assessment",
        "Fixture inspection"
      ],
      "dont_book_appointment": false,
      "appointment_duration": 60,
      "created_at": "2025-11-15T08:00:00.000000Z",
      "updated_at": "2026-01-20T14:30:00.000000Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "per_page": 25,
    "total_items": 12,
    "total_pages": 1
  }
}
401 Missing credentials, expired timestamp, or invalid signature.
{
  "error": "Invalid API credentials",
  "code": "INVALID_CREDENTIALS"
}
403 Business account exists but is not active.
{
  "error": "Business account is not active",
  "code": "ACCOUNT_INACTIVE"
}
429 Rate limit exceeded (60 requests/minute per key).
{
  "message": "Too Many Attempts."
}