arazzo: 1.0.1
info:
title: Bright Data Provision a Zone and Allocate IPs
summary: Create a zone, confirm it, and allocate dedicated IPs to it.
description: >-
A zone provisioning pattern in the Account Management API. The workflow
creates a new zone, reads it back to confirm it exists, and then allocates a
batch of dedicated IPs to the zone. 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: ipsApi
url: ../openapi/bright-data-ips-api-openapi.yml
type: openapi
- name: zonesApi
url: ../openapi/bright-data-zones-api-openapi.yml
type: openapi
workflows:
- workflowId: provision-zone-and-ips
summary: Create a zone, verify it, and allocate IPs to it.
description: >-
Provisions a new zone of the requested type, confirms it by reading it back,
and allocates a batch of dedicated IPs to the zone.
inputs:
type: object
required:
- apiToken
- zone
- planType
- ips
properties:
apiToken:
type: string
description: Bright Data API token used as a Bearer credential.
zone:
type: string
description: Name for the new zone.
planType:
type: string
description: Zone plan type (residential, isp, datacenter, mobile, unblocker, serp, scraping_browser).
country:
type: string
description: Country for the zone and IP allocation (ISO 3166-1 alpha-2).
ips:
type: integer
description: Number of dedicated IPs to allocate to the zone.
steps:
- stepId: createZone
description: >-
Create a new zone of the requested plan type and country.
operationId: addZone
parameters:
- name: Authorization
in: header
value: "Bearer $inputs.apiToken"
requestBody:
contentType: application/json
payload:
zone: $inputs.zone
plan:
type: $inputs.planType
country: $inputs.country
ips: $inputs.ips
successCriteria:
- condition: $statusCode == 200
outputs:
zoneName: $response.body#/zone
- stepId: confirmZone
description: >-
Read the zone back to confirm it was created before allocating IPs.
operationId: getZone
parameters:
- name: Authorization
in: header
value: "Bearer $inputs.apiToken"
- name: zone
in: query
value: $steps.createZone.outputs.zoneName
successCriteria:
- condition: $statusCode == 200
outputs:
zoneType: $response.body#/type
- stepId: allocateIps
description: >-
Allocate a batch of dedicated IPs to the confirmed zone.
operationId: addZoneIps
parameters:
- name: Authorization
in: header
value: "Bearer $inputs.apiToken"
requestBody:
contentType: application/json
payload:
zone: $steps.createZone.outputs.zoneName
ips: $inputs.ips
country: $inputs.country
successCriteria:
- condition: $statusCode == 200
outputs:
allocation: $response.body
outputs:
zoneName: $steps.createZone.outputs.zoneName
zoneType: $steps.confirmZone.outputs.zoneType
allocation: $steps.allocateIps.outputs.allocation
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.