Fastly · Capability

Fastly Load Balancing — Directors

Manage Fastly VCL director groups for service versions. Directors bundle backends into load-balanced groups as part of locked service configurations.

Fastly Load Balancing — Directors is a Naftiko capability published by Fastly, one of 73 capabilities the APIs.io network indexes for this provider. It bundles 4 operations across the GET, POST, and DELETE methods rooted at /v1/services/{…}/versions/{…}/directors.

The capability includes 2 read-only operations and 2 state-changing operations. Lead operation: List Fastly load-balancing directors. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Fastly, Load Balancing, and Directors.

Run with Naftiko FastlyLoad BalancingDirectors

What You Can Do

GET
Listdirectors — List directors
/v1/services/{service-id}/versions/{version-id}/directors
POST
Createdirector — Create director
/v1/services/{service-id}/versions/{version-id}/directors
GET
Getdirector — Get director
/v1/services/{service-id}/versions/{version-id}/directors/{director-name}
DELETE
Deletedirector — Delete director
/v1/services/{service-id}/versions/{version-id}/directors/{director-name}

MCP Tools

list-directors

List Fastly load-balancing directors

read-only idempotent
create-director

Create a Fastly load-balancing director

get-director

Get a Fastly load-balancing director

read-only idempotent
delete-director

Delete a Fastly load-balancing director

idempotent

Capability Spec

load-balancing-directors.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Fastly Load Balancing — Directors
  description: Manage Fastly VCL director groups for service versions. Directors bundle backends into load-balanced groups as part of locked service configurations.
  tags: [Fastly, Load Balancing, Directors]
  created: '2026-05-22'
  modified: '2026-05-22'
binds:
- namespace: env
  keys: { FASTLY_API_KEY: FASTLY_API_KEY }
capability:
  consumes:
  - type: http
    namespace: load-balancing-directors
    baseUri: https://api.fastly.com
    description: Director management endpoints under a service version.
    resources:
    - name: directors
      path: /service/{service_id}/version/{version_id}/director
      operations:
      - { name: listdirectors, method: GET, description: List directors, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
      - { name: createdirector, method: POST, description: Create director, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
    - name: director
      path: /service/{service_id}/version/{version_id}/director/{director_name}
      operations:
      - { name: getdirector, method: GET, description: Get director, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
      - { name: deletedirector, method: DELETE, description: Delete director, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
    authentication: { type: apikey, key: Fastly-Key, value: '{{env.FASTLY_API_KEY}}', placement: header }
  exposes:
  - type: rest
    namespace: load-balancing-directors-rest
    port: 8080
    description: REST adapter.
    resources:
    - path: /v1/services/{service-id}/versions/{version-id}/directors
      name: directors
      description: Directors collection.
      operations:
      - { method: GET, name: listdirectors, description: List directors, call: load-balancing-directors.listdirectors, outputParameters: [ { type: object, mapping: $. } ] }
      - { method: POST, name: createdirector, description: Create director, call: load-balancing-directors.createdirector, outputParameters: [ { type: object, mapping: $. } ] }
    - path: /v1/services/{service-id}/versions/{version-id}/directors/{director-name}
      name: director
      description: Single director.
      operations:
      - { method: GET, name: getdirector, description: Get director, call: load-balancing-directors.getdirector, outputParameters: [ { type: object, mapping: $. } ] }
      - { method: DELETE, name: deletedirector, description: Delete director, call: load-balancing-directors.deletedirector, outputParameters: [ { type: object, mapping: $. } ] }
  - type: mcp
    namespace: load-balancing-directors-mcp
    port: 9090
    transport: http
    description: MCP adapter.
    tools:
    - { name: list-directors, description: List Fastly load-balancing directors, hints: { readOnly: true, destructive: false, idempotent: true }, call: load-balancing-directors.listdirectors, outputParameters: [ { type: object, mapping: $. } ] }
    - { name: create-director, description: Create a Fastly load-balancing director, hints: { readOnly: false, destructive: false, idempotent: false }, call: load-balancing-directors.createdirector, outputParameters: [ { type: object, mapping: $. } ] }
    - { name: get-director, description: Get a Fastly load-balancing director, hints: { readOnly: true, destructive: false, idempotent: true }, call: load-balancing-directors.getdirector, outputParameters: [ { type: object, mapping: $. } ] }
    - { name: delete-director, description: Delete a Fastly load-balancing director, hints: { readOnly: false, destructive: true, idempotent: true }, call: load-balancing-directors.deletedirector, outputParameters: [ { type: object, mapping: $. } ] }