Skip to content
Uptizm
Start free
Sign in

Language

Menu
View as Markdown

API reference

Incidents

Incidents, their timeline, AI analysis and drafts, and AI suggestions.

GET /incidents incidents:read #

List incidents

The team's incidents, newest first, cursor-paginated (at most 100 per page).

Parameters

NameInTypeRequiredDescription
monitor_idquerystringNoFilter by the affected monitor, matching either the denormalized primary hint or the full affected-component pivot.
lifecyclequerystringNo
ai_ownedquerybooleanNo
qquerystringNoFree-text search over the incident title.
per_pagequeryinteger, min 1, max 200NoPage size, clamped to 1 and the endpoint's maximum (200 on most lists).
cursorquerystringNoThe meta.next_cursor of the previous page.

Response 200 application/json

  • data array of IncidentResource required
    • id string required
    • team_id string required
    • title string required
    • title_key string or null required

      The translation key of the incident title, sent beside title.

    • title_params array of any required
    • lifecycle string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
    • severity string, one of "critical", "warn", "info" required
    • impact string, one of "none", "minor", "major", "critical" required
    • signal_source string, one of "user_threshold", "ai_anomaly", "manual" required
    • ai_owned boolean required
    • primary_monitor_id string or null required
    • trigger_metric_key string or null required
    • started_at string required
    • resolved_at string or null required
    • postmortem_body string or null required
    • postmortem_published_at string or null required
    • assignee object

      The responder the incident is assigned to, or null when it is unassigned.

      • id string required
      • name string required
    • ai_investigation object or null

      The AI investigation report for the incident, or null when there is none to show.

      • verdict string or null required
      • summary string or null required
      • evidence_for string or array of string, max items 0 required
      • evidence_against string or array of string, max items 0 required
      • used_confirmation boolean required
      • confirmation_region string required
      • model string required
    • monitors array of object
      • monitor_id string required
      • name string required
      • component_status_at_start string or null required
      • component_status_current string or null, one of "up", "down", "degraded", "paused", "maintenance", null required

        Read from the monitor, not the pivot.

    • updates array of IncidentUpdateResource
      • id string required
      • incident_id string required
      • actor string required
      • author string or null required
      • status string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
      • message string required
      • is_public boolean required
      • autonomous boolean required
      • display_at string required
      • created_at string or null required
    • created_at string or null required
    • updated_at string or null required
  • links object required
    • first string or null required
    • last string or null required
    • prev string or null required
    • next string or null required
  • meta object required
    • path string or null required

      Base path for paginator generated URLs.

    • per_page integer, min 0 required

      Number of items shown per page.

    • next_cursor string or null required

      The "cursor" that points to the next set of items.

    • prev_cursor string or null required

      The "cursor" that points to the previous set of items.

    • open_total integer required
    • critical_total integer required
    • ai_total integer required
    • resolved_total integer required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X GET "https://api.uptizm.com/v1/incidents" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/incidents', {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
  },
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
    ],
]);

$response = curl_exec($curl);
import os

import requests

response = requests.get(
    "https://api.uptizm.com/v1/incidents",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.json())
POST /incidents incidents:write #

Open an incident

Opens a manual incident for one of the team's monitors.

Parameters

NameInTypeRequiredDescription
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • monitor_id string, uuid required
  • severity IncidentSeverity: string, one of "critical", "warn", "info" required

    Severity tier assigned to an incident for routing and tone styling.

  • title string, max length 200 required
  • message string or null, max length 2000
  • notify boolean

    Whether to announce the open to the affected pages' confirmed subscribers.

  • impact IncidentImpact: string, one of "none", "minor", "major", "critical" or null

Response 200 application/json

No documented fields.

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 422 Validation error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/incidents" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "monitor_id": "00000000-0000-4000-8000-000000000000",
    "severity": "critical",
    "title": "string"
}'
const payload = {
    "monitor_id": "00000000-0000-4000-8000-000000000000",
    "severity": "critical",
    "title": "string"
};

