Manage and browse catalog resources.
This endpoint is in beta, released for early testing but excluded from our backwards compatibility guarantee at this time. Contact support@incident.io if you have questions about availability or want to try this out.
Use the incident.io catalog to track services, teams, product features and anything else that helps build a map of your organisation.
The catalog has a number of types which are synced from your connected integrations, such as GitHub Repositories or PagerDuty Services, but you can also create custom types specifically tailored to your company.
Examples might be a Service type with an Alert channel which you can point at a Slack channel, or Team which specifies its Manager and Technical Lead.
List entries for a catalog type.
OK response.
{- "catalog_entries": [
- {
- "aliases": [
- "lawrence@incident.io",
- "lawrence"
], - "archived_at": "2021-08-17T14:28:57.801578Z",
- "attribute_values": {
- "abc123": {
- "array_value": [
- {
- "catalog_entry": {
- "catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "catalog_entry_name": "Primary escalation",
- "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}, - "is_image_slack_icon": false,
- "label": "Lawrence Jones",
- "literal": "SEV123",
- "sort_key": "000020"
}
], - "value": {
- "catalog_entry": {
- "catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "catalog_entry_name": "Primary escalation",
- "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}, - "is_image_slack_icon": false,
- "label": "Lawrence Jones",
- "literal": "SEV123",
- "sort_key": "000020"
}
}
}, - "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "external_id": "761722cd-d1d7-477b-ac7e-90f9e079dc33",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "name": "Primary On-call",
- "rank": 3,
- "updated_at": "2021-08-17T13:28:57.801578Z"
}
], - "catalog_type": {
- "annotations": {
- "incident.io/catalog-importer/id": "id-of-config"
}, - "color": "slate",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "description": "Represents Kubernetes clusters that we run inside of GKE.",
- "estimated_count": 7,
- "external_type": "PagerDutyService",
- "icon": "bolt",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "is_editable": false,
- "name": "Kubernetes Cluster",
- "ranked": true,
- "required_integrations": [
- "pager_duty"
], - "schema": {
- "attributes": [
- {
- "array": false,
- "id": "01GW2G3V0S59R238FAHPDS1R66",
- "mode": "manual",
- "name": "tier",
- "type": "Custom[\"Service\"]"
}
], - "version": 1
}, - "semantic_type": "custom",
- "type_name": "Custom[\"BackstageGroup\"]",
- "updated_at": "2021-08-17T13:28:57.801578Z"
}, - "pagination_meta": {
- "after": "01FCNDV6P870EA6S7TK1DSYDG0",
- "page_size": 25
}
}
Create an entry for a type in the catalog.
Created response.
{- "aliases": [
- "lawrence@incident.io",
- "lawrence"
], - "attribute_values": {
- "abc123": {
- "array_value": [
- {
- "literal": "SEV123"
}
], - "value": {
- "literal": "SEV123"
}
}
}, - "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "external_id": "761722cd-d1d7-477b-ac7e-90f9e079dc33",
- "name": "Primary On-call",
- "rank": 3
}
{- "catalog_entry": {
- "aliases": [
- "lawrence@incident.io",
- "lawrence"
], - "archived_at": "2021-08-17T14:28:57.801578Z",
- "attribute_values": {
- "abc123": {
- "array_value": [
- {
- "catalog_entry": {
- "catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "catalog_entry_name": "Primary escalation",
- "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}, - "is_image_slack_icon": false,
- "label": "Lawrence Jones",
- "literal": "SEV123",
- "sort_key": "000020"
}
], - "value": {
- "catalog_entry": {
- "catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "catalog_entry_name": "Primary escalation",
- "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}, - "is_image_slack_icon": false,
- "label": "Lawrence Jones",
- "literal": "SEV123",
- "sort_key": "000020"
}
}
}, - "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "external_id": "761722cd-d1d7-477b-ac7e-90f9e079dc33",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "name": "Primary On-call",
- "rank": 3,
- "updated_at": "2021-08-17T13:28:57.801578Z"
}
}
{- "catalog_entry": {
- "aliases": [
- "lawrence@incident.io",
- "lawrence"
], - "archived_at": "2021-08-17T14:28:57.801578Z",
- "attribute_values": {
- "abc123": {
- "array_value": [
- {
- "catalog_entry": {
- "catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "catalog_entry_name": "Primary escalation",
- "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}, - "is_image_slack_icon": false,
- "label": "Lawrence Jones",
- "literal": "SEV123",
- "sort_key": "000020"
}
], - "value": {
- "catalog_entry": {
- "catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "catalog_entry_name": "Primary escalation",
- "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}, - "is_image_slack_icon": false,
- "label": "Lawrence Jones",
- "literal": "SEV123",
- "sort_key": "000020"
}
}
}, - "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "external_id": "761722cd-d1d7-477b-ac7e-90f9e079dc33",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "name": "Primary On-call",
- "rank": 3,
- "updated_at": "2021-08-17T13:28:57.801578Z"
}, - "catalog_type": {
- "annotations": {
- "incident.io/catalog-importer/id": "id-of-config"
}, - "color": "slate",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "description": "Represents Kubernetes clusters that we run inside of GKE.",
- "estimated_count": 7,
- "external_type": "PagerDutyService",
- "icon": "bolt",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "is_editable": false,
- "name": "Kubernetes Cluster",
- "ranked": true,
- "required_integrations": [
- "pager_duty"
], - "schema": {
- "attributes": [
- {
- "array": false,
- "id": "01GW2G3V0S59R238FAHPDS1R66",
- "mode": "manual",
- "name": "tier",
- "type": "Custom[\"Service\"]"
}
], - "version": 1
}, - "semantic_type": "custom",
- "type_name": "Custom[\"BackstageGroup\"]",
- "updated_at": "2021-08-17T13:28:57.801578Z"
}
}
Updates an existing catalog entry.
OK response.
{- "aliases": [
- "lawrence@incident.io",
- "lawrence"
], - "attribute_values": {
- "abc123": {
- "array_value": [
- {
- "literal": "SEV123"
}
], - "value": {
- "literal": "SEV123"
}
}
}, - "external_id": "761722cd-d1d7-477b-ac7e-90f9e079dc33",
- "name": "Primary On-call",
- "rank": 3
}
{- "catalog_entry": {
- "aliases": [
- "lawrence@incident.io",
- "lawrence"
], - "archived_at": "2021-08-17T14:28:57.801578Z",
- "attribute_values": {
- "abc123": {
- "array_value": [
- {
- "catalog_entry": {
- "catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "catalog_entry_name": "Primary escalation",
- "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}, - "is_image_slack_icon": false,
- "label": "Lawrence Jones",
- "literal": "SEV123",
- "sort_key": "000020"
}
], - "value": {
- "catalog_entry": {
- "catalog_entry_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "catalog_entry_name": "Primary escalation",
- "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}, - "is_image_slack_icon": false,
- "label": "Lawrence Jones",
- "literal": "SEV123",
- "sort_key": "000020"
}
}
}, - "catalog_type_id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "external_id": "761722cd-d1d7-477b-ac7e-90f9e079dc33",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "name": "Primary On-call",
- "rank": 3,
- "updated_at": "2021-08-17T13:28:57.801578Z"
}, - "catalog_type": {
- "annotations": {
- "incident.io/catalog-importer/id": "id-of-config"
}, - "color": "slate",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "description": "Represents Kubernetes clusters that we run inside of GKE.",
- "estimated_count": 7,
- "external_type": "PagerDutyService",
- "icon": "bolt",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "is_editable": false,
- "name": "Kubernetes Cluster",
- "ranked": true,
- "required_integrations": [
- "pager_duty"
], - "schema": {
- "attributes": [
- {
- "array": false,
- "id": "01GW2G3V0S59R238FAHPDS1R66",
- "mode": "manual",
- "name": "tier",
- "type": "Custom[\"Service\"]"
}
], - "version": 1
}, - "semantic_type": "custom",
- "type_name": "Custom[\"BackstageGroup\"]",
- "updated_at": "2021-08-17T13:28:57.801578Z"
}
}
{- "resources": [
- {
- "category": "custom",
- "description": "Boolean true or false value",
- "label": "GitHub Repository",
- "type": "CatalogEntry[\"01GVGYJSD39FRKVDWACK9NDS4E\"]",
- "value_docstring": "Either the GraphQL node ID of the repository or a string of <owner>/<repo>, e.g. incident-io/website"
}
]
}
List all catalog types for an organisation, including those synced from external resources.
OK response.
{- "catalog_types": [
- {
- "annotations": {
- "incident.io/catalog-importer/id": "id-of-config"
}, - "color": "slate",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "description": "Represents Kubernetes clusters that we run inside of GKE.",
- "estimated_count": 7,
- "external_type": "PagerDutyService",
- "icon": "bolt",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "is_editable": false,
- "name": "Kubernetes Cluster",
- "ranked": true,
- "required_integrations": [
- "pager_duty"
], - "schema": {
- "attributes": [
- {
- "array": false,
- "id": "01GW2G3V0S59R238FAHPDS1R66",
- "mode": "manual",
- "name": "tier",
- "type": "Custom[\"Service\"]"
}
], - "version": 1
}, - "semantic_type": "custom",
- "type_name": "Custom[\"BackstageGroup\"]",
- "updated_at": "2021-08-17T13:28:57.801578Z"
}
]
}
Create a catalog type.
Created response.
{- "annotations": {
- "incident.io/catalog-importer/id": "id-of-config"
}, - "color": "slate",
- "description": "Represents Kubernetes clusters that we run inside of GKE.",
- "icon": "bolt",
- "name": "Kubernetes Cluster",
- "ranked": true,
- "semantic_type": "custom",
- "type_name": "Custom[\"BackstageGroup\"]"
}
{- "catalog_type": {
- "annotations": {
- "incident.io/catalog-importer/id": "id-of-config"
}, - "color": "slate",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "description": "Represents Kubernetes clusters that we run inside of GKE.",
- "estimated_count": 7,
- "external_type": "PagerDutyService",
- "icon": "bolt",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "is_editable": false,
- "name": "Kubernetes Cluster",
- "ranked": true,
- "required_integrations": [
- "pager_duty"
], - "schema": {
- "attributes": [
- {
- "array": false,
- "id": "01GW2G3V0S59R238FAHPDS1R66",
- "mode": "manual",
- "name": "tier",
- "type": "Custom[\"Service\"]"
}
], - "version": 1
}, - "semantic_type": "custom",
- "type_name": "Custom[\"BackstageGroup\"]",
- "updated_at": "2021-08-17T13:28:57.801578Z"
}
}
{- "catalog_type": {
- "annotations": {
- "incident.io/catalog-importer/id": "id-of-config"
}, - "color": "slate",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "description": "Represents Kubernetes clusters that we run inside of GKE.",
- "estimated_count": 7,
- "external_type": "PagerDutyService",
- "icon": "bolt",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "is_editable": false,
- "name": "Kubernetes Cluster",
- "ranked": true,
- "required_integrations": [
- "pager_duty"
], - "schema": {
- "attributes": [
- {
- "array": false,
- "id": "01GW2G3V0S59R238FAHPDS1R66",
- "mode": "manual",
- "name": "tier",
- "type": "Custom[\"Service\"]"
}
], - "version": 1
}, - "semantic_type": "custom",
- "type_name": "Custom[\"BackstageGroup\"]",
- "updated_at": "2021-08-17T13:28:57.801578Z"
}
}
Updates an existing catalog type.
OK response.
{- "annotations": {
- "incident.io/catalog-importer/id": "id-of-config"
}, - "color": "slate",
- "description": "Represents Kubernetes clusters that we run inside of GKE.",
- "icon": "bolt",
- "name": "Kubernetes Cluster",
- "ranked": true,
- "semantic_type": "custom"
}
{- "catalog_type": {
- "annotations": {
- "incident.io/catalog-importer/id": "id-of-config"
}, - "color": "slate",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "description": "Represents Kubernetes clusters that we run inside of GKE.",
- "estimated_count": 7,
- "external_type": "PagerDutyService",
- "icon": "bolt",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "is_editable": false,
- "name": "Kubernetes Cluster",
- "ranked": true,
- "required_integrations": [
- "pager_duty"
], - "schema": {
- "attributes": [
- {
- "array": false,
- "id": "01GW2G3V0S59R238FAHPDS1R66",
- "mode": "manual",
- "name": "tier",
- "type": "Custom[\"Service\"]"
}
], - "version": 1
}, - "semantic_type": "custom",
- "type_name": "Custom[\"BackstageGroup\"]",
- "updated_at": "2021-08-17T13:28:57.801578Z"
}
}
Update an existing catalog types schema, adding or removing attributes.
OK response.
{- "attributes": [
- {
- "array": false,
- "id": "01GW2G3V0S59R238FAHPDS1R66",
- "mode": "manual",
- "name": "tier",
- "type": "Custom[\"Service\"]"
}
], - "version": 1
}
{- "catalog_type": {
- "annotations": {
- "incident.io/catalog-importer/id": "id-of-config"
}, - "color": "slate",
- "created_at": "2021-08-17T13:28:57.801578Z",
- "description": "Represents Kubernetes clusters that we run inside of GKE.",
- "estimated_count": 7,
- "external_type": "PagerDutyService",
- "icon": "bolt",
- "id": "01FCNDV6P870EA6S7TK1DSYDG0",
- "is_editable": false,
- "name": "Kubernetes Cluster",
- "ranked": true,
- "required_integrations": [
- "pager_duty"
], - "schema": {
- "attributes": [
- {
- "array": false,
- "id": "01GW2G3V0S59R238FAHPDS1R66",
- "mode": "manual",
- "name": "tier",
- "type": "Custom[\"Service\"]"
}
], - "version": 1
}, - "semantic_type": "custom",
- "type_name": "Custom[\"BackstageGroup\"]",
- "updated_at": "2021-08-17T13:28:57.801578Z"
}
}