arazzo: 1.0.1
info:
title: Fastly Purge by Surrogate Key
summary: Confirm a service exists, then instantly purge all objects tagged with a surrogate key.
description: >-
Surrogate keys let you invalidate a logical group of cached objects (for
example everything tagged with a product id) in one call. This workflow
first confirms the target service exists and then issues a soft or hard
purge for the supplied surrogate key. 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: purgingApi
url: ../openapi/fastly-purging-api-openapi.yml
type: openapi
- name: serviceApi
url: ../openapi/fastly-service-api-openapi.yml
type: openapi
workflows:
- workflowId: purge-by-surrogate-key
summary: Validate a service and purge cached objects by surrogate key.
description: >-
Reads the service to confirm it exists, then purges every cached object
tagged with the supplied surrogate key, optionally as a soft purge.
inputs:
type: object
required:
- apiToken
- serviceId
- surrogateKey
properties:
apiToken:
type: string
description: The Fastly API token used to authenticate requests.
serviceId:
type: string
description: The alphanumeric identifier of the service.
surrogateKey:
type: string
description: The surrogate key tag to purge.
softPurge:
type: string
description: Set to "1" to mark objects stale instead of removing them.
steps:
- stepId: getService
description: Confirm the service exists before issuing the 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: purgeKey
description: Purge all cached objects tagged with the surrogate key.
operationId: purgeBySurrogateKey
parameters:
- name: Fastly-Key
in: header
value: $inputs.apiToken
- name: service_id
in: path
value: $inputs.serviceId
- name: surrogate_key
in: path
value: $inputs.surrogateKey
- name: Fastly-Soft-Purge
in: header
value: $inputs.softPurge
successCriteria:
- condition: $statusCode == 200
outputs:
purgeId: $response.body#/id
status: $response.body#/status
outputs:
purgeId: $steps.purgeKey.outputs.purgeId
status: $steps.purgeKey.outputs.status
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.