Datadog · Arazzo Workflow

Datadog Manage API Keys

Version 1.0.0

Create an API key, read it back, then list all API keys for the org.

1 workflow 1 source API 1 provider
View Spec View on GitHub AnalyticsDashboardsMonitoringPlatformT1VisualizationsArazzoWorkflows

Provider

datadog

Workflows

manage-api-keys
Create a Datadog API key, get it, then list all keys.
Creates an API key with the supplied name, reads it back by id, and lists all API keys in the organization.
3 steps inputs: name outputs: apiKeyId, apiKeyName, keys
1
createApiKey
CreateAPIKey
Create a new API key with the supplied name.
2
getApiKey
GetAPIKey
Fetch the created API key by id to confirm it exists.
3
listApiKeys
ListAPIKeys
List all API keys in the organization so the new key can be located.

Source API Descriptions

Arazzo Workflow Specification

datadog-manage-api-keys-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Datadog Manage API Keys
  summary: Create an API key, read it back, then list all API keys for the org.
  description: >-
    A foundational provisioning pattern on the Datadog v2 API Keys API. The
    workflow creates a named API key, fetches the created key by id to confirm
    it exists, and then lists all keys in the organization so the new key can be
    located among them. Every step spells out its request inline so the flow can
    be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: datadogApi
  url: ../openapi/datadog-api-openapi.yml
  type: openapi
workflows:
- workflowId: manage-api-keys
  summary: Create a Datadog API key, get it, then list all keys.
  description: >-
    Creates an API key with the supplied name, reads it back by id, and lists
    all API keys in the organization.
  inputs:
    type: object
    required:
    - name
    properties:
      name:
        type: string
        description: Name of the API key to create.
  steps:
  - stepId: createApiKey
    description: Create a new API key with the supplied name.
    operationId: CreateAPIKey
    requestBody:
      contentType: application/json
      payload:
        data:
          type: api_keys
          attributes:
            name: $inputs.name
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      apiKeyId: $response.body#/data/id
      apiKeyValue: $response.body#/data/attributes/key
  - stepId: getApiKey
    description: Fetch the created API key by id to confirm it exists.
    operationId: GetAPIKey
    parameters:
    - name: api_key_id
      in: path
      value: $steps.createApiKey.outputs.apiKeyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      apiKeyName: $response.body#/data/attributes/name
  - stepId: listApiKeys
    description: List all API keys in the organization so the new key can be located.
    operationId: ListAPIKeys
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      keys: $response.body#/data
  outputs:
    apiKeyId: $steps.createApiKey.outputs.apiKeyId
    apiKeyName: $steps.getApiKey.outputs.apiKeyName
    keys: $steps.listApiKeys.outputs.keys