Skip to content
LIVCK Cloud

Run LIVCK from code

Anything you click in the console also works through the REST API, with Terraform and from your AI assistant. 102 API endpoints and 122 MCP tools, all bound by the same permissions as the console.

Four ways in

Pick the one that fits the job. All four talk to the same organization and respect the same roles and permissions.

Team and up

REST API

JSON over HTTPS for scripts, CI/CD, chat bots and your own dashboards. 102 endpoints, described in OpenAPI.

Team and up

Terraform and OpenTofu

Services, status pages, components, maintenance windows and custom domains as code. With plan, review and import of what already exists.

all plans

MCP server for AI assistants

Claude Code, Cursor, VS Code, Codex and many other clients work with LIVCK directly. Anything that reaches the outside world waits for your confirmation.

Team and up

SDKs for PHP and Laravel

Ready-made clients instead of raw HTTP. The Laravel package adds a facade, multiple connections and a fake for your test suite.

What can the API do?

Each area in two sentences. Below each one is the full list of endpoints, generated from the API description, so it always matches the product.

Services

15 endpoints

Create, change, pause, resume and delete monitors. Read recent checks, daily uptime and response times, and set a manual status when you have something to report yourself.

Show endpoints
  • GET/services

    List services (paginated)

  • POST/services

    Create a service

  • DELETE/services/{service}

    Delete a service

  • GET/services/{service}

    Get a service

  • PUT/services/{service}

    Update a service

  • GET/services/{service}/checks

    List check results (cursor-paginated)

  • GET/services/{service}/incidents

    List a service's incidents (paginated)

  • GET/services/{service}/maintenances

    List a service's maintenances (paginated)

  • GET/services/{service}/metrics

    Aggregated stats for a range: uptime as a percentage (0-100), latency percentiles in ms, check counts

  • POST/services/{service}/pause

    Pause a service

  • GET/services/{service}/response-times

    Response-time trend (time-series) for a range

  • POST/services/{service}/resume

    Resume a paused service

  • DELETE/services/{service}/status-override

    Remove the manual status override

  • POST/services/{service}/status-override

    Apply a manual status override

  • GET/services/{service}/uptime

    Per-day uptime for the last N days (default 30, max 90). `uptime_percent` is 0-100

Incidents

7 endpoints

Open incidents, post updates and resolve them. Texts carry every language of your status pages, and subscribers are notified if you want them to be.

Show endpoints
  • GET/incidents

    List incidents (paginated)

  • POST/incidents

    Create an incident

  • DELETE/incidents/{incident}

    Delete an incident

  • GET/incidents/{incident}

    Get an incident (with its updates and affected services)

  • PUT/incidents/{incident}

    Update an incident

  • POST/incidents/{incident}/resolve

    Resolve an incident

  • POST/incidents/{incident}/updates

    Post an update to an incident

Maintenance

9 endpoints

Schedule maintenance windows, start them early, extend, complete or cancel them. While a window runs, the affected services open no incidents.

Show endpoints
  • GET/maintenances

    List scheduled maintenances (paginated)

  • POST/maintenances

    Schedule a maintenance

  • DELETE/maintenances/{maintenance}

    Delete a maintenance

  • GET/maintenances/{maintenance}

    Get a maintenance (with its updates and affected services)

  • PUT/maintenances/{maintenance}

    Update a maintenance

  • POST/maintenances/{maintenance}/cancel

    Cancel a scheduled maintenance

  • POST/maintenances/{maintenance}/complete

    Complete a running maintenance window

  • POST/maintenances/{maintenance}/extend

    Extend a running or already-completed maintenance window

  • POST/maintenances/{maintenance}/start

    Start a maintenance window now

Status pages

30 endpoints

Create, design and publish status pages. Components, groups, charts, logos and custom domains with verification are all part of it.