const response = await fetch('https://api.uptizm.com/v1/incidents', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents');

$payload = <<<'JSON'
{
    "monitor_id": "00000000-0000-4000-8000-000000000000",
    "severity": "critical",
    "title": "string"
}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/incidents",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{
    "monitor_id": "00000000-0000-4000-8000-000000000000",
    "severity": "critical",
    "title": "string"
}''',
)

print(response.json())
GET /incidents/digest incidents:read #

Get the weekly digest

The latest stored weekly incident digest of the team.

Response 200 application/json

  • data object required
    • week_start string required
    • week_end string required
    • uptime_percent number required
    • incident_count integer required
    • confidence string, one of "high", "medium", "low" required
    • summary string required
    • highlights array of any required
    • stripped_citations array of any required
    • generated_at string required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 An error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X GET "https://api.uptizm.com/v1/incidents/digest" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/incidents/digest', {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
  },
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/digest');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
    ],
]);

$response = curl_exec($curl);
import os

import requests

response = requests.get(
    "https://api.uptizm.com/v1/incidents/digest",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.json())
GET /incidents/{incident} incidents:read #

Get an incident

One incident with its timeline. Updates posted through a key show the author as "API key: <name>".

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID

Response 200 application/json

  • data IncidentResource and object required
    • id string required
    • team_id string required
    • title string required
    • title_key string or null required

      The translation key of the incident title, sent beside title.

    • title_params array of any required
    • lifecycle string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
    • severity string, one of "critical", "warn", "info" required
    • impact string, one of "none", "minor", "major", "critical" required
    • signal_source string, one of "user_threshold", "ai_anomaly", "manual" required
    • ai_owned boolean required
    • primary_monitor_id string or null required
    • trigger_metric_key string or null required
    • started_at string required
    • resolved_at string or null required
    • postmortem_body string or null required
    • postmortem_published_at string or null required
    • assignee object required

      The responder the incident is assigned to, or null when it is unassigned.

      • id string required
      • name string required
    • ai_investigation object or null required

      The AI investigation report for the incident, or null when there is none to show.

      • verdict string or null required
      • summary string or null required
      • evidence_for string or array of string, max items 0 required
      • evidence_against string or array of string, max items 0 required
      • used_confirmation boolean required
      • confirmation_region string required
      • model string required
    • monitors array of object required
      • monitor_id string required
      • name string required
      • component_status_at_start string or null required
      • component_status_current string or null, one of "up", "down", "degraded", "paused", "maintenance", null required

        Read from the monitor, not the pivot.

    • updates array of IncidentUpdateResource required
      • id string required
      • incident_id string required
      • actor string required
      • author string or null required
      • status string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
      • message string required
      • is_public boolean required
      • autonomous boolean required
      • display_at string required
      • created_at string or null required
    • created_at string or null required
    • updated_at string or null required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X GET "https://api.uptizm.com/v1/incidents/INCIDENT" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT', {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
  },
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
    ],
]);

$response = curl_exec($curl);
import os

import requests

response = requests.get(
    "https://api.uptizm.com/v1/incidents/INCIDENT",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.json())
POST /incidents/{incident}/resolve incidents:write #

Resolve an incident

Resolves an active incident, whatever the monitor's live health.

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • message string or null, max length 2000

Response 200 application/json

  • data IncidentResource and object required
    • id string required
    • team_id string required
    • title string required
    • title_key string or null required

      The translation key of the incident title, sent beside title.

    • title_params array of any required
    • lifecycle string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
    • severity string, one of "critical", "warn", "info" required
    • impact string, one of "none", "minor", "major", "critical" required
    • signal_source string, one of "user_threshold", "ai_anomaly", "manual" required
    • ai_owned boolean required
    • primary_monitor_id string or null required
    • trigger_metric_key string or null required
    • started_at string required
    • resolved_at string or null required
    • postmortem_body string or null required
    • postmortem_published_at string or null required
    • assignee object required

      The responder the incident is assigned to, or null when it is unassigned.

      • id string required
      • name string required
    • ai_investigation object or null required

      The AI investigation report for the incident, or null when there is none to show.

      • verdict string or null required
      • summary string or null required
      • evidence_for string or array of string, max items 0 required
      • evidence_against string or array of string, max items 0 required
      • used_confirmation boolean required
      • confirmation_region string required
      • model string required
    • monitors array of object required
      • monitor_id string required
      • name string required
      • component_status_at_start string or null required
      • component_status_current string or null, one of "up", "down", "degraded", "paused", "maintenance", null required

        Read from the monitor, not the pivot.

    • updates array of IncidentUpdateResource required
      • id string required
      • incident_id string required
      • actor string required
      • author string or null required
      • status string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
      • message string required
      • is_public boolean required
      • autonomous boolean required
      • display_at string required
      • created_at string or null required
    • created_at string or null required
    • updated_at string or null required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 422 Validation error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/incidents/INCIDENT/resolve" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{}'
const payload = {};

const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT/resolve', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT/resolve');

$payload = <<<'JSON'
{}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/incidents/INCIDENT/resolve",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{}''',
)

