components: schemas: AmazonS3Params: additionalProperties: false properties: aws_access_key_id: description: AWS access key ID for authentication with Amazon S3. type: string x-label: AWS access key ID x-order: 3 aws_region: description: The AWS region where the S3 bucket is located. type: string x-label: AWS region x-order: 2 aws_secret_access_key: description: AWS secret access key for authentication with Amazon S3. type: string x-label: AWS secret access key x-order: 4 bucket: description: The name of the Amazon S3 bucket where data will be delivered. type: string x-label: Bucket name x-order: 1 explicit_sse: default: false description: Enable explicit server-side encryption headers for SSE-S3. type: boolean x-label: Enable SSE-S3 headers x-order: 5 required: - bucket - aws_region - aws_access_key_id - aws_secret_access_key type: object AmazonS3PatchParams: additionalProperties: false properties: aws_access_key_id: description: AWS access key ID for authentication with Amazon S3. type: string x-label: AWS access key ID x-order: 1 aws_secret_access_key: description: AWS secret access key for authentication with Amazon S3. type: string x-label: AWS secret access key x-order: 2 explicit_sse: default: false description: Enable explicit server-side encryption headers for SSE-S3. type: boolean x-label: Enable SSE-S3 headers x-order: 3 required: - aws_access_key_id - aws_secret_access_key type: object AzureCloudStorageParams: additionalProperties: false properties: account: description: The name of the Azure Storage account where data will be delivered. type: string x-label: Storage account name x-order: 1 container: description: The name of the Azure Blob Storage container within the account. type: string x-label: Container name x-order: 2 sas_token: description: >- Shared Access Signature (SAS) token for authentication with Azure Storage. type: string x-label: SAS token x-order: 3 storage_endpoint_suffix: description: >- The storage endpoint suffix for the Azure Storage service (optional). type: string x-label: Storage endpoint suffix required: - account - container - sas_token type: object AzureCloudStoragePatchParams: additionalProperties: false properties: sas_token: description: >- Shared Access Signature (SAS) token for authentication with Azure Storage. type: string x-label: SAS token x-order: 1 required: - sas_token type: object DefaultDestinationRequest: additionalProperties: false description: >- A DefaultDestinationRequest is an object describing which destination should be set as the default. properties: destination_id: description: The ID of the default destination. type: string required: - destination_id title: Default destination put request type: object Destination: description: Destination. properties: _links: $ref: '#/components/schemas/Links' archived: description: Timestamp when the Destination was archived. format: date-time nullable: true type: string created: description: Timestamp when the Destination was created. format: date-time type: string default: default: false description: True if this is the default destination for the organization. nullable: true type: boolean id: description: A string to uniquely identify a Destination. type: string name: description: A name given to this Destination. type: string ownership: $ref: '#/components/schemas/Ownership' parameters: $ref: '#/components/schemas/DestinationParameters' permissions: $ref: '#/components/schemas/Permissions' pl:ref: description: A reference for the destination. type: string type: $ref: '#/components/schemas/DestinationType' updated: description: Timestamp when the Destination was last updated. format: date-time type: string required: - id - name - type - parameters - created - updated - pl:ref - _links - archived - default - permissions - ownership type: object DestinationParameters: description: Parameters for the given Destination type. oneOf: - $ref: '#/components/schemas/GoogleCloudStorageParams' - $ref: '#/components/schemas/AmazonS3Params' - $ref: '#/components/schemas/AzureCloudStorageParams' - $ref: '#/components/schemas/OracleCloudStorageParams' - $ref: '#/components/schemas/S3CompatibleParams' type: object DestinationPatchParameters: description: Patch parameters for the given Destination type. oneOf: - $ref: '#/components/schemas/GoogleCloudStoragePatchParams' - $ref: '#/components/schemas/AmazonS3PatchParams' - $ref: '#/components/schemas/AzureCloudStoragePatchParams' - $ref: '#/components/schemas/OracleCloudStoragePatchParams' - $ref: '#/components/schemas/S3CompatiblePatchParams' type: object DestinationPatchRequest: additionalProperties: false anyOf: - required: - parameters - required: - archive - required: - name description: >- A DestinationPatchRequest is an object describing how to update a Destination. properties: archive: description: True to archive the destination, false to unarchive. type: boolean name: description: A string to uniquely identify a Destination. maxLength: 63 minLength: 3 type: string parameters: $ref: '#/components/schemas/DestinationPatchParameters' title: Destination patch request type: object DestinationRequest: additionalProperties: false description: A DestinationRequest is an object describing how to store a Destination. properties: name: description: A name given to this Destination. maxLength: 63 minLength: 3 type: string parameters: $ref: '#/components/schemas/DestinationParameters' type: $ref: '#/components/schemas/DestinationType' required: - type - parameters title: Destination request type: object DestinationType: description: The type of Destination. enum: - google_cloud_storage - amazon_s3 - azure_blob_storage - oracle_cloud_storage - s3_compatible type: string DestinationsResponse: properties: _links: $ref: '#/components/schemas/Links' destinations: description: Array of Destinations. items: $ref: '#/components/schemas/Destination' type: array required: - destinations - _links Error: properties: code: format: int32 type: integer message: type: string required: - code - message type: object GoogleCloudStorageParams: additionalProperties: false properties: bucket: description: >- The name of the Google Cloud Storage bucket where data will be delivered. type: string x-label: Bucket name x-order: 1 credentials: description: > Base64-encoded service account JSON credentials for Google Cloud Storage access. To encode the credentials: `cat service-account.json | base64 | tr -d '\n'` type: string x-label: Service account credentials x-order: 2 required: - bucket - credentials type: object GoogleCloudStoragePatchParams: additionalProperties: false properties: credentials: description: > Base64-encoded service account JSON credentials for Google Cloud Storage access. To encode the credentials: `cat service-account.json | base64 | tr -d '\n'` type: string x-label: Service account credentials x-order: 1 required: - credentials type: object Links: properties: _self: description: RFC 3986 URI representing the location of this object. type: string required: - _self type: object OracleCloudStorageParams: additionalProperties: false properties: bucket: description: >- The name of the Oracle Cloud Storage bucket where data will be delivered. type: string x-label: Bucket name x-order: 1 customer_access_key_id: description: Customer access key ID for authentication with Oracle Cloud Storage. type: string x-label: Customer access key ID x-order: 4 customer_secret_key: description: Customer secret key for authentication with Oracle Cloud Storage. type: string x-label: Customer secret key x-order: 5 namespace: description: The Oracle Object Storage namespace that contains the bucket. type: string x-label: Namespace x-order: 3 region: description: The Oracle Cloud region where the bucket is located. type: string x-label: Region x-order: 2 required: - bucket - region - namespace - customer_access_key_id - customer_secret_key type: object OracleCloudStoragePatchParams: additionalProperties: false properties: customer_access_key_id: description: Customer access key ID for authentication with Oracle Cloud Storage. type: string x-label: Customer access key ID x-order: 1 customer_secret_key: description: Customer secret key for authentication with Oracle Cloud Storage. type: string x-label: Customer secret key x-order: 2 required: - customer_access_key_id - customer_secret_key type: object Ownership: description: Ownership information for the destination. properties: is_owner: description: True if the user is the creator of the destination. type: boolean owner_id: description: The ID of the user who created the destination. format: int64 type: integer required: - is_owner - owner_id type: object Permissions: description: Permissions for the destination. properties: can_write: description: True if the user can write to the destination (patch). type: boolean required: - can_write type: object S3CompatibleParams: additionalProperties: false properties: access_key_id: description: Access key ID for authentication with the S3-compatible service. type: string x-label: Access key ID x-order: 4 bucket: description: The name of the S3-compatible bucket where data will be delivered. type: string x-label: Bucket name x-order: 1 endpoint: description: The URL endpoint for the S3-compatible storage service. type: string x-label: Service endpoint x-order: 2 region: description: The region identifier for the S3-compatible storage service. type: string x-label: Region x-order: 3 secret_access_key: description: Secret access key for authentication with the S3-compatible service. type: string x-label: Secret access key x-order: 5 use_path_style: default: false description: Use path-style URL addressing with the bucket name in the URL path. type: boolean x-label: Use path-style addressing x-order: 6 required: - bucket - endpoint - region - access_key_id - secret_access_key type: object S3CompatiblePatchParams: additionalProperties: false properties: access_key_id: description: Access key ID for authentication with the S3-compatible service. type: string x-label: Access key ID x-order: 1 secret_access_key: description: Secret access key for authentication with the S3-compatible service. type: string x-label: Secret access key x-order: 2 use_path_style: default: false description: Use path-style URL addressing with the bucket name in the URL path. type: boolean x-label: Use path-style addressing x-order: 3 required: - access_key_id - secret_access_key type: object securitySchemes: BasicAuth: scheme: basic type: http JWT: description: >- Provide {JWT} token in a header like this: `Authorization: Bearer {JWT}`. scheme: bearer type: http info: description: The Destinations API provides a way to manage cloud storage destinations. title: Destinations API version: v1.0.0 openapi: 3.0.3 paths: /destinations/v1: get: operationId: PublicGetDestinations parameters: - description: Filter destinations by archived status. in: query name: archived schema: type: boolean - description: Filter destinations owned by requester. in: query name: is_owner schema: type: boolean - description: Filter destinations where the requester has write permissions. in: query name: can_write schema: type: boolean - description: Filter destinations default status. in: query name: is_default schema: type: boolean - description: > Sort destinations by one or more fields. Separate multiple fields with commas. Add ' ASC' or ' DESC' to specify direction (defaults to ASC). Default sort is `created DESC`. Supported fields: created, name, type, updated Examples: `name`, `name DESC`, `name,created DESC` in: query name: sort_by schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/DestinationsResponse' description: A successful destination response. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a request that has unauthorized credentials. '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: List all destinations post: operationId: PublicAddDestination requestBody: content: application/json: schema: $ref: '#/components/schemas/DestinationRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Destination' description: A successful destination response. '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a bad destination request. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a destination that has unauthorized credentials. '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for rate limiting '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: Create a new destination /destinations/v1/default: delete: operationId: PublicUnsetDefaultDestination responses: '204': description: The default destination was successfully unset. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a request that has unauthorized credentials. '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: Unset the default destination get: operationId: PublicGetDefaultDestination responses: '200': content: application/json: schema: $ref: '#/components/schemas/Destination' description: A successful destination response. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a request that has unauthorized credentials. '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a destination that was not found. '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: Get the default destination put: operationId: PublicSetDefaultDestination requestBody: content: application/json: schema: $ref: '#/components/schemas/DefaultDestinationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Destination' description: The default destination was set successfully. '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a bad destination request. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a destination that has unauthorized credentials. '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a destination that was not found. '409': content: application/json: schema: $ref: '#/components/schemas/Error' description: >- Response for a conflict, such as attempting to set a default destination when a default already exists. '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: Set the default destination /destinations/v1/spec: get: operationId: PublicGetSpec responses: '200': content: application/json: schema: type: object description: A successful response. '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: Get the OpenAPI spec /destinations/v1/{destinationID}: get: operationId: PublicGetDestination responses: '200': content: application/json: schema: $ref: '#/components/schemas/Destination' description: A successful destination response. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a request that has unauthorized credentials. '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a destination that was not found. '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: Get a destination parameters: - in: path name: destinationID required: true schema: type: string patch: operationId: PublicPatchDestination requestBody: content: application/json: schema: $ref: '#/components/schemas/DestinationPatchRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Destination' description: A successful destination response. '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a bad destination request. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a destination that has unauthorized credentials. '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for a destination that was not found. '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Response for rate limiting '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: Update a destination security: - JWT: [] - BasicAuth: []