Skip to main content
POST
/
v2
/
incidents
Create
curl --request POST \
  --url https://api.incident.io/v2/incidents \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data @- <<EOF
{
  "custom_field_entries": [
    {
      "custom_field_id": "01FCNDV6P870EA6S7TK1DSYDG0",
      "values": [
        {
          "id": "01FCNDV6P870EA6S7TK1DSYDG0",
          "value_catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
          "value_link": "https://google.com/",
          "value_numeric": "123.456",
          "value_option_id": "01FCNDV6P870EA6S7TK1DSYDG0",
          "value_text": "This is my text field, I hope you like it",
          "value_timestamp": ""
        }
      ]
    }
  ],
  "idempotency_key": "alert-uuid",
  "incident_role_assignments": [
    {
      "assignee": {
        "email": "bob@example.com",
        "id": "01G0J1EXE7AXZ2C93K61WBPYEH",
        "slack_user_id": "USER123"
      },
      "incident_role_id": "01FH5TZRWMNAFB0DZ23FD1TV96"
    }
  ],
  "incident_status_id": "01G0J1EXE7AXZ2C93K61WBPYEH",
  "incident_timestamp_values": [
    {
      "incident_timestamp_id": "01FCNDV6P870EA6S7TK1DSYD5H",
      "value": "2021-08-17T13:28:57.801578Z"
    }
  ],
  "incident_type_id": "01FH5TZRWMNAFB0DZ23FD1TV96",
  "mode": "standard",
  "name": "Our database is sad",
  "retrospective_incident_options": {
    "external_id": 123,
    "postmortem_document_url": "https://docs.google.com/my_doc_id",
    "slack_channel_id": "abc123"
  },
  "severity_id": "01FH5TZRWMNAFB0DZ23FD1TV96",
  "slack_channel_name_override": "inc-123-database-down",
  "slack_team_id": "T02A1FSLE8J",
  "summary": "Our database is really really sad, and we don't know why yet.",
  "visibility": "public"
}
EOF
import requests

url = "https://api.incident.io/v2/incidents"

payload = {
"custom_field_entries": [
{
"custom_field_id": "01FCNDV6P870EA6S7TK1DSYDG0",
"values": [
{
"id": "01FCNDV6P870EA6S7TK1DSYDG0",
"value_catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
"value_link": "https://google.com/",
"value_numeric": "123.456",
"value_option_id": "01FCNDV6P870EA6S7TK1DSYDG0",
"value_text": "This is my text field, I hope you like it",
"value_timestamp": ""
}
]
}
],
"idempotency_key": "alert-uuid",
"incident_role_assignments": [
{
"assignee": {
"email": "bob@example.com",
"id": "01G0J1EXE7AXZ2C93K61WBPYEH",
"slack_user_id": "USER123"
},
"incident_role_id": "01FH5TZRWMNAFB0DZ23FD1TV96"
}
],
"incident_status_id": "01G0J1EXE7AXZ2C93K61WBPYEH",
"incident_timestamp_values": [
{
"incident_timestamp_id": "01FCNDV6P870EA6S7TK1DSYD5H",
"value": "2021-08-17T13:28:57.801578Z"
}
],
"incident_type_id": "01FH5TZRWMNAFB0DZ23FD1TV96",
"mode": "standard",
"name": "Our database is sad",
"retrospective_incident_options": {
"external_id": 123,
"postmortem_document_url": "https://docs.google.com/my_doc_id",
"slack_channel_id": "abc123"
},
"severity_id": "01FH5TZRWMNAFB0DZ23FD1TV96",
"slack_channel_name_override": "inc-123-database-down",
"slack_team_id": "T02A1FSLE8J",
"summary": "Our database is really really sad, and we don't know why yet.",
"visibility": "public"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
custom_field_entries: [
{
custom_field_id: '01FCNDV6P870EA6S7TK1DSYDG0',
values: [
{
id: '01FCNDV6P870EA6S7TK1DSYDG0',
value_catalog_entry_id: '01FCNDV6P870EA6S7TK1DSYDG0',
value_link: 'https://google.com/',
value_numeric: '123.456',
value_option_id: '01FCNDV6P870EA6S7TK1DSYDG0',
value_text: 'This is my text field, I hope you like it',
value_timestamp: ''
}
]
}
],
idempotency_key: 'alert-uuid',
incident_role_assignments: [
{
assignee: {
email: 'bob@example.com',
id: '01G0J1EXE7AXZ2C93K61WBPYEH',
slack_user_id: 'USER123'
},
incident_role_id: '01FH5TZRWMNAFB0DZ23FD1TV96'
}
],
incident_status_id: '01G0J1EXE7AXZ2C93K61WBPYEH',
incident_timestamp_values: [
{
incident_timestamp_id: '01FCNDV6P870EA6S7TK1DSYD5H',
value: '2021-08-17T13:28:57.801578Z'
}
],
incident_type_id: '01FH5TZRWMNAFB0DZ23FD1TV96',
mode: 'standard',
name: 'Our database is sad',
retrospective_incident_options: {
external_id: 123,
postmortem_document_url: 'https://docs.google.com/my_doc_id',
slack_channel_id: 'abc123'
},
severity_id: '01FH5TZRWMNAFB0DZ23FD1TV96',
slack_channel_name_override: 'inc-123-database-down',
slack_team_id: 'T02A1FSLE8J',
summary: 'Our database is really really sad, and we don\'t know why yet.',
visibility: 'public'
})
};