print(response.json())
POST /incidents/{incident}/acknowledge incidents:write #

Acknowledge an incident

Acknowledges a newly detected incident and moves it to investigating.

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • message string or null, max length 2000

Response 200 application/json

  • data IncidentResource and object required
    • id string required
    • team_id string required
    • title string required
    • title_key string or null required

      The translation key of the incident title, sent beside title.

    • title_params array of any required
    • lifecycle string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
    • severity string, one of "critical", "warn", "info" required
    • impact string, one of "none", "minor", "major", "critical" required
    • signal_source string, one of "user_threshold", "ai_anomaly", "manual" required
    • ai_owned boolean required
    • primary_monitor_id string or null required
    • trigger_metric_key string or null required
    • started_at string required
    • resolved_at string or null required
    • postmortem_body string or null required
    • postmortem_published_at string or null required
    • assignee object required

      The responder the incident is assigned to, or null when it is unassigned.

      • id string required
      • name string required
    • ai_investigation object or null required

      The AI investigation report for the incident, or null when there is none to show.

      • verdict string or null required
      • summary string or null required
      • evidence_for string or array of string, max items 0 required
      • evidence_against string or array of string, max items 0 required
      • used_confirmation boolean required
      • confirmation_region string required
      • model string required
    • monitors array of object required
      • monitor_id string required
      • name string required
      • component_status_at_start string or null required
      • component_status_current string or null, one of "up", "down", "degraded", "paused", "maintenance", null required

        Read from the monitor, not the pivot.

    • updates array of IncidentUpdateResource required
      • id string required
      • incident_id string required
      • actor string required
      • author string or null required
      • status string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
      • message string required
      • is_public boolean required
      • autonomous boolean required
      • display_at string required
      • created_at string or null required
    • created_at string or null required
    • updated_at string or null required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 422 Validation error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/incidents/INCIDENT/acknowledge" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{}'
const payload = {};

const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT/acknowledge', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT/acknowledge');

$payload = <<<'JSON'
{}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/incidents/INCIDENT/acknowledge",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{}''',
)

print(response.json())
POST /incidents/{incident}/reopen incidents:write #

Reopen an incident

Reopens a resolved incident and returns it to investigating.

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • message string or null, max length 2000

Response 200 application/json

  • data IncidentResource and object required
    • id string required
    • team_id string required
    • title string required
    • title_key string or null required

      The translation key of the incident title, sent beside title.

    • title_params array of any required
    • lifecycle string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
    • severity string, one of "critical", "warn", "info" required
    • impact string, one of "none", "minor", "major", "critical" required
    • signal_source string, one of "user_threshold", "ai_anomaly", "manual" required
    • ai_owned boolean required
    • primary_monitor_id string or null required
    • trigger_metric_key string or null required
    • started_at string required
    • resolved_at string or null required
    • postmortem_body string or null required
    • postmortem_published_at string or null required
    • assignee object required

      The responder the incident is assigned to, or null when it is unassigned.

      • id string required
      • name string required
    • ai_investigation object or null required

      The AI investigation report for the incident, or null when there is none to show.

      • verdict string or null required
      • summary string or null required
      • evidence_for string or array of string, max items 0 required
      • evidence_against string or array of string, max items 0 required
      • used_confirmation boolean required
      • confirmation_region string required
      • model string required
    • monitors array of object required
      • monitor_id string required
      • name string required
      • component_status_at_start string or null required
      • component_status_current string or null, one of "up", "down", "degraded", "paused", "maintenance", null required

        Read from the monitor, not the pivot.

    • updates array of IncidentUpdateResource required
      • id string required
      • incident_id string required
      • actor string required
      • author string or null required
      • status string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
      • message string required
      • is_public boolean required
      • autonomous boolean required
      • display_at string required
      • created_at string or null required
    • created_at string or null required
    • updated_at string or null required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 422 Validation error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/incidents/INCIDENT/reopen" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{}'
const payload = {};

const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT/reopen', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT/reopen');

$payload = <<<'JSON'
{}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/incidents/INCIDENT/reopen",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{}''',
)

print(response.json())
POST /incidents/{incident}/assign incidents:write #

Assign an incident

Hands the incident to a member of the team, or clears the assignment when assignee_id is null. A non-member is a 422.

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • assignee_id string or null, one of "", null

