Silverflow Distributions API

The Distributions API from Silverflow — 2 operation(s) for distributions.

Operations 5

POST /distributions Create a Distribution Object #
GET /distributions List Distribution Objects #
GET /distributions/{distributionKey} Get a Distribution Object #
PATCH /distributions/{distributionKey} Update a Distribution Object #
DELETE /distributions/{distributionKey} Archive a Distribution Object #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/silverflow-distributions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

silverflow-distributions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Silverflow Distributions API
  version: 1.417.0
  contact:
    name: API Support
    email: support@silverflow.com
  license:
    name: Commercial
  description: 'Operations tagged Distributions across 2 of this provider''s published API definitions: silverflow-openapi.yml, silverflow-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://eu-west-1.api.silverflow.com/v1
  description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
- url: https://us-east-2.api.silverflow.com/v1
  description: Production URL for North America
- url: https://eu-west-1.api-sbx.silverflow.com/v1
  description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
security:
- ApiKey: []
- BearerToken: []
tags:
- name: Distributions
paths:
  /distributions:
    post:
      operationId: createDistribution
      summary: Create a Distribution Object
      description: 'Creates a distribution object.


        When a report associated to the distribution is completed, we will send a link to the generated report to distribution object specified targets.


        Requires the `distributions:Create` permission.

        '
      tags:
      - Distributions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDistributionRequest'
            examples:
              EmailDistribution:
                $ref: '#/components/examples/CreateEmailDistributionRequest'
              SftpDistribution:
                $ref: '#/components/examples/CreateSftpDistributionRequest'
              S3Distribution:
                $ref: '#/components/examples/CreateS3DistributionRequest'
      responses:
        '201':
          description: The created distribution object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Distribution'
              examples:
                EmailReportDistribution:
                  $ref: '#/components/examples/CreateEmailDistributionResponse'
                SftpReportDistribution:
                  $ref: '#/components/examples/CreateSftpDistributionResponse'
                S3ReportDistribution:
                  $ref: '#/components/examples/CreateS3DistributionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/schemas-InputValidationError'
              examples:
                InputValidationError:
                  $ref: '#/components/examples/InputValidationError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAuthorizedError'
              examples:
                NotAuthorizedError:
                  $ref: '#/components/examples/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-ForbiddenError'
              examples:
                ForbiddenError:
                  $ref: '#/components/examples/ForbiddenError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-TooManyRequestsError'
              examples:
                TooManyRequestsError:
                  $ref: '#/components/examples/TooManyRequestsError'
    get:
      operationId: listDistributions
      summary: List Distribution Objects
      description: 'Lists all active distributions objects.


        Requires the `distributions:List` permission.

        '
      tags:
      - Distributions
      parameters:
      - $ref: '#/components/parameters/type'
      - $ref: '#/components/parameters/parameters-status'
      - $ref: '#/components/parameters/openapi_components-parameters-sortOrder'
      - $ref: '#/components/parameters/openapi_components-parameters-offsetToken'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: A list of distribution objects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDistributionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/schemas-InputValidationError'
              examples:
                InputValidationError:
                  $ref: '#/components/examples/InputValidationError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAuthorizedError'
              examples:
                NotAuthorizedError:
                  $ref: '#/components/examples/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-ForbiddenError'
              examples:
                ForbiddenError:
                  $ref: '#/components/examples/ForbiddenError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-TooManyRequestsError'
              examples:
                TooManyRequestsError:
                  $ref: '#/components/examples/TooManyRequestsError'
    servers:
    - url: https://eu-west-1.api.silverflow.com/v1
      description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
    - url: https://us-east-2.api.silverflow.com/v1
      description: Production URL for North America
    - url: https://eu-west-1.api-sbx.silverflow.com/v1
      description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
  /distributions/{distributionKey}:
    get:
      operationId: getDistribution
      summary: Get a Distribution Object
      description: 'Returns a distribution object.


        Requires the `distributions:Get` permission.

        '
      tags:
      - Distributions
      parameters:
      - in: path
        name: distributionKey
        required: true
        schema:
          $ref: '#/components/schemas/distributionKey'
      responses:
        '200':
          description: The distribution object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Distribution'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/schemas-InputValidationError'
              examples:
                InputValidationError:
                  $ref: '#/components/examples/InputValidationError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAuthorizedError'
              examples:
                NotAuthorizedError:
                  $ref: '#/components/examples/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-ForbiddenError'
              examples:
                ForbiddenError:
                  $ref: '#/components/examples/ForbiddenError'
        '404':
          description: Distribution not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DistributionNotFoundError'
              examples:
                ReportDistributionNotFoundError:
                  $ref: '#/components/examples/DistributionNotFoundError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-TooManyRequestsError'
              examples:
                TooManyRequestsError:
                  $ref: '#/components/examples/TooManyRequestsError'
    patch:
      operationId: updateDistribution
      summary: Update a Distribution Object
      description: 'Updates a distribution object reference and targets.


        Requires the `distributions:Update` permission.

        '
      tags:
      - Distributions
      parameters:
      - in: path
        name: distributionKey
        required: true
        schema:
          $ref: '#/components/schemas/distributionKey'
      requestBody:
        required: true
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/UpdateDistributionRequest'
      responses:
        '200':
          description: The updated distribution object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Distribution'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/schemas-InputValidationError'
              examples:
                InputValidationError:
                  $ref: '#/components/examples/InputValidationError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAuthorizedError'
              examples:
                NotAuthorizedError:
                  $ref: '#/components/examples/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-ForbiddenError'
              examples:
                ForbiddenError:
                  $ref: '#/components/examples/ForbiddenError'
        '404':
          description: Distribution not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DistributionNotFoundError'
              examples:
                ReportDistributionNotFoundError:
                  $ref: '#/components/examples/DistributionNotFoundError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-TooManyRequestsError'
              examples:
                TooManyRequestsError:
                  $ref: '#/components/examples/TooManyRequestsError'
    delete:
      operationId: archiveDistribution
      summary: Archive a Distribution Object
      description: 'Archives a distribution object. Distributions will not be used by their associated entities if they are archived.


        Requires the `distributions:Archive` permission.

        '
      tags:
      - Distributions
      parameters:
      - in: path
        name: distributionKey
        required: true
        schema:
          $ref: '#/components/schemas/distributionKey'
      responses:
        '204':
          description: Distribution archived.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/schemas-InputValidationError'
              examples:
                InputValidationError:
                  $ref: '#/components/examples/InputValidationError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAuthorizedError'
              examples:
                NotAuthorizedError:
                  $ref: '#/components/examples/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-ForbiddenError'
              examples:
                ForbiddenError:
                  $ref: '#/components/examples/ForbiddenError'
        '404':
          description: Distribution not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DistributionNotFoundError'
              examples:
                ReportDistributionNotFoundError:
                  $ref: '#/components/examples/DistributionNotFoundError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-TooManyRequestsError'
              examples:
                TooManyRequestsError:
                  $ref: '#/components/examples/TooManyRequestsError'
    servers:
    - url: https://eu-west-1.api.silverflow.com/v1
      description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
    - url: https://us-east-2.api.silverflow.com/v1
      description: Production URL for North America
    - url: https://eu-west-1.api-sbx.silverflow.com/v1
      description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