fetch('https://api.incident.io/v2/incidents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.incident.io/v2/incidents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'custom_field_entries' => [
[
'custom_field_id' => '01FCNDV6P870EA6S7TK1DSYDG0',
'values' => [
[
'id' => '01FCNDV6P870EA6S7TK1DSYDG0',
'value_catalog_entry_id' => '01FCNDV6P870EA6S7TK1DSYDG0',
'value_link' => 'https://google.com/',
'value_numeric' => '123.456',
'value_option_id' => '01FCNDV6P870EA6S7TK1DSYDG0',
'value_text' => 'This is my text field, I hope you like it',
'value_timestamp' => ''
]
]
]
],
'idempotency_key' => 'alert-uuid',
'incident_role_assignments' => [
[
'assignee' => [
'email' => 'bob@example.com',
'id' => '01G0J1EXE7AXZ2C93K61WBPYEH',
'slack_user_id' => 'USER123'
],
'incident_role_id' => '01FH5TZRWMNAFB0DZ23FD1TV96'
]
],
'incident_status_id' => '01G0J1EXE7AXZ2C93K61WBPYEH',
'incident_timestamp_values' => [
[
'incident_timestamp_id' => '01FCNDV6P870EA6S7TK1DSYD5H',
'value' => '2021-08-17T13:28:57.801578Z'
]
],
'incident_type_id' => '01FH5TZRWMNAFB0DZ23FD1TV96',
'mode' => 'standard',
'name' => 'Our database is sad',
'retrospective_incident_options' => [
'external_id' => 123,
'postmortem_document_url' => 'https://docs.google.com/my_doc_id',
'slack_channel_id' => 'abc123'
],
'severity_id' => '01FH5TZRWMNAFB0DZ23FD1TV96',
'slack_channel_name_override' => 'inc-123-database-down',
'slack_team_id' => 'T02A1FSLE8J',
'summary' => 'Our database is really really sad, and we don\'t know why yet.',
'visibility' => 'public'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

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

