Aan de slag

Paginering en filters

Lijsten (/tvs, /files en /playlists) zijn gepagineerd. De items staan in data en de pagina-informatie in meta.

NaamTypeBeschrijving
pageintegerPagina, vanaf 1. Standaard: 1.
per_pageintegerItems per pagina, van 1 tot 100. Standaard: 50.

Velden van meta

page integer
Huidige pagina.
per_page integer
Items per pagina.
total integer
Totaal aantal gevonden items, over alle pagina's.
total_pages integer
Totaal aantal pagina's.

Om alles op te halen, begint u bij page=1 en gaat u verder tot u total_pages bereikt. Een pagina na de laatste geeft een lege data terug.

Filters

Filters kunnen met elkaar en met de paginering worden gecombineerd. Het total in meta houdt al rekening met de filters.

NaamTypeBeschrijving
organizationstringuid van een organisatie, om alleen de items daarvan op te halen (zie /organizations).
qstringDeel van de naam, maximaal 100 tekens.
typestringBestandstype, zoals image of video. Alleen bij /files.
archivedinteger1 voor alleen gearchiveerde of 0 voor alleen niet-gearchiveerde bestanden. Alleen bij /files.

Volgorde

TV's en playlists staan in alfabetische volgorde, bestanden van nieuw naar oud.

Verzoek
curl "https://api.on-cloud.live/v1/tvs?per_page=2" \
  -H "X-API-Key: $API_KEY"
<?php
$ch = curl_init('https://api.on-cloud.live/v1/tvs?per_page=2');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('API_KEY')],
]);
$response = json_decode(curl_exec($ch), true);
const res = await fetch('https://api.on-cloud.live/v1/tvs?per_page=2', {
  headers: { 'X-API-Key': process.env.API_KEY }
});
const { data, meta } = await res.json();
Antwoord200
{
  "data": [
    {
      "uid": "d3d9446802a44259755d38e6d163e820",
      "name": "Caixa 2",
      "description": "",
      "organization": {
        "uid": "1679091c5a880faf6fb5e6087eb1b2dc",
        "name": "Loja Shopping Norte"
      },
      "playlist": null,
      "status": "offline",
      "last_seen_at": "2026-11-01T18:04:51-03:00",
      "activated_at": "2025-03-12T09:41:05-03:00",
      "app_version": "3.12.83",
      "os": "android",
      "device": {
        "brand": "Philco",
        "model": "PTV32G70"
      },
      "timezone": "America/Sao_Paulo"
    },
    {
      "uid": "c98cb8f9cc62887d1f6cf5693df9219c",
      "name": "Recepção",
      "description": "TV da entrada",
      "organization": {
        "uid": "8f14e45fceea167a5a36dedd4bea2543",
        "name": "Loja Centro"
      },
      "playlist": {
        "uid": "e4da3b7fbbce2345d7772b0674a318d5",
        "name": "Lista principal"
      },
      "status": "online",
      "last_seen_at": "2026-11-03T14:32:10-03:00",
      "activated_at": "2025-03-12T09:41:05-03:00",
      "app_version": "3.12.84",
      "os": "android",
      "device": {
        "brand": "TCL",
        "model": "43P635"
      },
      "timezone": "America/Sao_Paulo"
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 2,
    "total": 3,
    "total_pages": 2
  }
}
Ongeldige parameter400
GET /v1/tvs?per_page=500

{
  "error": {
    "code": "invalid_parameter",
    "message": "per_page must be a number between 1 and 100."
  }
}