Skip to main content
GET
/
api
/
v1
/
cards
curl -X GET "https://olive-gateway-a6ba.onrender.com/api/v1/cards" \
  -H "Authorization: Bearer olive_live_xxx"
{
  "cards": [
    {
      "serial": "OLIV0001",
      "mac_address": "AA:BB:CC:DD:EE:01",
      "type": "PARENT",
      "status": "ACTIVE",
      "subscriber_id": "sub_abc123",
      "subscriber_name": "John Doe",
      "linked_at": "2025-01-15T10:30:00Z"
    },
    {
      "serial": "OLIV0002",
      "mac_address": "AA:BB:CC:DD:EE:02",
      "type": "CHILD",
      "status": "ACTIVE",
      "subscriber_id": "sub_abc123",
      "parent_serial": "OLIV0001",
      "daily_limit": 5000000,
      "linked_at": "2025-01-16T14:00:00Z"
    },
    {
      "serial": "OLIV0003",
      "mac_address": "AA:BB:CC:DD:EE:03",
      "type": null,
      "status": "UNASSIGNED",
      "subscriber_id": null,
      "created_at": "2025-01-01T00:00:00Z"
    }
  ],
  "total_count": 1500,
  "limit": 50,
  "offset": 0
}

Request

Authorization
string
required
Bearer olive_live_xxx or Bearer eyJ... (JWT)

Query Parameters

status
string
Filter by status: ACTIVE, BLOCKED, UNASSIGNED, LOST
type
string
Filter by type: PARENT or CHILD
subscriber_id
string
Filter by subscriber UUID
Search by serial number or MAC address
limit
integer
default:"50"
Results per page (max 100)
offset
integer
default:"0"
Pagination offset

Response

cards
array
Array of card objects
total_count
integer
Total matching cards
limit
integer
Current page size
offset
integer
Current offset

Examples

curl -X GET "https://olive-gateway-a6ba.onrender.com/api/v1/cards" \
  -H "Authorization: Bearer olive_live_xxx"
{
  "cards": [
    {
      "serial": "OLIV0001",
      "mac_address": "AA:BB:CC:DD:EE:01",
      "type": "PARENT",
      "status": "ACTIVE",
      "subscriber_id": "sub_abc123",
      "subscriber_name": "John Doe",
      "linked_at": "2025-01-15T10:30:00Z"
    },
    {
      "serial": "OLIV0002",
      "mac_address": "AA:BB:CC:DD:EE:02",
      "type": "CHILD",
      "status": "ACTIVE",
      "subscriber_id": "sub_abc123",
      "parent_serial": "OLIV0001",
      "daily_limit": 5000000,
      "linked_at": "2025-01-16T14:00:00Z"
    },
    {
      "serial": "OLIV0003",
      "mac_address": "AA:BB:CC:DD:EE:03",
      "type": null,
      "status": "UNASSIGNED",
      "subscriber_id": null,
      "created_at": "2025-01-01T00:00:00Z"
    }
  ],
  "total_count": 1500,
  "limit": 50,
  "offset": 0
}

Common Filters

Use CaseQuery
Available cards?status=UNASSIGNED
All blocked cards?status=BLOCKED
Child cards only?type=CHILD
Cards for subscriber?subscriber_id=sub_abc123

Errors

StatusCodeDescription
401UNAUTHORIZEDInvalid or missing API key
403FORBIDDENInsufficient permissions
500INTERNAL_ERRORServer error