Datadog · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Datadog Create API

52 actions 52 updates phrasing extends openapi/datadog-create-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Datadog's API. It is a proposal applied on top of the contract, not a document Datadog publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 52 · first 16 shown; the file carries all of them

$.info
$.paths['/api/v2/api_keys'].post
$.paths['/api/v2/apicatalog/openapi'].post
$.paths['/api/v2/apm/config/metrics'].post
$.paths['/api/v2/apm/config/retention-filters'].post
$.paths['/api/v2/authn_mappings'].post
$.paths['/api/v2/cases/projects'].post
$.paths['/api/v2/catalog/entity'].post
$.paths['/api/v2/cloud_security_management/custom_frameworks'].post
$.paths['/api/v2/incidents'].post
$.paths['/api/v2/incidents/config/types'].post
$.paths['/api/v2/incidents/{incident_id}/relationships/integrations'].post
$.paths['/api/v2/incidents/{incident_id}/relationships/todos'].post
$.paths['/api/v2/integration/aws/accounts'].post
$.paths['/api/v2/integration/gcp/sts_delegate'].post
$.paths['/api/v2/integration/ms-teams/configuration/tenant-based-handles'].post

OpenAPI Overlay

Raw ↑
# 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'