Fastly · Arazzo Workflow

Fastly Bulk Purge Surrogate Keys

Version 1.0.0

Confirm a service exists, then purge up to 256 surrogate keys in one request.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub CDNEdge CloudEdge ComputeWebAssemblySecurityAIObservabilityAsyncAPIStreamingWebhooksLoggingArazzoWorkflows

Provider

fastly

Workflows

bulk-purge-surrogate-keys
Validate a service and purge a batch of surrogate keys.
Reads the service to confirm it exists, then submits up to 256 surrogate keys to be purged in one batch request.
2 steps inputs: apiToken, serviceId, surrogateKeys outputs: purgeStatuses
1
getService
getService
Confirm the service exists before issuing the bulk purge.
2
bulkPurge
bulkPurgeBySurrogateKey
Submit the batch of surrogate keys to purge in a single request.

Source API Descriptions

Arazzo Workflow Specification

fastly-bulk-purge-surrogate-keys-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Fastly Bulk Purge Surrogate Keys
  summary: Confirm a service exists, then purge up to 256 surrogate keys in one request.
  description: >-
    Invalidates many cache tags at once. The workflow confirms the target
    service exists and then submits a batch of surrogate keys to be purged in a
    single call, returning a map of each key to its purge status identifier.
    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: servicesApi
  url: ../openapi/fastly-services-openapi.yml
  type: openapi
- name: purgingApi
  url: ../openapi/fastly-purging-openapi.yml
  type: openapi
workflows:
- workflowId: bulk-purge-surrogate-keys
  summary: Validate a service and purge a batch of surrogate keys.
  description: >-
    Reads the service to confirm it exists, then submits up to 256 surrogate
    keys to be purged in one batch request.
  inputs:
    type: object
    required:
    - apiToken
    - serviceId
    - surrogateKeys
    properties:
      apiToken:
        type: string
        description: The Fastly API token used to authenticate requests.
      serviceId:
        type: string
        description: The alphanumeric identifier of the service.
      surrogateKeys:
        type: array
        description: A list of surrogate key tags to purge (maximum 256).
        items:
          type: string
  steps:
  - stepId: getService
    description: Confirm the service exists before issuing the bulk purge.
    operationId: getService
    parameters:
    - name: Fastly-Key
      in: header
      value: $inputs.apiToken
    - name: service_id
      in: path
      value: $inputs.serviceId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      serviceId: $response.body#/id
  - stepId: bulkPurge
    description: Submit the batch of surrogate keys to purge in a single request.
    operationId: bulkPurgeBySurrogateKey
    parameters:
    - name: Fastly-Key
      in: header
      value: $inputs.apiToken
    - name: service_id
      in: path
      value: $inputs.serviceId
    requestBody:
      contentType: application/json
      payload:
        surrogate_keys: $inputs.surrogateKeys
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      purgeStatuses: $response.body#/purge_statuses
  outputs:
    purgeStatuses: $steps.bulkPurge.outputs.purgeStatuses