# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Datadog Create API version: 1.0.0 extends: openapi/datadog-create-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 51 - target: $.paths['/api/v2/api_keys'].post update: x-apievangelist-phrasing: intent: Create a new API key effect: write questions: - Can I generate a fresh Datadog API key for a new agent or service? - What do I need to send to mint an API key for my organization? instructions: - text: Create an API key named {key_name}. slots: key_name: requestBody.data - text: Generate a new API key for {key_name} so our collector can submit data. slots: key_name: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/apicatalog/openapi'].post update: x-apievangelist-phrasing: intent: Register an API in the API Catalog from OpenAPI effect: write questions: - Can I add an API to the API Catalog by uploading its OpenAPI file? - What comes back when I import an OpenAPI spec into the API Catalog? instructions: - text: Import {openapi_spec_file} into the API Catalog as a new API. slots: openapi_spec_file: requestBody.openapi_spec_file - text: Register a new catalog API from the OpenAPI spec file {openapi_spec_file} and give me its ID. slots: openapi_spec_file: requestBody.openapi_spec_file method: generated generated: '2026-10-01' - target: $.paths['/api/v2/apm/config/metrics'].post update: x-apievangelist-phrasing: intent: Create a metric from ingested spans effect: write questions: - Can I turn my APM spans into a custom metric? - How do I generate a span-based metric from traces I'm already ingesting? instructions: - text: Create a span-based metric defined as {metric}. slots: metric: requestBody.data - text: Build a metric from ingested spans using {metric} as its definition. slots: metric: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/apm/config/retention-filters'].post update: x-apievangelist-phrasing: intent: Create an APM span retention filter effect: write questions: - Can I choose which spans get indexed and retained in APM? - Is there a way to add a retention filter so certain traces are kept? instructions: - text: Create an APM retention filter {filter} to index matching spans. slots: filter: requestBody.data - text: Add a span retention filter with definition {filter}. slots: filter: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/authn_mappings'].post update: x-apievangelist-phrasing: intent: Map an identity provider attribute to a role effect: write questions: - Can I map a SAML attribute from my identity provider to a Datadog role? - What does an AuthN mapping need to grant roles on login? instructions: - text: Create an AuthN mapping {mapping} that assigns a role from an IdP attribute. slots: mapping: requestBody.data - text: Add an authentication mapping using {mapping}. slots: mapping: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/cases/projects'].post update: x-apievangelist-phrasing: intent: Create a Case Management project effect: write questions: - Can I set up a new project to organize cases in Case Management? - What's required to add a case project? instructions: - text: Create a case project called {project}. slots: project: requestBody.data - text: Set up a new Case Management project with {project}. slots: project: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/catalog/entity'].post update: x-apievangelist-phrasing: intent: Create or update Software Catalog entities effect: write questions: - Can I register services and other entities in the Software Catalog programmatically? - Will posting an entity definition overwrite an existing catalog entity with the same name? instructions: - text: Upsert my Software Catalog entity definitions. - text: Register or refresh our entities in the Software Catalog. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/cloud_security_management/custom_frameworks'].post update: x-apievangelist-phrasing: intent: Create a custom compliance framework effect: write questions: - Can I define my own compliance framework in Cloud Security Management? - What goes into a custom framework when I create one? instructions: - text: Create a custom compliance framework from {framework}. slots: framework: requestBody.data - text: Add a new custom framework with handle and version given in {framework}. slots: framework: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/incidents'].post update: x-apievangelist-phrasing: intent: Declare a new incident effect: write questions: - How do I open a new incident from a script or alert handler? - What fields does a new incident need when I declare it? instructions: - text: Declare an incident titled {incident}. slots: incident: requestBody.data - text: Open a new incident with details {incident}. slots: incident: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/incidents/config/types'].post update: x-apievangelist-phrasing: intent: Create an incident type effect: write questions: - Can I add a new incident type, like security vs. operational? - Which settings are needed to define a custom incident type? instructions: - text: Create an incident type named {incident_type}. slots: incident_type: requestBody.data - text: Add a new incident type defined as {incident_type}. slots: incident_type: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/incidents/{incident_id}/relationships/integrations'].post update: x-apievangelist-phrasing: intent: Attach integration metadata to an incident effect: write questions: - Can I record which external tool or channel is tied to an incident? - Where do I store integration metadata for a specific incident? instructions: - text: Attach integration metadata {integration} to incident {incident_id}. slots: integration: requestBody.data incident_id: path.incident_id - text: Add an integration record to incident {incident_id}. slots: incident_id: path.incident_id method: generated generated: '2026-10-01' - target: $.paths['/api/v2/incidents/{incident_id}/relationships/todos'].post update: x-apievangelist-phrasing: intent: Add a to-do to an incident effect: write questions: - Can I add follow-up tasks to an incident? - Is it possible to assign a to-do item on an active incident? instructions: - text: Add the to-do {todo} to incident {incident_id}. slots: todo: requestBody.data incident_id: path.incident_id - text: Create a task on incident {incident_id} for the responders. slots: incident_id: path.incident_id method: generated generated: '2026-10-01' - target: $.paths['/api/v2/integration/aws/accounts'].post update: x-apievangelist-phrasing: intent: Connect an AWS account integration effect: write questions: - How do I connect a new AWS account to Datadog? - What config does an AWS account integration need? instructions: - text: Create an AWS account integration with config {aws_account}. slots: aws_account: requestBody.data - text: Connect AWS account {aws_account} to monitoring. slots: aws_account: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/integration/gcp/sts_delegate'].post update: x-apievangelist-phrasing: intent: Create the Datadog GCP principal effect: write questions: - Can I create the Datadog service principal needed for GCP STS delegation? - What principal should I grant in Google Cloud for the Datadog integration? instructions: - text: Create the Datadog GCP STS delegate principal. - text: Make a Datadog principal for our GCP integration. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/integration/ms-teams/configuration/tenant-based-handles'].post update: x-apievangelist-phrasing: intent: Add a Microsoft Teams tenant-based handle effect: write questions: - Can I add a handle so alerts post to a specific Microsoft Teams channel? - What does a tenant-based handle in the Teams integration need? instructions: - text: Create a Microsoft Teams tenant-based handle {handle}. slots: handle: requestBody.data - text: Add a tenant-based Teams handle pointing at {handle}. slots: handle: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/integration/ms-teams/configuration/workflows-webhook-handles'].post update: x-apievangelist-phrasing: intent: Add a Microsoft Teams Workflows webhook handle effect: write questions: - Can I send notifications to Teams through a Workflows webhook instead of a tenant? - What's needed to register a Teams Workflows webhook handle? instructions: - text: Create a Teams Workflows webhook handle {handle}. slots: handle: requestBody.data - text: Register the Workflows webhook URL in {handle} as a Teams handle. slots: handle: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/integration/opsgenie/services'].post update: x-apievangelist-phrasing: intent: Add an Opsgenie service object effect: write questions: - Can I add a new Opsgenie service to the integration? - What do I need to create an Opsgenie service object? instructions: - text: Create an Opsgenie service {service}. slots: service: requestBody.data - text: Add a new service to the Opsgenie integration using {service}. slots: service: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/logs/config/custom-destinations'].post update: x-apievangelist-phrasing: intent: Create a custom log forwarding destination effect: write questions: - Can I forward logs to my own destination outside the platform? - What does a custom log destination definition include? instructions: - text: Create a custom log destination {destination}. slots: destination: requestBody.data - text: Set up log forwarding to a new custom destination. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/logs/config/metrics'].post update: x-apievangelist-phrasing: intent: Create a metric from ingested logs effect: write questions: - Can I generate a metric from log events I'm ingesting? - How do I count matching log lines as a custom metric? instructions: - text: Create a log-based metric {metric}. slots: metric: requestBody.data - text: Generate a metric from ingested logs defined by {metric}. slots: metric: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/logs/config/restriction_queries'].post update: x-apievangelist-phrasing: intent: Create a log restriction query effect: write questions: - Can I restrict which logs certain roles are allowed to see? - What's a restriction query and how do I add one? instructions: - text: Create a log restriction query {restriction_query}. slots: restriction_query: requestBody.data - text: Add a new restriction query to limit log access. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/monitor/notification_rule'].post update: x-apievangelist-phrasing: intent: Create a monitor notification rule effect: write questions: - Can I route monitor alerts to recipients with a rule instead of per monitor? - What does a monitor notification rule need? instructions: - text: Create a monitor notification rule {rule}. slots: rule: requestBody.data - text: Add a notification rule for monitors defined as {rule}. slots: rule: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/on-call/escalation-policies'].post update: x-apievangelist-phrasing: intent: Create an On-Call escalation policy effect: write questions: - Can I set up an escalation policy that pages the next tier if nobody responds? - Which relationships can be included in the response when creating an escalation policy? instructions: - text: Create an escalation policy {policy}. slots: policy: requestBody.data - text: Create escalation policy {policy} and include {include} in the response. slots: policy: requestBody.data include: query.include method: generated generated: '2026-10-01' - target: $.paths['/api/v2/on-call/pages'].post update: x-apievangelist-phrasing: intent: Trigger an On-Call page effect: write questions: - Can I page whoever is on call from a script? - What do I send to trigger a new On-Call page? instructions: - text: Page the on-call responder with {page}. slots: page: requestBody.data - text: Trigger an On-Call page now. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/on-call/schedules'].post update: x-apievangelist-phrasing: intent: Create an On-Call schedule effect: write questions: - Can I build a rotation schedule for on-call coverage? - What layers and members does a new on-call schedule need? instructions: - text: Create an on-call schedule {schedule}. slots: schedule: requestBody.data - text: Create on-call schedule {schedule} including {include} in the result. slots: schedule: requestBody.data include: query.include method: generated generated: '2026-10-01' - target: $.paths['/api/v2/powerpacks'].post update: x-apievangelist-phrasing: intent: Create a dashboard powerpack effect: write questions: - Can I package a group of dashboard widgets as a reusable powerpack? - What goes into a powerpack when I create it? instructions: - text: Create a powerpack {powerpack}. slots: powerpack: requestBody.data - text: Save a new reusable widget powerpack. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/remote_config/products/asm/waf/custom_rules'].post update: x-apievangelist-phrasing: intent: Create a WAF custom rule effect: write questions: - Can I write my own WAF rule to block a specific request pattern? - What parameters does a WAF custom rule take? instructions: - text: Create a WAF custom rule {rule}. slots: rule: requestBody.data - text: Add a custom Application Security WAF rule defined as {rule}. slots: rule: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/remote_config/products/asm/waf/exclusion_filters'].post update: x-apievangelist-phrasing: intent: Create a WAF exclusion filter effect: write questions: - Can I stop the WAF from flagging requests from a trusted scanner? - What happens to a request that matches a WAF exclusion filter? instructions: - text: Create a WAF exclusion filter {filter}. slots: filter: requestBody.data - text: Passlist requests matching {filter} from the Application Security WAF. slots: filter: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/remote_config/products/cws/policy'].post update: x-apievangelist-phrasing: intent: Create a Workload Protection policy effect: write questions: - Can I create a Workload Protection agent policy? - Is the Workload Protection policy endpoint available on the US1-FED site? instructions: - text: Create a Workload Protection policy {policy}. slots: policy: requestBody.data - text: Add a new Workload Protection agent policy with {policy}. slots: policy: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/remote_config/products/obs_pipelines/pipelines'].post update: x-apievangelist-phrasing: intent: Create an Observability Pipeline effect: write questions: - Can I create an Observability Pipelines configuration through the API? - What configuration does a new observability pipeline need? instructions: - text: Create an observability pipeline with config {pipeline}. slots: pipeline: requestBody.data - text: Set up a new Observability Pipelines pipeline from {pipeline}. slots: pipeline: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/roles'].post update: x-apievangelist-phrasing: intent: Create a role effect: write questions: - Can I create a custom role for my organization? - What do I provide when making a brand-new role? instructions: - text: Create a role named {role}. slots: role: requestBody.data - text: Add a new organization role defined as {role}. slots: role: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/roles/{role_id}/clone'].post update: x-apievangelist-phrasing: intent: Clone an existing role effect: write questions: - Can I copy an existing role's permissions into a new role? - Is there a way to duplicate a role under a new name? instructions: - text: Clone role {role_id} as {new_role}. slots: role_id: path.role_id new_role: requestBody.data - text: Duplicate role {role_id} into a new role. slots: role_id: path.role_id method: generated generated: '2026-10-01' - target: $.paths['/api/v2/rum/applications/{app_id}/retention_filters'].post update: x-apievangelist-phrasing: intent: Create a RUM retention filter effect: write questions: - Can I choose which RUM sessions are retained for one application? - What does a RUM retention filter for an app need? instructions: - text: Create a RUM retention filter {filter} for application {app_id}. slots: filter: requestBody.data app_id: path.app_id - text: Add a retention filter to RUM app {app_id}. slots: app_id: path.app_id method: generated generated: '2026-10-01' - target: $.paths['/api/v2/rum/config/metrics'].post update: x-apievangelist-phrasing: intent: Create a metric from RUM data effect: write questions: - Can I generate a metric from Real User Monitoring events? - What's needed to define a RUM-based metric? instructions: - text: Create a RUM-based metric {metric}. slots: metric: requestBody.data - text: Generate a metric from RUM events defined by {metric}. slots: metric: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/scim/Groups'].post update: x-apievangelist-phrasing: intent: Create a SCIM group effect: write questions: - Can I provision a group through SCIM with its members already in it? - Is an id required when creating a SCIM group? instructions: - text: Create a SCIM group named {display_name}. slots: display_name: requestBody.displayName - text: Provision SCIM group {display_name} with members {members}. slots: display_name: requestBody.displayName members: requestBody.members method: generated generated: '2026-10-01' - target: $.paths['/api/v2/scim/Users'].post update: x-apievangelist-phrasing: intent: Provision a user through SCIM effect: write questions: - Can my identity provider provision users through SCIM? - Which user fields can I set when provisioning through SCIM? instructions: - text: Provision SCIM user {user_name} with email {emails}. slots: user_name: requestBody.userName emails: requestBody.emails - text: Create a SCIM user {user_name} titled {title}. slots: user_name: requestBody.userName title: requestBody.title method: generated generated: '2026-10-01' - target: $.paths['/api/v2/scorecard/rules'].post update: x-apievangelist-phrasing: intent: Create a scorecard rule effect: write questions: - Can I add my own rule to service scorecards? - What does a new scorecard rule definition contain? instructions: - text: Create a scorecard rule {rule}. slots: rule: requestBody.data - text: Add a new service scorecard rule. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/security/signals/notification_rules'].post update: x-apievangelist-phrasing: intent: Create a security signal notification rule effect: write questions: - Can I get notified when certain security signals fire? - What does a signal-based notification rule return once created? instructions: - text: Create a security signal notification rule {rule}. slots: rule: requestBody.data - text: Notify my team about security signals using rule {rule}. slots: rule: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/security/vulnerabilities/notification_rules'].post update: x-apievangelist-phrasing: intent: Create a vulnerability notification rule effect: write questions: - Can I be alerted when new vulnerabilities are detected? - What does a vulnerability-based notification rule include? instructions: - text: Create a vulnerability notification rule {rule}. slots: rule: requestBody.data - text: Alert my team about vulnerabilities with notification rule {rule}. slots: rule: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/security_monitoring/configuration/security_filters'].post update: x-apievangelist-phrasing: intent: Create a security filter effect: write questions: - Can I exclude some logs from security analysis with a filter? - Where is the guidance for setting up security filters? instructions: - text: Create a security filter {filter}. slots: filter: requestBody.data - text: Add a Cloud SIEM security filter defined as {filter}. slots: filter: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/security_monitoring/configuration/suppressions'].post update: x-apievangelist-phrasing: intent: Create a security signal suppression rule effect: write questions: - Can I suppress noisy security signals for known activity? - What does a suppression rule need? instructions: - text: Create a suppression rule {suppression}. slots: suppression: requestBody.data - text: Suppress signals matching {suppression}. slots: suppression: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/security_monitoring/rules'].post update: x-apievangelist-phrasing: intent: Create a detection rule effect: write questions: - How do I add a new threat detection rule? - Can I write a custom detection rule for security monitoring? instructions: - text: Create a security detection rule. - text: Add a new detection rule to Security Monitoring. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/sensitive-data-scanner/config/groups'].post update: x-apievangelist-phrasing: intent: Create a Sensitive Data Scanner group effect: write questions: - Can I create a scanning group to look for sensitive data in logs? - Can rules be created at the same time as a scanning group? instructions: - text: Create a sensitive data scanning group {group}. slots: group: requestBody.data - text: Add a new Sensitive Data Scanner group. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/sensitive-data-scanner/config/rules'].post update: x-apievangelist-phrasing: intent: Create a Sensitive Data Scanner rule effect: write questions: - Can I add a regex rule to a sensitive data scanning group? - Must a scanning rule use either a standard pattern or a regex, not both? instructions: - text: Create a scanning rule {rule} with meta {meta}. slots: rule: requestBody.data meta: requestBody.meta - text: Add scanning rule {rule} to the end of its group, using meta {meta}. slots: rule: requestBody.data meta: requestBody.meta method: generated generated: '2026-10-01' - target: $.paths['/api/v2/services'].post update: x-apievangelist-phrasing: intent: Create an incident service effect: write questions: - Can I add a service that incidents can be attributed to? - What's needed to create an incident service? instructions: - text: Create an incident service named {service}. slots: service: requestBody.data - text: Add {service} as a new incident service. slots: service: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/services/definitions'].post update: x-apievangelist-phrasing: intent: Create or update Service Catalog definitions effect: write questions: - Can I push service definitions into the Service Catalog? - Does posting a service definition update one that already exists? instructions: - text: Create or update my Service Catalog service definitions. - text: Push the latest service definition to the Service Catalog. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/slo/report'].post update: x-apievangelist-phrasing: intent: Start an SLO report job effect: write questions: - Can I export an SLO report as a CSV? - Is SLO report generation synchronous or do I have to poll for it? instructions: - text: Start an SLO report job for {report}. slots: report: requestBody.data - text: Generate a CSV SLO report with parameters {report}. slots: report: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/team'].post update: x-apievangelist-phrasing: intent: Create a team effect: write questions: - Can I create a team and add users to it in one request? - What's required to create a new team? instructions: - text: Create a team called {team}. slots: team: requestBody.data - text: Set up a new team {team} with its initial members. slots: team: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/team/{team_id}/links'].post update: x-apievangelist-phrasing: intent: Add a link to a team effect: write questions: - Can I add a runbook or docs link to a team's profile? - Where do team links get added? instructions: - text: Add link {link} to team {team_id}. slots: link: requestBody.data team_id: path.team_id - text: Create a new link on team {team_id}. slots: team_id: path.team_id method: generated generated: '2026-10-01' - target: $.paths['/api/v2/teams'].post update: x-apievangelist-phrasing: intent: Create an incident team effect: write questions: - Can I create a team that responds to incidents? - What does an incident team need when created? instructions: - text: Create an incident team named {incident_team}. slots: incident_team: requestBody.data - text: Add {incident_team} as a new incident response team. slots: incident_team: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users'].post update: x-apievangelist-phrasing: intent: Create a user effect: write questions: - Can I add a user to my organization without SCIM? - What details are needed to create a user account? instructions: - text: Create a user with {user}. slots: user: requestBody.data - text: Add {user} as a new user in my organization. slots: user: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/api/v2/workflows'].post update: x-apievangelist-phrasing: intent: Create a workflow automation effect: write questions: - Can I create a Workflow Automation workflow from code? - Which permission does my application key need to create workflows? instructions: - text: Create a workflow defined as {workflow}. slots: workflow: requestBody.data - text: Build a new automation workflow from {workflow} and return its ID. slots: workflow: requestBody.data method: generated generated: '2026-10-01'