Skip to main content
Calling an API by hand is fine for a one-off script. Once you’re building something that lasts, like a sync job, an internal tool, or an integration with a system we don’t support natively, you end up writing the same things over and over: request and response types, authentication, pagination loops, error handling. And every time the API changes, you have to notice and update your code. Our SDKs do that work for you. We publish an official client for seven languages, each generated from our OpenAPI specification. That means every endpoint in the API reference is there, with a typed request and response for each one, and the names match the reference so it’s easy to go from one to the other.

What you get

  • Every endpoint, typed. Request bodies, responses, and enums all have types, so your editor can complete them and your compiler or type checker can catch mistakes before you run anything.
  • Kept up to date automatically. When the API changes, the SDKs follow, so new endpoints and fields show up without anyone having to ask for them.

Choose your language

Go

The official incident.io SDK for Go.

TypeScript

The official incident.io SDK for TypeScript and JavaScript.

Python

The official incident.io SDK for Python.

Rust

The official incident.io SDK for Rust.

Ruby

The official incident.io SDK for Ruby.

PHP

The official incident.io SDK for PHP.

.NET

The official incident.io SDK for .NET.

Before you start

Every SDK authenticates with an API key. Create one in Settings > API keys and choose the permissions it needs. We only show the token once, so store it somewhere safe, like your secret manager or an environment variable. See API keys for the permissions you can give each key. The SDKs are for server-side code. An API key in a browser is readable by anyone who loads the page.

Versioning

All seven SDKs use semantic versioning, and releases are cut automatically. When the API grows (a new endpoint, a new field, a new optional parameter), you get a new minor version, and upgrading is safe. When a change would break code that uses the SDK, such as a field being removed or renamed, the release is a new major version instead, and the release notes list what broke. Your package manager won’t move you to a new major version on its own, so you can upgrade when you’re ready. Go is the exception. A new major version of a Go module changes its import path, so the Go SDK releases minor versions only. See Go for the details.

Other ways to use the API

If your language isn’t listed, you can generate a client yourself from the OpenAPI specification. For managing configuration as code, we also have providers for Terraform and Pulumi, and for working from your terminal there’s the inc CLI.