func main() {

url := "https://api.incident.io/v2/incidents"

payload := strings.NewReader("{\n \"custom_field_entries\": [\n {\n \"custom_field_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"values\": [\n {\n \"id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"value_catalog_entry_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"value_link\": \"https://google.com/\",\n \"value_numeric\": \"123.456\",\n \"value_option_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"value_text\": \"This is my text field, I hope you like it\",\n \"value_timestamp\": \"\"\n }\n ]\n }\n ],\n \"idempotency_key\": \"alert-uuid\",\n \"incident_role_assignments\": [\n {\n \"assignee\": {\n \"email\": \"bob@example.com\",\n \"id\": \"01G0J1EXE7AXZ2C93K61WBPYEH\",\n \"slack_user_id\": \"USER123\"\n },\n \"incident_role_id\": \"01FH5TZRWMNAFB0DZ23FD1TV96\"\n }\n ],\n \"incident_status_id\": \"01G0J1EXE7AXZ2C93K61WBPYEH\",\n \"incident_timestamp_values\": [\n {\n \"incident_timestamp_id\": \"01FCNDV6P870EA6S7TK1DSYD5H\",\n \"value\": \"2021-08-17T13:28:57.801578Z\"\n }\n ],\n \"incident_type_id\": \"01FH5TZRWMNAFB0DZ23FD1TV96\",\n \"mode\": \"standard\",\n \"name\": \"Our database is sad\",\n \"retrospective_incident_options\": {\n \"external_id\": 123,\n \"postmortem_document_url\": \"https://docs.google.com/my_doc_id\",\n \"slack_channel_id\": \"abc123\"\n },\n \"severity_id\": \"01FH5TZRWMNAFB0DZ23FD1TV96\",\n \"slack_channel_name_override\": \"inc-123-database-down\",\n \"slack_team_id\": \"T02A1FSLE8J\",\n \"summary\": \"Our database is really really sad, and we don't know why yet.\",\n \"visibility\": \"public\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.incident.io/v2/incidents")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"custom_field_entries\": [\n {\n \"custom_field_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"values\": [\n {\n \"id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"value_catalog_entry_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"value_link\": \"https://google.com/\",\n \"value_numeric\": \"123.456\",\n \"value_option_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"value_text\": \"This is my text field, I hope you like it\",\n \"value_timestamp\": \"\"\n }\n ]\n }\n ],\n \"idempotency_key\": \"alert-uuid\",\n \"incident_role_assignments\": [\n {\n \"assignee\": {\n \"email\": \"bob@example.com\",\n \"id\": \"01G0J1EXE7AXZ2C93K61WBPYEH\",\n \"slack_user_id\": \"USER123\"\n },\n \"incident_role_id\": \"01FH5TZRWMNAFB0DZ23FD1TV96\"\n }\n ],\n \"incident_status_id\": \"01G0J1EXE7AXZ2C93K61WBPYEH\",\n \"incident_timestamp_values\": [\n {\n \"incident_timestamp_id\": \"01FCNDV6P870EA6S7TK1DSYD5H\",\n \"value\": \"2021-08-17T13:28:57.801578Z\"\n }\n ],\n \"incident_type_id\": \"01FH5TZRWMNAFB0DZ23FD1TV96\",\n \"mode\": \"standard\",\n \"name\": \"Our database is sad\",\n \"retrospective_incident_options\": {\n \"external_id\": 123,\n \"postmortem_document_url\": \"https://docs.google.com/my_doc_id\",\n \"slack_channel_id\": \"abc123\"\n },\n \"severity_id\": \"01FH5TZRWMNAFB0DZ23FD1TV96\",\n \"slack_channel_name_override\": \"inc-123-database-down\",\n \"slack_team_id\": \"T02A1FSLE8J\",\n \"summary\": \"Our database is really really sad, and we don't know why yet.\",\n \"visibility\": \"public\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.incident.io/v2/incidents")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"custom_field_entries\": [\n {\n \"custom_field_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"values\": [\n {\n \"id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"value_catalog_entry_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"value_link\": \"https://google.com/\",\n \"value_numeric\": \"123.456\",\n \"value_option_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\",\n \"value_text\": \"This is my text field, I hope you like it\",\n \"value_timestamp\": \"\"\n }\n ]\n }\n ],\n \"idempotency_key\": \"alert-uuid\",\n \"incident_role_assignments\": [\n {\n \"assignee\": {\n \"email\": \"bob@example.com\",\n \"id\": \"01G0J1EXE7AXZ2C93K61WBPYEH\",\n \"slack_user_id\": \"USER123\"\n },\n \"incident_role_id\": \"01FH5TZRWMNAFB0DZ23FD1TV96\"\n }\n ],\n \"incident_status_id\": \"01G0J1EXE7AXZ2C93K61WBPYEH\",\n \"incident_timestamp_values\": [\n {\n \"incident_timestamp_id\": \"01FCNDV6P870EA6S7TK1DSYD5H\",\n \"value\": \"2021-08-17T13:28:57.801578Z\"\n }\n ],\n \"incident_type_id\": \"01FH5TZRWMNAFB0DZ23FD1TV96\",\n \"mode\": \"standard\",\n \"name\": \"Our database is sad\",\n \"retrospective_incident_options\": {\n \"external_id\": 123,\n \"postmortem_document_url\": \"https://docs.google.com/my_doc_id\",\n \"slack_channel_id\": \"abc123\"\n },\n \"severity_id\": \"01FH5TZRWMNAFB0DZ23FD1TV96\",\n \"slack_channel_name_override\": \"inc-123-database-down\",\n \"slack_team_id\": \"T02A1FSLE8J\",\n \"summary\": \"Our database is really really sad, and we don't know why yet.\",\n \"visibility\": \"public\"\n}"

