---
title: "Create an incident todo"
method: POST
path: "/api/v2/incidents/{incident_id}/relationships/todos"
tags: ["Incidents"]
---

# Create an incident todo

`POST /api/v2/incidents/{incident_id}/relationships/todos`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/incidents/{incident_id}/relationships/todos`
- 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: `incident_write`

Create an incident todo.

## Path parameters

- `incident_id` string, required

## Request body

- IncidentTodoCreateRequest: Create request for an incident todo.
  - `data` IncidentTodoCreateData, required: Incident todo data for a create request.
    - `attributes` IncidentTodoAttributes, required: Incident todo's attributes.
      - `assignees` IncidentTodoAssignee[], required: Array of todo assignees.
        - union: A todo assignee.
          - string: Assignee's @-handle.
          - IncidentTodoAnonymousAssignee: Anonymous assignee entity.
            - `icon` string, required: URL for assignee's icon.
            - `id` string, required: Anonymous assignee's ID.
            - `name` string, required: Assignee's name.
            - `source` 'slack' | 'microsoft_teams', required: The source of the anonymous assignee.
      - `completed` string, nullable: Timestamp when the todo was completed.
      - `content` string, required: The follow-up task's content.
      - `created` string, date-time: Timestamp when the incident todo was created.
      - `due_date` string, nullable: Timestamp when the todo should be completed by.
      - `incident_id` string: UUID of the incident this todo is connected to.
      - `modified` string, date-time: Timestamp when the incident todo was last modified.
    - `type` 'incident_todos', required: Todo resource type.

## Response `201`

CREATED

- IncidentTodoResponse: Response with an incident todo.
  - `data` IncidentTodoResponseData, required: Incident todo response data.
    - `attributes` IncidentTodoAttributes: Incident todo's attributes.
      - `assignees` IncidentTodoAssignee[], required: Array of todo assignees.
        - union: A todo assignee.
          - string: Assignee's @-handle.
          - IncidentTodoAnonymousAssignee: Anonymous assignee entity.
            - `icon` string, required: URL for assignee's icon.
            - `id` string, required: Anonymous assignee's ID.
            - `name` string, required: Assignee's name.
            - `source` 'slack' | 'microsoft_teams', required: The source of the anonymous assignee.
      - `completed` string, nullable: Timestamp when the todo was completed.
      - `content` string, required: The follow-up task's content.
      - `created` string, date-time: Timestamp when the incident todo was created.
      - `due_date` string, nullable: Timestamp when the todo should be completed by.
      - `incident_id` string: UUID of the incident this todo is connected to.
      - `modified` string, date-time: Timestamp when the incident todo was last modified.
    - `id` string, required: The incident todo's ID.
    - `relationships` IncidentTodoRelationships: The incident's relationships from a response.
      - `created_by_user` RelationshipToUser: Relationship to user.
        - `data` RelationshipToUserData, required: Relationship to user object.
          - `id` string, required: A unique identifier that represents the user.
          - `type` 'users', required: Users resource type.
      - `last_modified_by_user` RelationshipToUser: Relationship to user.
        - `data` RelationshipToUserData, required: Relationship to user object.
          - `id` string, required: A unique identifier that represents the user.
          - `type` 'users', required: Users resource type.
    - `type` 'incident_todos', required: Todo resource type.
  - `included` IncidentTodoResponseIncludedItem[]: Included related resources that the user requested.
    - `attributes` UserAttributes: Attributes of user object returned by the API.
      - `created_at` string, date-time: The ISO 8601 timestamp of when the user account was created.
      - `disabled` boolean: Whether the user account is deactivated. Disabled users cannot log in.
      - `email` string: The email address of the user, used for login and notifications.
      - `handle` string: The unique handle (username) of the user, typically matching their email prefix.
      - `icon` string: URL of the user's profile icon, typically a Gravatar URL derived from the email address.
      - `last_login_time` string, date-time, nullable: The ISO 8601 timestamp of the user's most recent login, or null if the user has never logged in.
      - `mfa_enabled` boolean: Whether multi-factor authentication (MFA) is enabled for the user's account.
      - `modified_at` string, date-time: The ISO 8601 timestamp of when the user account was last modified.
      - `name` string, nullable: The full display name of the user as shown in the Datadog UI.
      - `service_account` boolean: Whether this is a service account rather than a human user. Service accounts are used for programmatic API access.
      - `status` string: The current status of the user account (for example, `Active`, `Pending`, or `Disabled`).
      - `title` string, nullable: The job title of the user (for example, "Senior Engineer" or "Product Manager").
      - `uuid` string: The globally unique identifier (UUID) of the user.
      - `verified` boolean: Whether the user's email address has been verified.
    - `id` string: ID of the user.
    - `relationships` UserResponseRelationships: Relationships of the user object returned by the API.
      - `org` RelationshipToOrganization: Relationship to an organization.
        - `data` RelationshipToOrganizationData, required: Relationship to organization object.
          - `id` string, required: ID of the organization.
          - `type` 'orgs', required: Organizations resource type.
      - `other_orgs` RelationshipToOrganizations: Relationship to organizations.
        - `data` RelationshipToOrganizationData[], required: Relationships to organization objects.
          - `id` string, required: ID of the organization.
          - `type` 'orgs', required: Organizations resource type.
      - `other_users` RelationshipToUsers: Relationship to users.
        - `data` RelationshipToUserData[], required: Relationships to user objects.
          - `id` string, required: A unique identifier that represents the user.
          - `type` 'users', required: Users resource type.
      - `roles` RelationshipToRoles: Relationship to roles.
        - `data` RelationshipToRoleData[]: An array containing type and the unique identifier of a role.
          - `id` string: The unique identifier of the role.
          - `type` 'roles': Roles type.
    - `type` 'users': Users resource type.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too many requests

---

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