Show endpoints
  • GET/statuspages

    List status pages (paginated)

  • POST/statuspages

    Create a status page

  • DELETE/statuspages/{statuspage}

    Delete a status page

  • GET/statuspages/{statuspage}

    Get a status page, including its component tree

  • PUT/statuspages/{statuspage}

    Update a status page

  • DELETE/statuspages/{statuspage}/assets/{asset}

    Remove a status page asset

  • POST/statuspages/{statuspage}/assets/{asset}

    Upload (replace) a status page asset

  • GET/statuspages/{statuspage}/components

    List a status page's components

  • POST/statuspages/{statuspage}/components

    Create a component

  • DELETE/statuspages/{statuspage}/components/{component}

    Delete a component

  • GET/statuspages/{statuspage}/components/{component}

    Get a component

  • PUT/statuspages/{statuspage}/components/{component}

    Update a component

  • GET/statuspages/{statuspage}/custom-domains

    List a status page's custom domains

  • POST/statuspages/{statuspage}/custom-domains

    Attach a custom domain

  • DELETE/statuspages/{statuspage}/custom-domains/{domain}

    Detach a custom domain

  • GET/statuspages/{statuspage}/custom-domains/{domain}

    Get a custom domain

  • POST/statuspages/{statuspage}/custom-domains/{domain}/verify

    Trigger an immediate verification re-check

  • GET/statuspages/{statuspage}/layout

    Get a status page's layout

  • PUT/statuspages/{statuspage}/layout

    Replace a status page's layout

  • GET/statuspages/{statuspage}/metrics

    List a status page's metric charts (with their series)

  • POST/statuspages/{statuspage}/metrics

    Create a metric chart

  • DELETE/statuspages/{statuspage}/metrics/{metric}

    Delete a metric chart and its series

  • GET/statuspages/{statuspage}/metrics/{metric}

    Get a metric chart

  • PUT/statuspages/{statuspage}/metrics/{metric}

    Update a metric chart

  • POST/statuspages/{statuspage}/metrics/{metric}/series

    Add a series to a metric chart

  • DELETE/statuspages/{statuspage}/metrics/{metric}/series/{series}

    Delete a series

  • GET/statuspages/{statuspage}/metrics/{metric}/series/{series}

    Get a series

  • PUT/statuspages/{statuspage}/metrics/{metric}/series/{series}

    Update a series

  • POST/statuspages/{statuspage}/publish

    Publish a status page

  • POST/statuspages/{statuspage}/unpublish

    Unpublish a status page (emergency takedown)

On-call

20 endpoints

Manage schedules, shifts, overrides and absences. One request tells you who is on call right now.

Show endpoints
  • GET/oncall/absences

    List the organization's absences

  • POST/oncall/absences

    Record an absence for a member

  • DELETE/oncall/absences/{absence}

    Delete an absence. Future shifts revert to the base rotation

  • DELETE/oncall/cover-requests/{coverRequest}

    Cancel an open cover request

  • POST/oncall/cover-requests/{coverRequest}/accept

    Accept a cover request

  • POST/oncall/cover-requests/{coverRequest}/decline

    Decline a cover request sent to you

  • GET/oncall/on-call

    Who is on call in a time window

  • GET/oncall/schedules

    List on-call schedules (paginated)

  • POST/oncall/schedules

    Create an on-call schedule

  • DELETE/oncall/schedules/{schedule}

    Delete an on-call schedule

  • GET/oncall/schedules/{schedule}

    Get an on-call schedule

  • PUT/oncall/schedules/{schedule}

    Update an on-call schedule (partial)

  • GET/oncall/schedules/{schedule}/cover-requests

    List a schedule's cover requests

  • POST/oncall/schedules/{schedule}/cover-requests

    Request cover for a shift

  • GET/oncall/schedules/{schedule}/on-call

    Who is on call now for one schedule

  • GET/oncall/schedules/{schedule}/overrides

    List a schedule's overrides

  • POST/oncall/schedules/{schedule}/overrides

    Create an override

  • DELETE/oncall/schedules/{schedule}/overrides/{override}

    Delete an override

  • POST/oncall/schedules/{schedule}/shifts

    Add a shift to a manual schedule

  • POST/oncall/schedules/{schedule}/shifts/preview

    Preview a schedule's rotation

Server agent

12 endpoints

Create keys to enroll new servers, read a server's current figures and history, fetch its events and set alert thresholds.

Show endpoints
  • GET/enrollment-keys

    List enrollment keys (paginated), newest first

  • POST/enrollment-keys

    Create an enrollment key

  • DELETE/enrollment-keys/{key}

    Revoke an enrollment key

  • GET/enrollment-keys/{key}

    Get an enrollment key, with the servers enrolled with it

  • GET/services/{service}/agent-events

    List agent lifecycle events (paginated)

  • GET/services/{service}/agent-metrics

    Current figures of a server

  • GET/services/{service}/agent-metrics/history

    History of a server's figures

  • GET/services/{service}/conditions

    List a server's threshold conditions

  • POST/services/{service}/conditions

    Create a threshold condition

  • DELETE/services/{service}/conditions/{condition}

    Delete a threshold condition

  • GET/services/{service}/conditions/{condition}

    Get a threshold condition

  • PUT/services/{service}/conditions/{condition}

    Update a threshold condition

