Fastly · Arazzo Workflow

Fastly Create ACL and Add Entry

Version 1.0.0

Create an ACL on a version, activate the version, then add an IP entry to the ACL.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub CDNEdge CloudEdge ComputeWebAssemblySecurityArtificial IntelligenceObservabilityAsyncAPIStreamingWebhookLoggingArazzoWorkflows

Provider

fastly

Workflows

create-acl-and-add-entry
Create an ACL, activate the version, and add an IP entry.
Creates an ACL container on the supplied draft version, activates that version, then adds an IP address entry to the resulting versionless ACL.
3 steps inputs: aclName, apiToken, entryComment, entryIp, entrySubnet, serviceId, versionId outputs: aclId, entryId
1
createAcl
Create the ACL container on the supplied draft version.
2
activateVersion
Activate the version so the ACL becomes live and versionless.
3
addEntry
Add an IP address entry to the now-live ACL.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Fastly Create ACL and Add Entry
  summary: Create an ACL on a version, activate the version, then add an IP entry to the ACL.
  description: >-
    ACLs hold lists of IP addresses used in VCL access decisions. An ACL
    container is bound to a service version, but once the version is active its
    entries become versionless and can be edited live. This workflow creates the
    ACL on a draft version, activates the version, and then adds an IP entry to
    the now-live ACL. 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
  x-realizes-capability-ids:
  - BC-620.20
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-620.20
      capability_name: Identity & Access Management
      spec: fastly-acl-entry-api-openapi.yml
      confidence: 0.7
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: aclApi
  url: ../openapi/fastly-acl-api-openapi.yml
  type: openapi
- name: aclEntryApi
  url: ../openapi/fastly-acl-entry-api-openapi.yml
  type: openapi
- name: serviceVersionApi
  url: ../openapi/fastly-service-version-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-acl-and-add-entry
  summary: Create an ACL, activate the version, and add an IP entry.
  description: >-
    Creates an ACL container on the supplied draft version, activates that
    version, then adds an IP address entry to the resulting versionless ACL.
  inputs:
    type: object
    required:
    - apiToken
    - serviceId
    - versionId
    - aclName
    - entryIp
    properties:
      apiToken:
        type: string
        description: The Fastly API token used to authenticate requests.
      serviceId:
        type: string
        description: The alphanumeric identifier of the service.
      versionId:
        type: integer
        description: The draft version number to create the ACL on.
      aclName:
        type: string
        description: The name for the new ACL.
      entryIp:
        type: string
        description: The IP address to add as an ACL entry.
      entrySubnet:
        type: integer
        description: An optional CIDR subnet mask for the entry.
      entryComment:
        type: string
        description: An optional comment for the entry.
  steps:
  - stepId: createAcl
    description: Create the ACL container on the supplied draft version.
    operationId: createAcl
    parameters:
    - name: Fastly-Key
      in: header
      value: $inputs.apiToken
    - name: service_id
      in: path
      value: $inputs.serviceId
    - name: version_id
      in: path
      value: $inputs.versionId
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        name: $inputs.aclName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      aclId: $response.body#/id
  - stepId: activateVersion
    description: Activate the version so the ACL becomes live and versionless.
    operationId: activateServiceVersion
    parameters:
    - name: Fastly-Key
      in: header
      value: $inputs.apiToken
    - name: service_id
      in: path
      value: $inputs.serviceId
    - name: version_id
      in: path
      value: $inputs.versionId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      active: $response.body#/active
  - stepId: addEntry
    description: Add an IP address entry to the now-live ACL.
    operationId: createAclEntry
    parameters:
    - name: Fastly-Key
      in: header
      value: $inputs.apiToken
    - name: service_id
      in: path
      value: $inputs.serviceId
    - name: acl_id
      in: path
      value: $steps.createAcl.outputs.aclId
    requestBody:
      contentType: application/json
      payload:
        ip: $inputs.entryIp
        subnet: $inputs.entrySubnet
        comment: $inputs.entryComment
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      entryId: $response.body#/id
  outputs:
    aclId: $steps.createAcl.outputs.aclId
    entryId: $steps.addEntry.outputs.entryId

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/fastly-create-acl-and-add-entry-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.