Response 200 application/json

  • data IncidentResource and object required
    • id string required
    • team_id string required
    • title string required
    • title_key string or null required

      The translation key of the incident title, sent beside title.

    • title_params array of any required
    • lifecycle string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
    • severity string, one of "critical", "warn", "info" required
    • impact string, one of "none", "minor", "major", "critical" required
    • signal_source string, one of "user_threshold", "ai_anomaly", "manual" required
    • ai_owned boolean required
    • primary_monitor_id string or null required
    • trigger_metric_key string or null required
    • started_at string required
    • resolved_at string or null required
    • postmortem_body string or null required
    • postmortem_published_at string or null required
    • assignee object required

      The responder the incident is assigned to, or null when it is unassigned.

      • id string required
      • name string required
    • ai_investigation object or null required

      The AI investigation report for the incident, or null when there is none to show.

      • verdict string or null required
      • summary string or null required
      • evidence_for string or array of string, max items 0 required
      • evidence_against string or array of string, max items 0 required
      • used_confirmation boolean required
      • confirmation_region string required
      • model string required
    • monitors array of object required
      • monitor_id string required
      • name string required
      • component_status_at_start string or null required
      • component_status_current string or null, one of "up", "down", "degraded", "paused", "maintenance", null required

        Read from the monitor, not the pivot.

    • updates array of IncidentUpdateResource required
      • id string required
      • incident_id string required
      • actor string required
      • author string or null required
      • status string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
      • message string required
      • is_public boolean required
      • autonomous boolean required
      • display_at string required
      • created_at string or null required
    • created_at string or null required
    • updated_at string or null required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 422 Validation error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/incidents/INCIDENT/assign" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{}'
const payload = {};

const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT/assign', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT/assign');

$payload = <<<'JSON'
{}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/incidents/INCIDENT/assign",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{}''',
)

print(response.json())
POST /incidents/{incident}/postmortem incidents:write #

Save a postmortem

Stores the incident's postmortem body; with publish set it also appears on the public status page.

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • body string, max length 20000 required
  • publish boolean

Response 200 application/json

  • data IncidentResource and object required
    • id string required
    • team_id string required
    • title string required
    • title_key string or null required

      The translation key of the incident title, sent beside title.

    • title_params array of any required
    • lifecycle string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
    • severity string, one of "critical", "warn", "info" required
    • impact string, one of "none", "minor", "major", "critical" required
    • signal_source string, one of "user_threshold", "ai_anomaly", "manual" required
    • ai_owned boolean required
    • primary_monitor_id string or null required
    • trigger_metric_key string or null required
    • started_at string required
    • resolved_at string or null required
    • postmortem_body string or null required
    • postmortem_published_at string or null required
    • assignee object required

      The responder the incident is assigned to, or null when it is unassigned.

      • id string required
      • name string required
    • ai_investigation object or null required

      The AI investigation report for the incident, or null when there is none to show.

      • verdict string or null required
      • summary string or null required
      • evidence_for string or array of string, max items 0 required
      • evidence_against string or array of string, max items 0 required
      • used_confirmation boolean required
      • confirmation_region string required
      • model string required
    • monitors array of object required
      • monitor_id string required
      • name string required
      • component_status_at_start string or null required
      • component_status_current string or null, one of "up", "down", "degraded", "paused", "maintenance", null required

        Read from the monitor, not the pivot.

    • updates array of IncidentUpdateResource required
      • id string required
      • incident_id string required
      • actor string required
      • author string or null required
      • status string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
      • message string required
      • is_public boolean required
      • autonomous boolean required
      • display_at string required
      • created_at string or null required
    • created_at string or null required
    • updated_at string or null required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 422 Validation error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/incidents/INCIDENT/postmortem" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "body": "string"
}'
const payload = {
    "body": "string"
};

const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT/postmortem', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT/postmortem');

$payload = <<<'JSON'
{
    "body": "string"
}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/incidents/INCIDENT/postmortem",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{
    "body": "string"
}''',
)

print(response.json())
POST /incidents/{incident}/updates incidents:write #

Post an incident update

Appends an update to the incident's timeline, optionally without changing its status.

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • message string, max length 2000 required
  • is_public boolean
  • status IncidentStatus: string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" or null

Response 201 application/json

  • data IncidentUpdateResource required
    • id string required
    • incident_id string required
    • actor string required
    • author string or null required
    • status string, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" required
    • message string required
    • is_public boolean required
    • autonomous boolean required
    • display_at string required
    • created_at string or null required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 422 Validation error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/incidents/INCIDENT/updates" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "message": "string"
}'
const payload = {
    "message": "string"
};

const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT/updates', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT/updates');

$payload = <<<'JSON'
{
    "message": "string"
}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/incidents/INCIDENT/updates",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{
    "message": "string"
}''',
)

