Fastly API Security API

The Fastly API Security product builds a continuously updated, searchable catalog of all your API endpoints. The API exposes Operations sub-resources for managing discovered API operations through listing, creation, updates, deletion, and tag-based organization capabilities. It supports the broader API Security product that maps API landscape and enables targeted abuse mitigation decisions.

OpenAPI Specification

fastly-api-security-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Fastly API Security API
  description: |
    The Fastly API Security product builds a continuously updated, searchable
    catalog of all your API endpoints. The API exposes Operations sub-resources
    for managing discovered API operations including listing, creation, updates,
    deletion, and tag-based organization.
  version: '1.0.0'
servers:
  - url: https://api.fastly.com
security:
  - FastlyKey: []
tags:
  - name: Operations
paths:
  /security/api/operations:
    get:
      tags: [Operations]
      summary: List API Operations
      operationId: listApiOperations
      parameters:
        - { name: service_id, in: query, schema: { type: string } }
        - { name: tag, in: query, schema: { type: string } }
      responses:
        '200': { description: A list of API operations }
    post:
      tags: [Operations]
      summary: Create API Operation
      operationId: createApiOperation
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/ApiOperation' }
      responses:
        '201': { description: Operation created }
  /security/api/operations/{operation_id}:
    parameters:
      - { in: path, name: operation_id, required: true, schema: { type: string } }
    get:
      tags: [Operations]
      summary: Get API Operation
      operationId: getApiOperation
      responses:
        '200': { description: A discovered API operation }
    patch:
      tags: [Operations]
      summary: Update API Operation
      operationId: updateApiOperation
      responses:
        '200': { description: Operation updated }
    delete:
      tags: [Operations]
      summary: Delete API Operation
      operationId: deleteApiOperation
      responses:
        '204': { description: Deleted }
  /security/api/operations/{operation_id}/tags:
    parameters:
      - { in: path, name: operation_id, required: true, schema: { type: string } }
    put:
      tags: [Operations]
      summary: Set Operation Tags
      operationId: setOperationTags
      responses:
        '200': { description: Tags updated }
components:
  securitySchemes:
    FastlyKey:
      type: apiKey
      in: header
      name: Fastly-Key
  schemas:
    ApiOperation:
      type: object
      properties:
        id: { type: string }
        service_id: { type: string }
        method: { type: string, enum: [GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS] }
        path: { type: string, example: /v1/users/{user_id} }
        host: { type: string }
        tags:
          type: array
          items: { type: string }
        first_seen_at: { type: string, format: date-time }
        last_seen_at: { type: string, format: date-time }
        traffic_24h: { type: integer }