response = http.request(request)
puts response.read_body
{
  "incident": {
    "call_url": "https://zoom.us/foo",
    "created_at": "2021-08-17T13:28:57.801578Z",
    "creator": {
      "alert": {
        "id": "01GW2G3V0S59R238FAHPDS1R66",
        "title": "*errors.withMessage: PG::Error failed to connect"
      },
      "api_key": {
        "id": "01FCNDV6P870EA6S7TK1DSYDG0",
        "name": "My test API key"
      },
      "user": {
        "email": "lisa@incident.io",
        "id": "01FCNDV6P870EA6S7TK1DSYDG0",
        "name": "Lisa Karlin Curtis",
        "role": "owner",
        "slack_user_id": "U02AYNF2XJM"
      },
      "workflow": {
        "id": "01FCNDV6P870EA6S7TK1DSYDG0",
        "name": "My little workflow"
      }
    },
    "custom_field_entries": [
      {
        "custom_field": {
          "description": "Which team is impacted by this issue",
          "field_type": "single_select",
          "id": "01FCNDV6P870EA6S7TK1DSYDG0",
          "name": "Affected Team",
          "options": [
            {
              "custom_field_id": "01FCNDV6P870EA6S7TK1DSYDG0",
              "id": "01FCNDV6P870EA6S7TK1DSYDG0",
              "sort_key": 10,
              "value": "Product"
            }
          ]
        },
        "values": [
          {
            "value_catalog_entry": {
              "aliases": [
                "lawrence@incident.io",
                "lawrence"
              ],
              "external_id": "761722cd-d1d7-477b-ac7e-90f9e079dc33",
              "id": "01FCNDV6P870EA6S7TK1DSYDG0",
              "name": "Primary On-call"
            },
            "value_link": "https://google.com/",
            "value_numeric": "123.456",
            "value_option": {
              "custom_field_id": "01FCNDV6P870EA6S7TK1DSYDG0",
              "id": "01FCNDV6P870EA6S7TK1DSYDG0",
              "sort_key": 10,
              "value": "Product"
            },
            "value_text": "This is my text field, I hope you like it"
          }
        ]
      }
    ],
    "duration_metrics": [
      {
        "duration_metric": {
          "id": "01FCNDV6P870EA6S7TK1DSYD5H",
          "name": "Lasted"
        },
        "value_seconds": 10800
      }
    ],
    "external_issue_reference": {
      "issue_name": "INC-123",
      "issue_permalink": "https://linear.app/incident-io/issue/INC-1609/find-copywriter-to-write-up",
      "provider": "asana"
    },
    "has_debrief": false,
    "id": "01FDAG4SAP5TYPT98WGR2N7W91",
    "incident_role_assignments": [
      {
        "assignee": {
          "email": "lisa@incident.io",
          "id": "01FCNDV6P870EA6S7TK1DSYDG0",
          "name": "Lisa Karlin Curtis",
          "role": "owner",
          "slack_user_id": "U02AYNF2XJM"
        },
        "role": {
          "created_at": "2021-08-17T13:28:57.801578Z",
          "description": "The person currently coordinating the incident",
          "id": "01FCNDV6P870EA6S7TK1DSYDG0",
          "instructions": "Take point on the incident; Make sure people are clear on responsibilities",
          "name": "Incident Lead",
          "required": false,
          "role_type": "lead",
          "shortform": "lead",
          "updated_at": "2021-08-17T13:28:57.801578Z"
        }
      }
    ],
    "incident_status": {
      "category": "triage",
      "created_at": "2021-08-17T13:28:57.801578Z",
      "description": "Impact has been **fully mitigated**, and we're ready to learn from this incident.",
      "id": "01FCNDV6P870EA6S7TK1DSYD5H",
      "name": "Closed",
      "rank": 4,
      "updated_at": "2021-08-17T13:28:57.801578Z"
    },
    "incident_timestamp_values": [
      {
        "incident_timestamp": {
          "id": "01FCNDV6P870EA6S7TK1DSYD5H",
          "name": "Impact started",
          "rank": 1
        },
        "value": {
          "value": "2021-08-17T13:28:57.801578Z"
        }
      }
    ],
    "incident_type": {
      "create_in_triage": "always",
      "created_at": "2021-08-17T13:28:57.801578Z",
      "description": "Customer facing production outages",
      "id": "01FCNDV6P870EA6S7TK1DSYDG0",
      "is_default": false,
      "name": "Production Outage",
      "private_incidents_only": false,
      "updated_at": "2021-08-17T13:28:57.801578Z"
    },
    "mode": "standard",
    "name": "Our database is sad",
    "permalink": "https://app.incident.io/incidents/123",
    "postmortem_document_ids": [
      "01FCNDV6P870EA6S7TK1DSYD5H"
    ],
    "postmortem_document_url": "https://docs.google.com/my_doc_id",
    "reference": "INC-123",
    "severity": {
      "created_at": "2021-08-17T13:28:57.801578Z",
      "description": "Issues with **low impact**.",
      "id": "01FCNDV6P870EA6S7TK1DSYDG0",
      "name": "Minor",
      "rank": 1,
      "updated_at": "2021-08-17T13:28:57.801578Z"
    },
    "slack_channel_id": "C02AW36C1M5",
    "slack_channel_name": "inc-165-green-parrot",
    "slack_team_id": "T02A1FSLE8J",
    "summary": "Our database is really really sad, and we don't know why yet.",
    "updated_at": "2021-08-17T13:28:57.801578Z",
    "visibility": "public",
    "workload_minutes_late": 40.7,
    "workload_minutes_sleeping": 0,
    "workload_minutes_total": 60.7,
    "workload_minutes_working": 20
  }
}
🔑 Requires the incidents.create scope.

