API Documentation
Integrate 99 Limes lost & found data into your own systems. Use the REST API to list items, submit lost reports, and query claims programmatically.
Base URL
https://api.99limes.com.au/api/v1/
All endpoints require orgId and venueId as query parameters.
Authentication
Pass your API key via the Authorization header:
Authorization: Bearer YOUR_API_KEY
Alternatively, pass it as a query parameter: ?apiKey=YOUR_API_KEY
Note: Venues with public browsing enabled allow unauthenticated GET /items requests. All other endpoints require authentication.
Endpoints
GET /api/v1/items
List active lost & found items for a venue.
| Parameter | Type | Description |
|---|---|---|
orgId | string | Organisation ID (required) |
venueId | string | Venue ID (required) |
status | string | Filter by status: active, pending, claimed, returned |
type | string | Filter by type: found or lost |
limit | number | Max results (default 100, max 500) |
Example request:
curl "https://api.99limes.com.au/api/v1/items?orgId=ORG_ID&venueId=VENUE_ID&status=active" \ -H "Authorization: Bearer YOUR_API_KEY"
Example response:
{
"items": [
{
"id": "abc123",
"title": "Black iPhone 15",
"description": "Found near main stage",
"type": "found",
"status": "active",
"categoryName": "Electronics",
"lookupCode": "FV-EL-00042",
"location": "Main Stage",
"images": [{ "url": "...", "thumbnailUrl": "..." }],
"reportedAt": "2026-04-20T10:30:00.000Z",
"createdAt": "2026-04-20T10:30:00.000Z",
"updatedAt": "2026-04-20T10:30:00.000Z"
}
],
"count": 1
}GET /api/v1/items/:itemId
Get a single item by its ID.
curl "https://api.99limes.com.au/api/v1/items/ITEM_ID?orgId=ORG_ID&venueId=VENUE_ID" \ -H "Authorization: Bearer YOUR_API_KEY"
POST /api/v1/items
Create a new lost item report. Requires API key authentication.
| Field | Type | Description |
|---|---|---|
title | string | Item name (required) |
description | string | Description of the item |
type | string | lost or found (default: lost) |
categoryName | string | Category (e.g. "Electronics") |
location | string | Where the item was lost |
reporterName | string | Name of the person reporting |
reporterEmail | string | Email of the reporter |
curl -X POST "https://api.99limes.com.au/api/v1/items?orgId=ORG_ID&venueId=VENUE_ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Blue North Face Backpack",
"description": "Left near entrance gate around 3pm",
"type": "lost",
"categoryName": "Bags & Wallets",
"location": "Gate 2",
"reporterName": "Jane Smith",
"reporterEmail": "jane@example.com"
}'GET /api/v1/claims
List claims for a venue. Always requires API key authentication.
| Parameter | Type | Description |
|---|---|---|
status | string | Filter: submitted, approved, rejected, collected |
limit | number | Max results (default 100, max 500) |
Error Codes
| Code | Meaning |
|---|---|
400 | Missing required parameters |
401 | Invalid or missing API key |
404 | Resource not found |
405 | Method not allowed |
500 | Internal server error |
Rate Limits
The API is subject to Firebase Cloud Functions rate limits. For high-volume integrations, please contact support@appmajik.com.
Getting Your API Key
To obtain your API key, contact our support team at support@appmajik.com. API keys are issued per venue and can be revoked at any time.