> For the complete documentation index, see [llms.txt](https://docs.infraon.io/infraon-infinity-api-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infraon.io/infraon-infinity-api-guide/infraon-infinity-api-guide.md).

# Infraon Infinity API Guide

REST · JSON · API key authentication. One key and one base URL cover IT service management, asset management, network monitoring, and configuration management.

| Value     | What it is            |
| --------- | --------------------- |
| **80+**   | module groups         |
| `/api/v1` | current version       |
| `ApiKey`  | header authentication |

{% code title="your-terminal — bash" overflow="wrap" %}

```python
# create an incident from your own app
curl -X POST \
  https://acme.api.infraon.app/api/v1/incident \
  -H "Authorization: ApiKey ••••••••••••" \
  -H "Content-Type: application/json" \
  -d '{"subject":"Link down — DC1 core","priority":"P1"}'
```

{% endcode %}

{% code title="200 OK · application/json · 128 ms" %}

```json
{
  "status": "success",
  "data": { "incident_id": "INC-100482", "state": "Open" }
}
```

{% endcode %}

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Make your first call</strong></td><td>From zero to a live response in three steps.<br></td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FG6GKY1ZpF1ieE3efC6fk%2Fapi-quickstart.jpg?alt=media&amp;token=d8181f08-cd25-416d-9435-636dcb83b222">api-quickstart.jpg</a></td><td><a href="https://docs.infraon.io/infraon-infinity-api-guide/modules/schema">https://docs.infraon.io/infraon-infinity-api-guide/modules/schema</a></td></tr><tr><td><strong>Get an API key</strong></td><td>Generate a key under Settings → API Registration.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FlXcPj4oQ6KcrQ829TcBq%2Fapi-authorization.jpg?alt=media&amp;token=a4ed1735-8a55-421b-99cc-5c20a15d03f4">api-authorization.jpg</a></td><td><a href="https://docs.infraon.io/infraon-infinity-api-guide/welcome/authorization">https://docs.infraon.io/infraon-infinity-api-guide/welcome/authorization</a></td></tr><tr><td><strong>Try it in Swagger</strong></td><td>Test endpoints against your own instance.<br></td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2F2lgQsBv537mpzca6jo2p%2Fapi-swagger.jpg?alt=media&amp;token=bb24abcd-06b2-4a2d-a985-c27df3ec3a7c">api-swagger.jpg</a></td><td><a href="https://solution.sd.everest-ims.com/docs/">https://solution.sd.everest-ims.com/docs/</a></td></tr></tbody></table>

## What you can do

One API across the whole platform. Eight of the most common jobs teams automate with Infraon Infinity:

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><strong>Query and filter data</strong></td><td>Narrow by status, priority, owner, or date before the data reaches you.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FgfPzmr5u9wneDAwnPV9Y%2Fcan-query-filter-data.jpg?alt=media&amp;token=07f70d2b-26a3-4946-b16a-816d01353169">can-query-filter-data.jpg</a></td></tr><tr><td><strong>Automate incident management</strong></td><td>Create, update, assign, and resolve incidents from your own tooling.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FgHlZ4AZrCbVpkkCNBc9i%2Fcan-automate-incidents.jpg?alt=media&amp;token=cb0c2923-f184-4776-a025-1fc25ce30d36">can-automate-incidents.jpg</a></td></tr><tr><td><strong>Authenticate securely</strong></td><td>One API key per integration, scoped to your instance.<br></td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FDhCot0FeaxbsjlbKQwxx%2Fcan-authenticate-securely.jpg?alt=media&amp;token=4506e345-54ee-4538-ae17-105433d9a5a3">can-authenticate-securely.jpg</a></td></tr><tr><td><strong>Build dashboards and reports</strong></td><td>Pull live operational data into BI tools and internal dashboards.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2Flef4vmNTIqsLggE3Peh6%2Fcan-build-dashboards.jpg?alt=media&amp;token=0bee5f1b-0a44-4cf4-9074-d11e36332632">can-build-dashboards.jpg</a></td></tr><tr><td><strong>Integrate third-party tools</strong></td><td>Connect chat, monitoring, CI/CD, and ticketing systems.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FYx4ya9yt1DvcPxfNXV7J%2Fcan-integrate-tools.jpg?alt=media&amp;token=b8d83984-0303-4629-afdd-bf2cff1d6fba">can-integrate-tools.jpg</a></td></tr><tr><td><strong>Manage service requests</strong></td><td>Raise catalog requests and drive approvals programmatically.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FxU8ZZPJoamcP3BJI9usQ%2Fcan-manage-requests.jpg?alt=media&amp;token=9a3c83f3-2559-425c-aefe-a410bf792cac">can-manage-requests.jpg</a></td></tr><tr><td><strong>Upload and fetch attachments</strong></td><td>Attach evidence, logs, and screenshots to any record.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2F2ZPzV2cgQdCSyKbNR0Eu%2Fcan-upload-attachments.jpg?alt=media&amp;token=6f1ddc04-877a-4a00-b966-ed5e4f3af43c">can-upload-attachments.jpg</a></td></tr><tr><td><strong>Manage users, teams and roles</strong></td><td>Provision and deprovision access in line with your IdP.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FauFcI4CQCjr8LNj36W5N%2Fcan-manage-users-roles.jpg?alt=media&amp;token=3a454b4d-644d-4344-8bdc-1529e74720d6">can-manage-users-roles.jpg</a></td></tr></tbody></table>

{% hint style="info" %}
…and every other module in the platform — see [the full module list](#find-your-module).
{% endhint %}

## Anatomy of a call

Every request has the same four parts.

{% code overflow="wrap" %}

```http
GET https://{customer-subdomain}.api.infraon.app/api/v1/incident?status=open&priority=P1
Authorization: ApiKey YOUR_API_KEY
Content-Type: application/json
```

{% endcode %}

## Quickstart

Step three returns real data from your own instance, so you know the key and the base URL are both right.

{% stepper %}
{% step %}

### Generate an API key

Open **Settings → API Registration** in Infraon and create a key. Copy it once — it is not shown again.

[Read the authorization guide →](https://docs.infraon.io/infraon-infinity-api-guide/welcome/base-url)
{% endstep %}

{% step %}

### Point at your subdomain

Swap the placeholder for the subdomain you sign in with.

```
https://{customer-subdomain}.api.infraon.app
```

[Set your base URL →](https://docs.infraon.io/infraon-infinity-api-guide/welcome/base-url)
{% endstep %}

{% step %}

### Send the request

Start with a read. A `200` proves the key works; a `401` means it does not.

[Reading responses →](https://docs.infraon.io/infraon-infinity-api-guide/welcome/responses)
{% endstep %}
{% endstepper %}

### List open P1 incidents

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X GET \
  "https://infraondemo.api.infraon.app/api/v1/incident?status=open&priority=P1" \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json"
```

{% endtab %}

{% tab title="Python" %}

```python
# pip install requests
import requests

BASE = "https://infraondemo.api.infraon.app"
HEADERS = {
    "Authorization": "ApiKey YOUR_API_KEY",
    "Content-Type": "application/json",
}

r = requests.get(f"{BASE}/api/v1/incident", headers=HEADERS,
                 params={"status": "open", "priority": "P1"}, timeout=30)
r.raise_for_status()
print(r.json())
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
// Node 18+ — fetch is built in
const BASE = "https://infraondemo.api.infraon.app";

const res = await fetch(`${BASE}/api/v1/incident?status=open&priority=P1`, {
  headers: {
    Authorization: "ApiKey YOUR_API_KEY",
    "Content-Type": "application/json"
  }
});

if (!res.ok) throw new Error(`Infraon returned ${res.status}`);
console.log(await res.json());
```

{% endtab %}

{% tab title="PowerShell" %}

```powershell
# Windows PowerShell 5.1+
$headers = @{
  "Authorization" = "ApiKey YOUR_API_KEY"
  "Content-Type"  = "application/json"
}

Invoke-RestMethod -Method GET `
  -Uri "https://infraondemo.api.infraon.app/api/v1/incident?status=open" `
  -Headers $headers | ConvertTo-Json -Depth 5
```

{% endtab %}
{% endtabs %}

## Reading responses

Read the status code before the body — it tells you whether to retry, fix the payload, or check your key.

{% tabs %}
{% tab title="2xx — it worked" %}

| Code         | Meaning                                     |
| ------------ | ------------------------------------------- |
| `200`        | Data returned as requested.                 |
| `201`        | A new record exists — after a `POST`.       |
| `204`        | Done, nothing to return — after a `DELETE`. |
| {% endtab %} |                                             |

{% tab title="4xx — fix the request" %}

| Code         | Meaning                                       |
| ------------ | --------------------------------------------- |
| `400`        | Malformed body, missing field, or wrong type. |
| `401`        | Key is missing, wrong, or expired.            |
| `403`        | Key is valid but not permitted here.          |
| {% endtab %} |                                               |

{% tab title="5xx — retry, then tell us" %}

| Code          | Meaning                                                         |
| ------------- | --------------------------------------------------------------- |
| `500`         | Server error while processing a valid call. Retry with backoff. |
| {% endtab %}  |                                                                 |
| {% endtabs %} |                                                                 |

{% hint style="info" %}
Success and failure both return JSON. Errors carry a single `error` key with a message written for whoever is debugging.

[Full response reference →](https://docs.infraon.io/infraon-infinity-api-guide/welcome/responses)
{% endhint %}

## Find your module

Endpoints are grouped the way Infraon is.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>ITSM</strong></td><td>20 modules — incidents, requests, problems, changes, releases.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FXgumk6IqfZbQkDwvdGao%2Fapi-itsm.jpg?alt=media&amp;token=b8a46423-d4fd-4ec1-bd9d-deaa3f9864de">api-itsm.jpg</a></td><td><a href="https://docs.infraon.io/infraon-infinity-api-guide/modules/imacd">https://docs.infraon.io/infraon-infinity-api-guide/modules/imacd</a></td></tr><tr><td><strong>ITAM &#x26; CMDB</strong></td><td>13 modules — CMDB, software licensing, contracts, vendors.<br></td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FHnOvVkCeSYC2RU90sxlx%2Fapi-itam-cmdb.jpg?alt=media&amp;token=536decea-9d28-44ab-9c50-71bdf414da07">api-itam-cmdb.jpg</a></td><td><a href="https://docs.infraon.io/infraon-infinity-api-guide/modules/cmdb">https://docs.infraon.io/infraon-infinity-api-guide/modules/cmdb</a></td></tr><tr><td><strong>NMS &#x26; IMS</strong></td><td>13 modules — discovery, events, traps, MIB explorer, outages.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FpFQEu1BWEvRmDYGiKHqA%2Fapi-nms-ims.jpg?alt=media&amp;token=151a9c7f-8d3c-4a04-b565-72f6ffeb9902">api-nms-ims.jpg</a></td><td><a href="https://docs.infraon.io/infraon-infinity-api-guide/modules/trap-configurations">https://docs.infraon.io/infraon-infinity-api-guide/modules/trap-configurations</a></td></tr><tr><td><strong>NCCM</strong></td><td>13 modules — profiles, policies, rules, templates, vulnerabilities.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FHqxfAHpUhxIdNmmJTl59%2Fapi-nccm.jpg?alt=media&amp;token=a9d73892-936e-49b6-9ce3-7b52f095428c">api-nccm.jpg</a></td><td><a href="https://docs.infraon.io/infraon-infinity-api-guide/modules/configuration-profiles">https://docs.infraon.io/infraon-infinity-api-guide/modules/configuration-profiles</a></td></tr><tr><td><strong>IPAM &#x26; Logs</strong></td><td>5 modules — IPAM, log search, pipelines, grok patterns.<br></td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FAIP4R596a3dBwUo2XXCp%2Fapi-ipam-logs.jpg?alt=media&amp;token=720a8851-d122-4d6a-b207-4f307074c9a4">api-ipam-logs.jpg</a></td><td><a href="https://docs.infraon.io/infraon-infinity-api-guide/modules/ipam">https://docs.infraon.io/infraon-infinity-api-guide/modules/ipam</a></td></tr><tr><td><strong>Platform &#x26; admin</strong></td><td>16 modules — authentication, schema, async tasks, users, roles.</td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2FVnComr0aG5e5aZqhQC7y%2Fapi-platform-admin.jpg?alt=media&amp;token=669c93f4-36f4-4316-a35a-233d37a3b9eb">api-platform-admin.jpg</a></td><td><a href="https://docs.infraon.io/infraon-infinity-api-guide/modules/user-profile">https://docs.infraon.io/infraon-infinity-api-guide/modules/user-profile</a></td></tr></tbody></table>

## Test against your own instance

Swagger UI is served from your instance, so the endpoints you see are the ones you have. Authorize once and the whole page unlocks.

{% stepper %}
{% step %}

### Open Swagger UI

Go to `https://{your-subdomain}.api.infraon.app/docs` and click **Authorize**.
{% endstep %}

{% step %}

### Paste your key

Paste your key into **Value** — the dialog confirms the name `Authorization`, in `header`, type `apiKey`.
{% endstep %}

{% step %}

### Execute a call

Expand an endpoint, choose **Try it out**, then **Execute** to see the live response.
{% endstep %}

{% step %}

### Clear the key

To clear the key, click **Authorize** again and choose **Logout**.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Available verbs across the platform: `GET`, `POST`, `PUT`, `PATCH`, and `DELETE` — for example `GET /api/v1/incident`, `POST /api/v1/incident`, `PUT /api/v1/incident/{id}`, `PATCH /api/v1/cmdb/{id}`, `DELETE /api/v1/tag/{id}`.
{% endhint %}

## Stuck on an integration?

Search the product documentation for the module you are calling, or send your request to support, along with the response and the time it happened.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><strong>Product documentation</strong></td><td>Guides and configuration references for every module.</td><td><a href="https://docs.infraon.io/infraon-help">https://docs.infraon.io/infraon-help</a></td><td><a href="https://1610079719-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzQfqLOqDWfkApK7YXpGX%2Fuploads%2F98Xb5RWZMtRX628thua6%2Fsupport-product-documentation.jpg?alt=media&amp;token=acc1ce9a-f2cd-4417-992e-a2a99c0d6226">support-product-documentation.jpg</a></td></tr></tbody></table>
