UptimeTea

API Documentation

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

Register

Creates an account, sends a welcome email with an email confirmation link, and returns the new user with an API token.

POST https://api.uptimetea.com/auth/register

Headers

  • Content-TypeREQUIREDSTRING
    application/json

Body parameters

  • full_nameREQUIREDSTRING

    Split into first and last name at the first space.

  • emailREQUIREDSTRING

    Login email.

  • passwordREQUIREDSTRING

    Account password.

  • termsREQUIREDBOOLEAN

    Must be true: you accept the Terms of Service and Privacy Policy.

  • localeSTRING

    Interface language, such as en.

  • timezoneSTRING

    IANA timezone, such as Europe/Vilnius.

  • themeSTRING

    light or dark.

Response body

{
  "id": "uuid",
  "first_name": "John",
  "last_name": "Doe",
  "email": "user@example.com",
  "avatar_url": null,
  "locale": "en",
  "timezone": "UTC",
  "theme": "light",
  "team_id": "uuid",
  "team_name": "Acme",
  "team_role": "owner",
  "suspended": false,
  "billing_plan": "free",
  "email_verified": false,
  "token": "your-api-token"
}

Code examples

curl -X POST "https://api.uptimetea.com/auth/register" \
  -H "Content-Type: application/json" \
  -d '{
    "full_name": "John Doe",
    "email": "user@example.com",
    "password": "securepassword",
    "terms": true
  }'
// Register
const response = await fetch('https://api.uptimetea.com/auth/register', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "full_name": "John Doe",
    "email": "user@example.com",
    "password": "securepassword",
    "terms": true
  })
});

const data = await response.json();
console.log(data);
# Register
import requests

response = requests.post(
    'https://api.uptimetea.com/auth/register',
    json={
        'full_name': 'John Doe',
        'email': 'user@example.com',
        'password': 'securepassword',
        'terms': True
    }
)

print(response.json())
// Register
package main

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

func main() {
    body := strings.NewReader(`{
      "full_name": "John Doe",
      "email": "user@example.com",
      "password": "securepassword",
      "terms": true
    }`)
    req, _ := http.NewRequest("POST", "https://api.uptimetea.com/auth/register", body)
    req.Header.Set("Content-Type", "application/json")

    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))
}
# Register
require 'net/http'
require 'uri'

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

request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request.body = <<~JSON
  {
    "full_name": "John Doe",
    "email": "user@example.com",
    "password": "securepassword",
    "terms": true
  }
JSON

response = http.request(request)
puts response.code, response.body
<?php
// Register
$ch = curl_init('https://api.uptimetea.com/auth/register');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, <<<'JSON'
{
  "full_name": "John Doe",
  "email": "user@example.com",
  "password": "securepassword",
  "terms": true
}
JSON);

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