UptimeTea

API Documentation

The UptimeTea API is easy to use and free for all plans.

List on-call schedules

Returns your team's on-call schedules with their participants and who is on call now.

GET https://api.uptimetea.com/on_call_schedules

Headers

  • AuthorizationREQUIREDSTRING
    Bearer $TOKEN

Response body

[
  {
    "id": "uuid",
    "name": "Primary",
    "timezone": "Europe/Vilnius",
    "rotation_type": "weekly",
    "rotation_hours": null,
    "handoff_time": "09:00",
    "starts_on": "2024-01-15",
    "participants": [
      {
        "id": "uuid",
        "user_id": "uuid",
        "position": 0,
        "first_name": "Jane",
        "last_name": "Doe",
        "email": "jane@example.com"
      },
      {
        "id": "uuid",
        "user_id": "uuid",
        "position": 1,
        "first_name": "John",
        "last_name": "Doe",
        "email": "john@example.com"
      }
    ],
    "created_at": "2024-01-15T10:00:00Z",
    "on_call_user": {
      "id": "uuid",
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "jane@example.com"
    },
    "next_on_call_user": {
      "id": "uuid",
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com"
    },
    "next_handoff_at": "2024-01-22T07:00:00Z"
  }
]

Code examples

curl -X GET "https://api.uptimetea.com/on_call_schedules" \
  -H "Authorization: Bearer $TOKEN"
// List on-call schedules
const response = await fetch('https://api.uptimetea.com/on_call_schedules', {
  headers: {
    'Authorization': 'Bearer ' + yourToken
  }
});

const data = await response.json();
console.log(data);
# List on-call schedules
import requests

headers = {'Authorization': f'Bearer {your_token}'}

response = requests.get(
    'https://api.uptimetea.com/on_call_schedules',
    headers=headers
)

print(response.json())
// List on-call schedules
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://api.uptimetea.com/on_call_schedules", nil)
    req.Header.Set("Authorization", "Bearer "+yourToken)

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    data, _ := io.ReadAll(resp.Body)
    fmt.Println(resp.Status, string(data))
}
# List on-call schedules
require 'net/http'
require 'uri'

uri = URI('https://api.uptimetea.com/on_call_schedules')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri)
request['Authorization'] = "Bearer #{your_token}"

response = http.request(request)
puts response.code, response.body
<?php
// List on-call schedules
$ch = curl_init('https://api.uptimetea.com/on_call_schedules');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer ' . $yourToken
]);

$response = curl_exec($ch);
print_r(json_decode($response, true));
curl_close($ch);