components:
  examples:
    InputValidationError:
      summary: Input Validation Error
      value:
        type: /silverflow/problems/invalid-input
        title: Invalid Input
        status: 400
        detail: The request does not adhere to the defined API schema.
        instance: /silverflow/b4cc37a0-ab24-46b4-aa8c-cc2d6eddf1b6
        validationErrors:
        - path: /body/type
          errorCode: enum.openapi.validation
          message: 'must be equal to one of the allowed values: email'
    ForbiddenError:
      summary: Forbidden Error
      value:
        type: /silverflow/problems/forbidden
        title: Forbidden
        status: 403
        detail: The server is refusing to execute the request for the current authenticated user
        instance: /silverflow/8e445b2e-d745-4b38-a38d-781fc998e442
    CreateS3DistributionRequest:
      summary: Create S3 Distribution Request
      value:
        type: s3
        targets:
          accountId: '123456789012'
          bucketName: test-bucket
          directory: test-directory
          externalId: hiddenid
          roleArn: arn:aws:iam::123456789012:role/test-role
        reference: S3
    CreateS3DistributionResponse:
      summary: Create S3 Distribution Response
      value:
        type: s3
        targets:
          accountId: '123456789012'
          bucketName: test-bucket
          directory: test-directory
          externalId: hiddenid
          roleArn: arn:aws:iam::123456789012:role/test-role
        key: dst-5qJEzBHZ1vsYSBgKs1dK
        status: active
        agentKey: cgt-5qJCIJOofB9n0cYKZTUD
        created: '2025-04-24T14:15:22Z'
        version: 1
        reference: S3
    CreateEmailDistributionResponse:
      summary: Create Email Distribution Response
      value:
        type: email
        targets:
          recipients:
          - to:
            - to-example@example.com
            cc:
            - cc-example@example.com
            bcc:
            - bcc-example@example.com
        key: dst-1e1dAHhgstYTUhlphPzZ
        status: active
        agentKey: cgt-1e1dAHhgstYTUhlphPzZ
        created: '2025-01-24T14:15:22Z'
        version: 1
        reference: DistributionReference
    CreateSftpDistributionResponse:
      summary: Create SFTP Distribution Response
      value:
        type: sftp
        targets:
          host: file-server.company.com
          username: ssh-username
          dirPath: /files/reports/received/
        key: dst-1e1dAHhgstYTUhlphPzZ
        status: active
        agentKey: cgt-1e1dAHhgstYTUhlphPzZ
        created: '2025-04-24T14:15:22Z'
        version: 1
        reference: sftp-distribution-reference
    CreateEmailDistributionRequest:
      summary: Create Email Distribution Request
      value:
        type: email
        targets:
          recipients:
          - to:
            - to-example@example.com
            cc:
            - cc-example@example.com
            bcc:
            - bcc-example@example.com
        reference: DistributionReference
    DistributionNotFoundError:
      summary: Distribution Not Found Error
      value:
        type: /silverflow/problems/distribution/not-found
        title: Distribution not found
        status: 404
        detail: The distribution dst-1e1dAHhgstYTUhlphPzZ is not found
        instance: /silverflow/8e445b2e-d745-4b38-a38d-781fc998e442
    TooManyRequestsError:
      summary: Too Many Requests Error
      value:
        type: /silverflow/problems/too-many-requests
        title: Too Many Requests
        status: 429
        detail: The number of requests performed by the client has exceeded the configured maximum for a given period
        instance: /silverflow/8e445b2e-d745-4b38-a38d-781fc998e442
    UnauthorizedError:
      summary: Unauthorized Error
      value:
        type: /silverflow/problems/authentication-required
        title: Authentication Required
        status: 401
        detail: The credentials supplied in the request are either missing, invalid, or not applicable in the current scope
        instance: /silverflow/8e445b2e-d745-4b38-a38d-781fc998e442
    CreateSftpDistributionRequest:
      summary: Create SFTP Distribution Request
      value:
        type: sftp
        targets:
          host: file-server.company.com
          username: ssh-username
          dirPath: /files/reports/received/
        reference: sftp-distribution-reference
  schemas:
    BaseDistribution:
      type: object
      required:
      - key
      - status
      - agentKey
      - created
      - version
      description: A distribution
      properties:
        key:
          $ref: '#/components/schemas/distributionKey'
        status:
          $ref: '#/components/schemas/status'
        agentKey:
          $ref: '#/components/schemas/schemas-AgentKey'
        created:
          $ref: '#/components/schemas/openapi_components-schemas-created-2'
        lastModified:
          $ref: '#/components/schemas/openapi_components-schemas-lastModified'
        version:
          $ref: '#/components/schemas/components-schemas-version'
        reference:
          $ref: '#/components/schemas/DistributionReference'
    DistributionNotFoundError:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/distribution/not-found
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Distribution not found
        status:
          allOf:
          - $ref: '#/components/schemas/schemas-errorStatus'
          - enum:
            - 404
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    openapi_components-schemas-ValidationError:
      type: object
      required:
      - path
      - errorCode
      - message
      properties:
        path:
          type: string
          description: The path to the error location in the request params or body.
        errorCode:
          type: string
          description: The error code identifying the error type.
        message:
          type: string
          description: The error message.
    SftpDistributionType:
      type: string
      description: SFTP distribution type.
      enum:
      - sftp
    host:
      type: string
      description: A valid hostname or IP
      pattern: (^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.[a-zA-Z]{2,})|(^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4})$
      maxLength: 255
    accountId:
      type: string
      description: AWS account ID that owns the S3 bucket. For security reasons, the file is delivered only if the bucket is still owned by this account.
      minLength: 12
      maxLength: 12
      pattern: ^[0-9]{12}$
    externalId:
      type: string
      description: External ID used when assuming the IAM role. Share it only with Silverflow; the role trust policy should require this value.
      minLength: 1
    components-schemas-version:
      type: integer
      description: The version of this object
      format: int64
      readOnly: true
    UpdateDistributionRequest:
      type: object
      additionalProperties: false
      properties:
        reference:
          $ref: '#/components/schemas/DistributionReference'
        targets:
          oneOf:
          - $ref: '#/components/schemas/EmailDistributionTargets'
          - $ref: '#/components/schemas/SftpDistributionTargets'
          - $ref: '#/components/schemas/S3DistributionTargets'
    directory:
      type: string
      description: Optional prefix (subdirectory) inside the bucket where the files will be delivered (e.g., `reports/daily/`).
      minLength: 1
    schemas-ForbiddenError:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/forbidden
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Forbidden
        status:
          allOf:
          - $ref: '#/components/schemas/schemas-errorStatus'
          - enum:
            - 403
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    errorTitle:
      type: string
      description: 'A short, human-readable summary of the problem type. It does not change from occurrence to occurrence of the error.

        '
    EmailDistributionTargets:
      type: object
      description: The targets of the email distribution.
      additionalProperties: false
      required:
      - recipients
      properties:
        recipients:
          type: array
          description: List of recipients
          items:
            $ref: '#/components/schemas/EmailRecipients'
    SftpDistributionTargets:
      type: object
      description: The targets of the SFTP distribution.
      additionalProperties: false
      required:
      - host
      - username
      - dirPath
      properties:
        host:
          $ref: '#/components/schemas/SftpHost'
        port:
          $ref: '#/components/schemas/SftpPort'
        username:
          $ref: '#/components/schemas/sftpUsername'
        dirPath:
          $ref: '#/components/schemas/SftpDirPath'
    errorInstance:
      type: string
      description: 'A reference that identifies the specific occurrence of the error. The instance is unique for every error.

        '
    Distribution:
      oneOf:
      - $ref: '#/components/schemas/EmailDistribution'
      - $ref: '#/components/schemas/SftpDistribution'
      - $ref: '#/components/schemas/S3Distribution'
    bucketName:
      type: string
      description: Name of the AWS S3 bucket where the files will be delivered.
      minLength: 3
      maxLength: 63
      pattern: ^(?!(^(\d+\.){3}\d+$))(?!.*[-.]{2})[a-z0-9]([a-z0-9.-]{1,61})[a-z0-9]$
    roleArn:
      type: string
      description: IAM role ARN that the Silverflow service will assume to access the bucket.
      pattern: ^arn:(aws|aws-us-gov|aws-cn):iam::[0-9]{12}:role\/.+$
    NotAuthorizedError:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/authentication-required
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Authentication Required
        status:
          allOf:
          - $ref: '#/components/schemas/schemas-errorStatus'
          - enum:
            - 401
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    SftpHost:
      type: string
      description: The SFTP Host name or IP address.
      allOf:
      - $ref: '#/components/schemas/host'
    SftpDirPath:
      type: string
      description: The directory path in the SFTP server where the files will be uploaded.
    S3DistributionTargets:
      type: object
      required:
      - bucketName
      - accountId
      - directory
      - roleArn
      - externalId
      properties:
        bucketName:
          $ref: '#/components/schemas/bucketName'
        accountId:
          $ref: '#/components/schemas/accountId'
        directory:
          $ref: '#/components/schemas/directory'
        roleArn:
          $ref: '#/components/schemas/roleArn'
        externalId:
          $ref: '#/components/schemas/externalId'
    EmailRecipients:
      type: object
      description: The Email recipients.
      required:
      - to
      properties:
        to:
          type: array
          description: The recipients that receive the email.
          items:
            $ref: '#/components/schemas/EmailRecipient'
        cc:
          type: array
          description: The CC recipients that receive the email.
          items:
            $ref: '#/components/schemas/EmailRecipient'
        bcc:
          type: array
          description: The BCC recipients that receive the email.
          items:
            $ref: '#/components/schemas/EmailRecipient'
    DistributionType:
      type: string
      description: The distribution type.
      oneOf:
      - $ref: '#/components/schemas/EmailDistributionType'
      - $ref: '#/components/schemas/SftpDistributionType'
      - $ref: '#/components/schemas/S3DistributionType'
    ListDistributionResponse:
      allOf:
      - $ref: '#/components/schemas/schemas-PageWithMoreItems'
      - type: object
        required:
        - distributions
        properties:
          distributions:
            type: array
            items:
              $ref: '#/components/schemas/Distribution'
    SftpPort:
      type: integer
      description: The SFTP Host port.
      default: 22
      minimum: 1
      maximum: 65535
    CreateEmailDistributionRequest:
      type: object
      additionalProperties: false
      required:
      - type
      - targets
      properties:
        type:
          $ref: '#/components/schemas/EmailDistributionType'
        targets:
          $ref: '#/components/schemas/EmailDistributionTargets'
        reference:
          $ref: '#/components/schemas/DistributionReference'
    distributionKey:
      description: Uniquely identifies a distribution object
      type: string
      pattern: ^dst-[a-zA-Z0-9]+$
      minLength: 10
      maxLength: 120
      example: dst-1e1dAHhgstYTUhlphPzZ
    errorDetail:
      type: string
      description: 'A human readable explanation specific to this occurrence of the problem.

        '
    SftpDistribution:
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseDistribution'
      - type: object
        required:
        - type
        - targets
        properties:
          type:
            $ref: '#/components/schemas/SftpDistributionType'
          targets:
            $ref: '#/components/schemas/SftpDistributionTargets'
    S3DistributionType:
      type: string
      description: S3 distribution type.
      enum:
      - s3
    schemas-TooManyRequestsError:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/too-many-requests
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Too Many Requests
        status:
          allOf:
          - $ref: '#/components/schemas/schemas-errorStatus'
          - enum:
            - 429
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    schemas-PageWithMoreItems:
      type: object
      properties:
        moreItems:
          $ref: '#/components/schemas/moreItems'
        offsetToken:
          $ref: '#/components/schemas/openapi_components-schemas-offsetToken'
    status:
      type: string
      description: The status of the object
      enum:
      - active
      - archived
    DistributionReference:
      type: string
      description: A reference to the distribution
      pattern: ^[a-zA-Z0-9()+,\-.:=@;$_!*\/?|]+$
      minLength: 1
      maxLength: 120
    CreateS3DistributionRequest:
      type: object
      additionalProperties: false
      required:
      - type
      - targets
      properties:
        type:
          $ref: '#/components/schemas/S3DistributionType'
        targets:
          $ref: '#/components/schemas/S3DistributionTargets'
        reference:
          $ref: '#/components/schemas/DistributionReference'
    moreItems:
      type: boolean
    schemas-AgentKey:
      description: Uniquely identifies an Agent
      type: string
      pattern: ^cgt-[a-zA-Z0-9]+|current$
      example: cgt-1UF2NafdfrdPMf2XrS2
    CreateDistributionRequest:
      oneOf:
      - $ref: '#/components/schemas/CreateEmailDistributionRequest'
      - $ref: '#/components/schemas/CreateSftpDistributionRequest'
      - $ref: '#/components/schemas/CreateS3DistributionRequest'
    S3Distribution:
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseDistribution'
      - type: object
        required:
        - type
        - targets
        properties:
          type:
            $ref: '#/components/schemas/S3DistributionType'
          targets:
            $ref: '#/components/schemas/S3DistributionTargets'
    schemas-email:
      type: string
      format: email
      description: A valid email address
      pattern: \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
    errorType:
      type: string
      description: 'A relative URI reference, this property can be used to perform automated error handling.

        '
    openapi_components-schemas-offsetToken:
      type: string
      pattern: ^[a-zA-Z0-9%]+$
    schemas-InputValidationError:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      - validationErrors
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/invalid-input
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Invalid Input
        status:
          allOf:
          - $ref: '#/components/schemas/schemas-errorStatus'
          - enum:
            - 400
        detail:
          allOf:
          - $ref: '#/components/schemas/errorDetail'
          - enum:
            - The request does not adhere to the defined API schema.
        instance:
          $ref: '#/components/schemas/errorInstance'
        validationErrors:
          type: array
          items:
            $ref: '#/components/schemas/openapi_components-schemas-ValidationError'
          description: A list of validation errors.
    EmailRecipient:
      type: string
      description: An email-address.
      allOf:
      - $ref: '#/components/schemas/schemas-email'
    schemas-errorStatus:
      type: integer
      description: 'The HTTP status code generated by the origin server for this occurrence

        of the problem.

        '
    sftpUsername:
      type: string
      description: The SFTP username.
    CreateSftpDistributionRequest:
      type: object
      additionalProperties: false
      required:
      - type
      - targets
      properties:
        type:
          $ref: '#/components/schemas/SftpDistributionType'
        targets:
          $ref: '#/components/schemas/SftpDistributionTargets'
        reference:
          $ref: '#/components/schemas/DistributionReference'
    openapi_components-schemas-created-2:
      type: string
      description: The date and time this object was created
      for

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/silverflow/refs/heads/main/openapi/silverflow-distributions-api-openapi.yml