print(response.json())
GET /incidents/{incident}/analysis incidents:read #

Get the AI root-cause analysis

The AI summary of the incident's likely root cause.

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID
refreshquerybooleanNo

Response 200 application/json

  • data object required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X GET "https://api.uptizm.com/v1/incidents/INCIDENT/analysis" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT/analysis', {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
  },
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT/analysis');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
    ],
]);

$response = curl_exec($curl);
import os

import requests

response = requests.get(
    "https://api.uptizm.com/v1/incidents/INCIDENT/analysis",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.json())
POST /incidents/{incident}/analysis/feedback incidents:write #

Rate the AI analysis

Records a rating of the stored analysis.

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • analysis_id string required
  • helpful boolean required

Response 200 application/json

  • data object required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 422 Validation error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/incidents/INCIDENT/analysis/feedback" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "analysis_id": "string",
    "helpful": true
}'
const payload = {
    "analysis_id": "string",
    "helpful": true
};

const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT/analysis/feedback', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT/analysis/feedback');

$payload = <<<'JSON'
{
    "analysis_id": "string",
    "helpful": true
}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/incidents/INCIDENT/analysis/feedback",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{
    "analysis_id": "string",
    "helpful": true
}''',
)

print(response.json())
POST /incidents/{incident}/draft-update incidents:write #

Draft a status update with AI

Drafts the next public status update for the incident. Stores nothing and spends AI budget.

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Response 200 application/json

  • data object required
    • draft string or null required
    • degrade_reason string or null, one of "budget_exhausted", "output_untrusted", "service_unreachable", null required
    • nothing_to_say boolean required

      A THIRD outcome, and not a degrade: nothing failed, there is simply nothing a customer could be told. The client must not fill its own template here, which is what it does for a null draft, because the template is the generic sentence this exists to stop.

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/incidents/INCIDENT/draft-update" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: $(uuidgen)"
const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT/draft-update', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT/draft-update');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/incidents/INCIDENT/draft-update",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
)

print(response.json())
POST /incidents/{incident}/draft-postmortem incidents:write #

Draft a postmortem with AI

Drafts the postmortem of a resolved incident. Stores nothing and spends AI budget.

Parameters

NameInTypeRequiredDescription
incidentpathstringYesThe incident ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Response 200 application/json

  • data object required
    • draft string or null required
    • degrade_reason string or null, one of "budget_exhausted", "output_untrusted", "service_unreachable", null required
    • nothing_to_say boolean required

      A THIRD outcome, and not a degrade: nothing failed, there is simply nothing a customer could be told. The client must not fill its own template here, which is what it does for a null draft, because the template is the generic sentence this exists to stop.

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/incidents/INCIDENT/draft-postmortem" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: $(uuidgen)"
const response = await fetch('https://api.uptizm.com/v1/incidents/INCIDENT/draft-postmortem', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/incidents/INCIDENT/draft-postmortem');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/incidents/INCIDENT/draft-postmortem",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
)

print(response.json())
POST /ai-suggestions/{suggestion}/accept incidents:write #

Accept an AI suggestion

Turns a pending AI suggestion into an incident and returns the incident id.

Parameters

NameInTypeRequiredDescription
suggestionpathstringYesPrimary key of the suggestion to accept.
Idempotency-KeyheaderstringNoAny unique string per logical request.

Response 200 application/json

  • data object required
    • incident_id string required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/ai-suggestions/SUGGESTION/accept" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: $(uuidgen)"
const response = await fetch('https://api.uptizm.com/v1/ai-suggestions/SUGGESTION/accept', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/ai-suggestions/SUGGESTION/accept');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/ai-suggestions/SUGGESTION/accept",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
)

print(response.json())
POST /ai-suggestions/{suggestion}/dismiss incidents:write #

Dismiss an AI suggestion

Dismisses a pending AI suggestion so it leaves the inbox.

Parameters

NameInTypeRequiredDescription
suggestionpathstringYesPrimary key of the suggestion to dismiss.
Idempotency-KeyheaderstringNoAny unique string per logical request.

Response 200 application/json

  • data object required
    • status string required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/ai-suggestions/SUGGESTION/dismiss" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: $(uuidgen)"
const response = await fetch('https://api.uptizm.com/v1/ai-suggestions/SUGGESTION/dismiss', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/ai-suggestions/SUGGESTION/dismiss');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/ai-suggestions/SUGGESTION/dismiss",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
)

print(response.json())

Type to search the guides, resources and endpoints.