Authorizations

Authorization
string
header
required

API key from your incident.io dashboard (Settings → API keys)

Body

application/json
idempotency_key
string
required

Unique string used to de-duplicate incident create requests

Example:

"alert-uuid"

visibility
enum<string>
required

Whether the incident should be open to anyone in your Slack workspace (public), or invite-only (private). For more information on Private Incidents see our docs.

Available options:
public,
private
Example:

"public"

custom_field_entries
object[]

Set the incident's custom fields to these values

Example:
[
{
"custom_field_id": "01FCNDV6P870EA6S7TK1DSYDG0",
"values": [
{
"id": "01FCNDV6P870EA6S7TK1DSYDG0",
"value_catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
"value_link": "https://google.com/",
"value_numeric": "123.456",
"value_option_id": "01FCNDV6P870EA6S7TK1DSYDG0",
"value_text": "This is my text field, I hope you like it",
"value_timestamp": ""
}
]
}
]
incident_role_assignments
object[]

Assign incident roles to these people

Example:
[
{
"assignee": {
"email": "bob@example.com",
"id": "01G0J1EXE7AXZ2C93K61WBPYEH",
"slack_user_id": "USER123"
},
"incident_role_id": "01FH5TZRWMNAFB0DZ23FD1TV96"
}
]
incident_status_id
string

Incident status to assign to the incident

Example:

"01G0J1EXE7AXZ2C93K61WBPYEH"

incident_timestamp_values
object[]

Assign the incident's timestamps to these values

Example:
[
{
"incident_timestamp_id": "01FCNDV6P870EA6S7TK1DSYD5H",
"value": "2021-08-17T13:28:57.801578Z"
}
]
incident_type_id
string

Incident type to create this incident as

Example:

"01FH5TZRWMNAFB0DZ23FD1TV96"

mode
enum<string>

Whether the incident is real, a test, a tutorial, or importing as a retrospective incident

Available options:
standard,
retrospective,
test,
tutorial
Example:

"standard"

name
string

Explanation of the incident

Example:

"Our database is sad"

retrospective_incident_options
object
Example:
{
"external_id": 123,
"postmortem_document_url": "https://docs.google.com/my_doc_id",
"slack_channel_id": "abc123"
}
severity_id
string

Severity to create incident as

Example:

"01FH5TZRWMNAFB0DZ23FD1TV96"

slack_channel_name_override
string

Name of the Slack channel to create for this incident

Example:

"inc-123-database-down"

slack_team_id
string

Slack Team to create the incident in

Example:

"T02A1FSLE8J"

summary
string

Detailed description of the incident

Example:

"Our database is really really sad, and we don't know why yet."

Response

200 - application/json

OK response.

incident
object
required