---
title: "Create or update kinds"
method: POST
path: "/api/v2/catalog/kind"
tags: ["Software Catalog"]
---

# Create or update kinds

`POST /api/v2/catalog/kind`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/catalog/kind`
- Auth: one of:
  - API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `apm_service_catalog_write`

Create or update kinds in Software Catalog.

## Request body

- union: Create or update kind request.
  - KindObj: Schema for kind.
    - `description` string: Short description of the kind.
    - `displayName` string: The display name of the kind. Automatically generated if not provided.
    - `kind` string, required: The name of the kind to create or update. This must be in kebab-case format.
  - string: Kind definition in raw JSON or YAML representation.

## Response `202`

ACCEPTED

- UpsertCatalogKindResponse: Upsert kind response.
  - `data` KindData[]: List of kind responses.
    - `attributes` KindAttributes: Kind attributes.
      - `description` string: Short description of the kind.
      - `displayName` string: User friendly name of the kind.
      - `name` string: The kind name.
    - `id` string: A read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
    - `meta` KindMetadata: Kind metadata.
      - `createdAt` string: The creation time.
      - `modifiedAt` string: The modification time.
    - `type` string: Kind.
  - `meta` KindResponseMeta: Kind response metadata.
    - `count` integer: Total kinds count.

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `429`: Too many requests

---

[API](https://skmtc.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/da68bf029e4c?raw)
