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 format: date-time readOnly: true openapi_components-schemas-lastModified: type: string description: The date and time this object was last modified format: date-time readOnly: true EmailDistribution: allOf: - $ref: '#/components/schemas/BaseDistribution' - type: object required: - type - targets properties: type: $ref: '#/components/schemas/EmailDistributionType' targets: $ref: '#/components/schemas/EmailDistributionTargets' EmailDistributionType: type: string description: Email distribution type. enum: - email parameters: openapi_components-parameters-offsetToken: name: offsetToken description: The offset token. This token is returned in the response of previous request. in: query required: false schema: $ref: '#/components/schemas/openapi_components-schemas-offsetToken' openapi_components-parameters-sortOrder: name: sortOrder description: The sort order, __asc__ending or __desc__ending in: query required: false schema: type: string enum: - asc - desc default: desc example: desc limit: name: limit description: The number of items to return in: query required: false schema: type: integer format: int32 minimum: 1 maximum: 100 default: 10 example: 1 parameters-status: name: status description: The distribution status. in: query required: false schema: $ref: '#/components/schemas/status' type: name: type description: The distribution type. in: query required: false schema: $ref: '#/components/schemas/DistributionType' securitySchemes: ApiKey: description: "The primary method of authenticating to the Silverflow API is through API keys.\n\nAPI keys can be created by calling the [createApiKey](#operation/createApiKey) endpoint. You can create up to 40 API keys and also update and delete them, allowing for _credential rotation_.\n\nThe _Agent Activation_ process will generate an initial API Key for you. See [Activate Agent](#section/Getting-Started).\n\nA call to the [createApiKey](#operation/createApiKey) endpoint will return the following structure:\n\n```json\n{\n \"key\": \"apk-1wtRxni5IsPsSpBLWpwr\",\n \"status\": \"active\",\n \"agentKey\": \"cgt-1wtRvFLIjDOyyUR5Q2LB\",\n \"description\": \"Data lake API key\",\n \"permissions\": [\n \"charges:List\",\n \"reports:All\"\n ],\n \"created\": \"2021-06-22T11:21:45.115Z\",\n \"secret\": \"FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ\",\n \"version\": 1\n}\n```\n\n> **Important:** The `secret` is only returned once in the response to the `createApiKey` call.\n\nOnce created, the `key` and `secret` fields from the API key must be used in the HTTP `Authorization` header using the `Basic` scheme.\nThe Basic scheme requires a **username** and **password** to be specified, separated by a `:` (colon) and Base64 encoded.\n\nUse the following values from the API key to construct a Basic authentication header:\n\n| Basic field | API key field | Example |\n| ----------- | ------------- | ------- |\n| username | `key` | `apk-1wtRxni5IsPsSpBLWpwr` |\n| password | `secret` | `FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ` |\n\nIn pseudo-code a valid HTTP Basic Authentication header would be constructed as follows:\n\n```ts\nconst apiKeyId = \"apk-1wtRxni5IsPsSpBLWpwr\";\nconst apiKeySecret = \"FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ\";\nconst authnValue = \"Basic \" + base64Encode(apiKeyId + \":\" + apiKeySecret);\nrequest.setHeader(\"Authorization\", authnValue);\n```\n\nUsing the values from the example a valid HTTP request would look like the following:\n\n```http\nGET /v1/agents/current HTTP/1.1\nAccept: application/json\nAuthorization: Basic YXBrLTF3dFJ4bmk1SXNQc1NwQkxXcHdyOkZXdG5PT0hBamJENnJOeFdXRWVWT0NqN0pYU0VQR0pR\n```\n\nMore information on the Basic scheme can be found in [RFC-7617 - The 'Basic' HTTP Authentication Scheme](https://datatracker.ietf.org/doc/html/rfc7617)." type: http scheme: basic BearerToken: description: 'Bearer tokens are temporary security credentials that can be used to authorize ''third parties'' (bearers) access to the Silverflow API on behalf of the agent. These tokens are created by calling the [createAgentBearerToken](#operation/createAgentBearerToken) endpoint. Once created the `token` field must be used in the HTTP `Authorization` header using the `Bearer` scheme. Here''s an example of an HTTP request with a bearer token: ```http GET /v1/merchants/mct-1hPdFhmgaBzMS191nIbJ HTTP/1.1 Accept: application/json Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...40EFOgxf_3I6mPZ16bXqHd5tUyApgl0mNOAXPm5AhnA ``` More information on the Bearer scheme can be found in [RFC-6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage](https://datatracker.ietf.org/doc/html/rfc6750).' type: http scheme: bearer bearerFormat: JWT MutualTLS: type: apiKey in: header name: '-' description: 'The client must set up mTLS connection with a valid X.509 client certificate signed by a customer-provided CA (certificate authority) that is registered to a specific agent. The customer-provided CA certificate must be shared and added to Silverflow''s trust store prior to calling endpoints. Certificate validation happens at the transport layer during TLS handshake. Tenant verification is performed by matching the agent key embedded in the client certificate against the agent key embedded in the trusted CA. ' x-refined-from: - silverflow-openapi.yml - silverflow-openapi.yml x-tagGroups: - name: '' tags: - Introduction - Release Notes - name: Accounts tags: - Agents - API Keys - Bins - Merchants - Merchant Acceptors - Enrollments - Screenings - name: Event Notifications tags: - Event Subscriptions - Charges Events - Disputes Events - Fraud Notification Events - Processor Tokens Events - Network Tokens Events - Report Events - Distribution Events - AMMF Submission Events - Reconciliation Events - Clearing Events - name: 3DS Authentication tags: - 3DS Authentication - name: BEP Authentication tags: - BEP Authentication - name: Tokenization tags: - Processor Tokenization - Network Tokenization - name: Charges tags: - Create Charges - Create Recurring - Retrieve Charges - Charge Actions - name: Terminal-To-Cloud tags: - Create POS Charges - Retrieve POS Charges - POS Charge Actions - name: Card Management tags: - Card Management - name: Disputes tags: - Disputes - Documents - name: Fraud Notifications tags: - Fraud Notifications - name: Card Info tags: - Card Info - name: Currency Conversion Rates tags: - Currency Conversion Rates - name: Fees tags: - Fees - name: Reconciliation tags: - Reconciliation Details - Network Funds Transfers - name: Reports tags: - Reconciliation Reports - Settlement Reports - Card Network Reports - Dispute Reports - Fraud Notifications Reports - Charges Reports - Scheme Fee Reports - Retrieve Reports - Report Scheduling - Distributions - name: Transaction Risk Assessment tags: - Transaction Risk Assessment - name: File Subscriptions tags: - File Subscriptions