Cloudflare · Arazzo Workflow

Cloudflare Create DNS Record and Verify

Version 1.0.0

Create a DNS record in a zone and read it back to confirm it was stored.

1 workflow 1 source API 1 provider
View Spec View on GitHub AI GatewayAPI GatewayArtificial IntelligenceCDNCloudContainersDDoS ProtectionDNSEdgeEdge ComputingObject StoragePlatformReal-Time CommunicationSecurityServerlessWeb PerformanceArazzoWorkflows

Provider

cloudflare

Workflows

create-dns-record-and-verify
Create a DNS record then fetch it by id to verify it persisted.
Creates a DNS record in the zone from the supplied type, name, and content, then retrieves the newly created record by its identifier to confirm the stored values.
2 steps inputs: content, name, proxied, ttl, type, zoneId outputs: recordContent, recordId, recordName
1
createRecord
Create a new DNS record in the zone using the supplied type, name, and content.
2
verifyRecord
Fetch the newly created DNS record by its identifier to confirm the values Cloudflare persisted.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Cloudflare Create DNS Record and Verify
  summary: Create a DNS record in a zone and read it back to confirm it was stored.
  description: >-
    A foundational DNS provisioning flow. The workflow creates a new DNS record
    in the target zone, captures the returned record identifier, and then reads
    that record back by id to confirm the values Cloudflare persisted match what
    was submitted. Every step inlines its request so the flow can be read and
    executed without opening the underlying OpenAPI description. Cloudflare wraps
    responses in a {success, result} envelope, so each step asserts both the
    documented HTTP 200 status and that the envelope reports success.
  version: 1.0.0
sourceDescriptions:
- name: dnsRecordsApi
  url: ../openapi/cloudflare-dns-records-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-dns-record-and-verify
  summary: Create a DNS record then fetch it by id to verify it persisted.
  description: >-
    Creates a DNS record in the zone from the supplied type, name, and content,
    then retrieves the newly created record by its identifier to confirm the
    stored values.
  inputs:
    type: object
    required:
    - zoneId
    - type
    - name
    - content
    properties:
      zoneId:
        type: string
        description: The unique identifier of the zone (e.g. 023e105f4ecef8ad9ca31a8372d0c353).
      type:
        type: string
        description: The DNS record type (e.g. A, AAAA, CNAME, TXT, MX).
      name:
        type: string
        description: The DNS record name (e.g. www.example.com).
      content:
        type: string
        description: The DNS record content value (e.g. an IP address or target hostname).
      ttl:
        type: integer
        description: Time to live in seconds. A value of 1 indicates automatic TTL.
      proxied:
        type: boolean
        description: Whether the record is receiving Cloudflare proxy services.
  steps:
  - stepId: createRecord
    description: >-
      Create a new DNS record in the zone using the supplied type, name, and
      content.
    operationId: createDnsRecord
    parameters:
    - name: zone_id
      in: path
      value: $inputs.zoneId
    requestBody:
      contentType: application/json
      payload:
        type: $inputs.type
        name: $inputs.name
        content: $inputs.content
        ttl: $inputs.ttl
        proxied: $inputs.proxied
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.success == true
      type: jsonpath
    outputs:
      recordId: $response.body#/result/id
  - stepId: verifyRecord
    description: >-
      Fetch the newly created DNS record by its identifier to confirm the values
      Cloudflare persisted.
    operationId: getDnsRecord
    parameters:
    - name: zone_id
      in: path
      value: $inputs.zoneId
    - name: dns_record_id
      in: path
      value: $steps.createRecord.outputs.recordId
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.success == true
      type: jsonpath
    outputs:
      recordId: $response.body#/result/id
      recordName: $response.body#/result/name
      recordContent: $response.body#/result/content
  outputs:
    recordId: $steps.verifyRecord.outputs.recordId
    recordName: $steps.verifyRecord.outputs.recordName
    recordContent: $steps.verifyRecord.outputs.recordContent

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/cloudflare-create-dns-record-and-verify-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.