# Datadog

Manage Datadog: monitors, dashboards, events, metrics, logs, incidents, SLOs. Exposes **39 actions** covering the full API surface
the agent needs - read and write.

## What it can do

| Method | What it does |
| --- | --- |
| `datadog_monitors_list` | List monitors - GET /monitor. |
| `datadog_monitor_get` | Get one monitor - GET /monitor/&#123;id&#125;. |
| `datadog_monitor_create` | Create a monitor - POST /monitor. |
| `datadog_monitor_update` | Update a monitor - PUT /monitor/&#123;id&#125;. |
| `datadog_monitor_delete` | Delete a monitor - DELETE /monitor/&#123;id&#125;. |
| `datadog_dashboards_list` | List dashboards - GET /dashboard. |
| `datadog_dashboard_get` | Get one dashboard - GET /dashboard/&#123;id&#125;. |
| `datadog_dashboard_create` | Create a dashboard - POST /dashboard. |
| `datadog_dashboard_update` | Update a dashboard - PUT /dashboard/&#123;id&#125;. |
| `datadog_dashboard_delete` | Delete a dashboard - DELETE /dashboard/&#123;id&#125;. |
| `datadog_events_list` | List events - GET /events. |
| `datadog_event_get` | Get one event - GET /events/&#123;id&#125;. |
| `datadog_event_create` | Create an event - POST /events. |
| `datadog_metric_query` | Query metrics - GET /query. |
| `datadog_metric_submit` | Submit custom metrics - POST /series. |
| `datadog_logs_search` | Search logs - GET /logs. |
| `datadog_incidents_list` | List incidents - GET /incidents. |
| `datadog_incident_get` | Get one incident - GET /incidents/&#123;id&#125;. |
| `datadog_incident_create` | Create an incident - POST /incidents. |
| `datadog_incident_update` | Update an incident - PATCH /incidents/&#123;id&#125;. |
| `datadog_downtimes_list` | List downtimes - GET /downtime. |
| `datadog_downtime_get` | Get one downtime - GET /downtime/&#123;id&#125;. |
| `datadog_downtime_create` | Create a downtime - POST /downtime. |
| `datadog_downtime_update` | Update a downtime - PUT /downtime/&#123;id&#125;. |
| `datadog_downtime_delete` | Delete a downtime - DELETE /downtime/&#123;id&#125;. |
| `datadog_slos_list` | List SLOs - GET /slo. |
| `datadog_slo_get` | Get one SLO - GET /slo/&#123;id&#125;. |
| `datadog_slo_create` | Create an SLO - POST /slo. |
| `datadog_slo_update` | Update an SLO - PUT /slo/&#123;id&#125;. |
| `datadog_slo_delete` | Delete an SLO - DELETE /slo/&#123;id&#125;. |
| `datadog_hosts_list` | List hosts - GET /hosts. |
| `datadog_host_get` | Get one host - GET /hosts/&#123;hostname&#125;. |
| `datadog_tags_list` | List all tags - GET /tags/hosts. |
| `datadog_tag_get` | Get hosts by a specific tag - GET /tags/hosts/&#123;tag_name&#125;. |
| `datadog_tag_update` | Assign a tag to hosts - PUT /tags/hosts/&#123;tag_name&#125;. |
| `datadog_users_list` | List users - GET /user. |
| `datadog_user_get` | Get one user - GET /user/&#123;id&#125;. |
| `datadog_user_create` | Create a user - POST /user. |
| `datadog_user_update` | Update a user - PUT /user/&#123;id&#125;. |

## How to get credentials

This connector uses an **API key / token**. Create one in the provider
dashboard, then paste it into FlyMyAI:

- **`DATADOG_API_KEY`** - Datadog - Organization Settings - API Keys. (https://app.datadoghq.com/organization-settings/api-keys)
- **`DATADOG_APP_KEY`** - Datadog - Organization Settings - Application Keys. (https://app.datadoghq.com/organization-settings/application-keys)
- **`DATADOG_SITE`** *(optional)* - API base, e.g. https://api.datadoghq.eu (default https://api.datadoghq.com).

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `DATADOG_API_KEY` | Datadog - Organization Settings - API Keys. |
| `DATADOG_APP_KEY` | Datadog - Organization Settings - Application Keys. |
| `DATADOG_SITE` | API base, e.g. https://api.datadoghq.eu (default https://api.datadoghq.com). |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the token is wrong, expired, or missing a required scope - regenerate it.
- **`429 Too Many Requests`** - you hit the provider rate limit; retry after a short backoff.
- **Unexpected `4xx` on writes** - double-check required fields; the agent confirms before write actions.

## Links

- [Datadog API documentation](https://docs.datadoghq.com/api/latest/)