Tags

6 endpoints

Create, rename and recolor tags. One call finds a tag or creates it, which keeps scripts safe to rerun.

Show endpoints
  • GET/tags

    List tags (paginated)

  • POST/tags

    Create a tag

  • POST/tags/ensure

    Find or create a tag

  • DELETE/tags/{tag}

    Delete a tag

  • GET/tags/{tag}

    Get a tag

  • PUT/tags/{tag}

    Update a tag (rename and/or recolor)

Reference data

3 endpoints

The active monitoring locations, every field per check type and the calling token. Build valid requests without guessing.

Show endpoints
  • GET/me

    Get the calling token

  • GET/meta/check-types

    Get the check-type configuration catalog

  • GET/probes

    List monitoring locations (probes)

Endpoint summaries are taken from the API reference.

An incident straight from your deployment

Your rollout goes wrong and the pipeline knows first. One call opens the incident, shows it on the status page and notifies subscribers.

The essentials

Base URL
https://api.livck.cloud/v1
Authentication
Bearer token in the header, prefix lvk_
Rate limit
120 requests per minute per token
Format
JSON, paginated lists, errors with message and errors
Plan
API from Team, MCP read on every plan, write from Solo
POST /v1/incidents
curl -X POST https://api.livck.cloud/v1/incidents \
  -H "Authorization: Bearer $LIVCK_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": {
      "de": "Störung beim Bezahlvorgang",
      "en": "Payment issues at checkout"
    },
    "message": {
      "de": "Wir untersuchen das Problem.",
      "en": "We are investigating."
    },
    "severity": "major",
    "status": "investigating",
    "service_ids": ["V1StGXR8Z5jdHi6BmyTq2"],
    "is_published": true,
    "notify_subscribers": true
  }'

Send is_published as false and the incident stays an internal draft. Publish it later with PUT or from the console.

Events going out

Not everything has to be polled. LIVCK reaches out by itself too.

Signed webhooks

Every webhook carries a signature following the Standard Webhooks spec. Any library for that spec verifies it, so there is nothing to build yourself.

Status page feeds

Every public status page serves its history as RSS and Atom and its current state as status.json. No token needed, ready for wikis, dashboards and your own tooling.

Chat channels

Slack, Microsoft Teams, Discord and Telegram receive alerts and status updates right in the channel. On every plan.

How safe is access from code?

A token can never do more than the person who created it.

Tokens belong to the organization

API tokens are service accounts of the organization. They are not tied to a person and survive changes in your team.

Only the rights you have

A new token gets at most your own permissions. Grant only what the script actually needs.

A separate token for AI assistants

MCP tokens start with lvkm_ and only work for the MCP server, never for the regular API.

Preview first, effect second

Anything that reaches customers, wakes someone, turns alerting off or deletes comes back from the MCP server as a preview first. It runs after you confirm.

API FAQ

The REST API is included in Team at €49 and in Business at €119 per month, excluding VAT. There is no separate API subscription. Each token may send 120 requests per minute. Free and Solo have no API access. The MCP server can still read there, and from Solo it can write too.

With an API token in the Authorization: Bearer header. Tokens start with lvk_ and belong to the organization, not to a person. You create them in the console under Settings, API tokens, and give them at most the rights you have yourself.

Yes. All 102 endpoints are described in OpenAPI, and the reference lives at api.livck.cloud/docs/api. The endpoint list on this page is generated from the same description, so it always matches the product.

Yes. Your organization's webhooks are signed according to Standard Webhooks and can be verified with any library for it. Every public status page also serves status.json plus RSS and Atom feeds without a token. Slack, Microsoft Teams, Discord and Telegram receive alerts straight in the channel.

Yes, for PHP and Laravel. The PHP SDK is livck/cloud-php, the Laravel package is livck/cloud-laravel. The Laravel package adds a facade, multiple connections and a test fake. For infrastructure as code there is the Terraform provider.

See the Terraform provider

Get going with one token

Create an account, create a token, make your first call. The docs walk you through it in five minutes.