# @format swagger: "2.0" info: title: MinIO Console Server version: 0.1.0 consumes: - application/json produces: - application/json schemes: - http - ws basePath: /api/v1 # We are going to be taking `Authorization: Bearer TOKEN` header for our authentication securityDefinitions: key: type: oauth2 flow: accessCode authorizationUrl: http://min.io tokenUrl: http://min.io anonymous: name: X-Anonymous in: header type: apiKey # Apply the key security definition to all APIs security: - key: [] parameters: limit: name: limit in: query type: number format: int32 default: 20 offset: name: offset in: query type: number format: int32 default: 0 paths: /login: get: summary: Returns login strategy, form or sso. operationId: LoginDetail responses: 200: description: A successful response. schema: $ref: "#/definitions/loginDetails" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" # Exclude this API from the authentication requirement security: [] tags: - Auth post: summary: Login to Console operationId: Login parameters: - name: body in: body required: true schema: $ref: "#/definitions/loginRequest" responses: 204: description: A successful login. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" # Exclude this API from the authentication requirement security: [] tags: - Auth /login/oauth2/auth: post: summary: Identity Provider oauth2 callback endpoint. operationId: LoginOauth2Auth parameters: - name: body in: body required: true schema: $ref: "#/definitions/loginOauth2AuthRequest" responses: 204: description: A successful login. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" security: [] tags: - Auth /logout: post: summary: Logout from Console. operationId: Logout parameters: - name: body in: body required: true schema: $ref: "#/definitions/logoutRequest" responses: 200: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Auth /session: get: summary: Endpoint to check if your session is still valid operationId: SessionCheck responses: 200: description: A successful response. schema: $ref: "#/definitions/sessionResponse" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Auth /buckets: get: summary: List Buckets operationId: ListBuckets responses: 200: description: A successful response. schema: $ref: "#/definitions/listBucketsResponse" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Bucket post: summary: Make bucket operationId: MakeBucket parameters: - name: body in: body required: true schema: $ref: "#/definitions/makeBucketRequest" responses: 200: description: A successful response. schema: $ref: "#/definitions/makeBucketsResponse" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Bucket /buckets/{name}: get: summary: Bucket Info operationId: BucketInfo parameters: - name: name in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/bucket" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Bucket /buckets/{bucket_name}/objects: get: summary: List Objects security: - key: [] - anonymous: [] operationId: ListObjects parameters: - name: bucket_name in: path required: true type: string - name: prefix in: query required: false type: string - name: recursive in: query required: false type: boolean - name: with_versions in: query required: false type: boolean - name: with_metadata in: query required: false type: boolean - $ref: "#/parameters/limit" responses: 200: description: A successful response. schema: $ref: "#/definitions/listObjectsResponse" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Object delete: summary: Delete Object operationId: DeleteObject parameters: - name: bucket_name in: path required: true type: string - name: prefix in: query required: true type: string - name: version_id in: query required: false type: string - name: recursive in: query required: false type: boolean - name: all_versions in: query required: false type: boolean - name: non_current_versions in: query required: false type: boolean - name: bypass in: query required: false type: boolean responses: 200: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Object /buckets/{bucket_name}/delete-objects: post: summary: Delete Multiple Objects operationId: DeleteMultipleObjects parameters: - name: bucket_name in: path required: true type: string - name: all_versions in: query required: false type: boolean - name: bypass in: query required: false type: boolean - name: files in: body required: true schema: type: array items: $ref: "#/definitions/deleteFile" responses: 200: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Object /buckets/{bucket_name}/objects/upload: post: summary: Uploads an Object. security: - key: [] - anonymous: [] consumes: - multipart/form-data parameters: - name: bucket_name in: path required: true type: string - name: prefix in: query type: string responses: 200: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Object /buckets/{bucket_name}/objects/download-multiple: post: summary: Download Multiple Objects operationId: DownloadMultipleObjects security: - key: [] - anonymous: [] produces: - application/octet-stream parameters: - name: bucket_name in: path required: true type: string - name: objectList in: body required: true schema: type: array items: type: string responses: 200: description: A successful response. schema: type: file default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Object /buckets/{bucket_name}/objects/download: get: summary: Download Object operationId: Download Object security: - key: [] - anonymous: [] produces: - application/octet-stream parameters: - name: bucket_name in: path required: true type: string - name: prefix in: query required: true type: string - name: version_id in: query required: false type: string - name: preview in: query required: false type: boolean default: false - name: override_file_name in: query required: false type: string default: "" responses: 200: description: A successful response. schema: type: file default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Object /buckets/{bucket_name}/objects/share: get: summary: Shares an Object on a url operationId: ShareObject parameters: - name: bucket_name in: path required: true type: string - name: prefix in: query required: true type: string - name: version_id in: query required: true type: string - name: expires in: query required: false type: string responses: 200: description: A successful response. schema: type: string default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Object /buckets/{bucket_name}/objects/tags: put: summary: Put Object's tags operationId: PutObjectTags parameters: - name: bucket_name in: path required: true type: string - name: prefix in: query required: true type: string - name: version_id in: query required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/putObjectTagsRequest" responses: 200: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Object /buckets/{bucket_name}/objects/restore: put: summary: Restore Object to a selected version operationId: PutObjectRestore parameters: - name: bucket_name in: path required: true type: string - name: prefix in: query required: true type: string - name: version_id in: query required: true type: string responses: 200: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Object /buckets/{bucket_name}/objects/metadata: get: summary: Gets the metadata of an object operationId: GetObjectMetadata parameters: - name: bucket_name in: path required: true type: string - name: prefix in: query required: true type: string - name: versionID in: query type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/metadata" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Object /buckets/{bucket_name}/tags: put: summary: Put Bucket's tags operationId: PutBucketTags parameters: - name: bucket_name in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/putBucketTagsRequest" responses: 200: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Bucket /buckets/{name}/quota: get: summary: Get Bucket Quota operationId: GetBucketQuota parameters: - name: name in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/bucketQuota" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Bucket /buckets/{bucket_name}/versioning: get: summary: Bucket Versioning operationId: GetBucketVersioning parameters: - name: bucket_name in: path required: true type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/bucketVersioningResponse" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Bucket put: summary: Set Bucket Versioning operationId: SetBucketVersioning parameters: - name: bucket_name in: path required: true type: string - name: body in: body required: true schema: $ref: "#/definitions/setBucketVersioning" responses: 201: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Bucket /buckets/{bucket_name}/rewind/{date}: get: summary: Get objects in a bucket for a rewind date operationId: GetBucketRewind parameters: - name: bucket_name in: path required: true type: string - name: date in: path required: true type: string - name: prefix in: query required: false type: string responses: 200: description: A successful response. schema: $ref: "#/definitions/rewindResponse" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Bucket /buckets/max-share-exp: get: summary: Get max expiration time for share link in seconds operationId: GetMaxShareLinkExp responses: 200: description: A successful response. schema: $ref: "#/definitions/maxShareLinkExpResponse" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Bucket /users: get: summary: List Users operationId: ListUsers parameters: - $ref: "#/parameters/offset" - $ref: "#/parameters/limit" responses: 200: description: A successful response. schema: $ref: "#/definitions/listUsersResponse" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - User /admin/info: get: summary: Returns information about the deployment operationId: AdminInfo parameters: - name: defaultOnly in: query required: false type: boolean default: false responses: 200: description: A successful response. schema: $ref: "#/definitions/adminInfoResponse" default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - System /license/acknowledge: get: summary: Acknowledge the license operationId: LicenseAcknowledge responses: 200: description: A successful response. default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - License /download-shared-object/{url}: get: summary: Downloads an object from a presigned url operationId: DownloadSharedObject security: [] produces: - application/octet-stream parameters: - name: url in: path required: true type: string responses: 200: description: A successful response. schema: type: file default: description: Generic error response. schema: $ref: "#/definitions/ApiError" tags: - Public definitions: accountChangePasswordRequest: type: object required: - current_secret_key - new_secret_key properties: current_secret_key: type: string new_secret_key: type: string changeUserPasswordRequest: type: object required: - selectedUser - newSecretKey properties: selectedUser: type: string newSecretKey: type: string bucketEncryptionType: type: string enum: - sse-s3 - sse-kms default: sse-s3 bucketAccess: type: string enum: - PRIVATE - PUBLIC - CUSTOM default: PRIVATE userServiceAccountItem: type: object properties: userName: type: string numSAs: type: integer format: int64 bucket: type: object required: - name properties: name: type: string minLength: 3 size: type: integer format: int64 access: $ref: "#/definitions/bucketAccess" definition: type: string rw_access: type: object properties: write: type: boolean read: type: boolean objects: type: integer format: int64 details: type: object properties: versioning: type: boolean versioningSuspended: type: boolean locking: type: boolean replication: type: boolean tags: type: object additionalProperties: type: string quota: type: object properties: quota: type: integer format: int64 type: type: string enum: - hard creation_date: type: string bucketEncryptionRequest: type: object properties: encType: $ref: "#/definitions/bucketEncryptionType" kmsKeyID: type: string bucketEncryptionInfo: type: object properties: kmsMasterKeyID: type: string algorithm: type: string listBucketsResponse: type: object properties: buckets: type: array items: $ref: "#/definitions/bucket" title: list of resulting buckets total: type: integer format: int64 title: number of buckets accessible to the user userServiceAccountSummary: type: object properties: userServiceAccountList: type: array items: $ref: "#/definitions/userServiceAccountItem" title: list of users with number of service accounts hasSA: type: boolean listObjectsResponse: type: object properties: objects: type: array items: $ref: "#/definitions/bucketObject" title: list of resulting objects total: type: integer format: int64 title: number of objects bucketObject: type: object properties: name: type: string size: type: integer format: int64 content_type: type: string last_modified: type: string is_latest: type: boolean is_delete_marker: type: boolean version_id: type: string user_tags: type: object additionalProperties: type: string expiration: type: string expiration_rule_id: type: string legal_hold_status: type: string retention_mode: type: string retention_until_date: type: string etag: type: string tags: type: object additionalProperties: type: string metadata: type: object additionalProperties: type: string user_metadata: type: object additionalProperties: type: string makeBucketRequest: type: object required: - name properties: name: type: string ApiError: type: object properties: message: type: string detailedMessage: type: string user: type: object properties: accessKey: type: string policy: type: array items: type: string memberOf: type: array items: type: string status: type: string hasPolicy: type: boolean listUsersResponse: type: object properties: users: type: array items: $ref: "#/definitions/user" title: list of resulting users selectedUsers: type: array items: type: string addUserRequest: type: object required: - accessKey - secretKey - groups - policies properties: accessKey: type: string secretKey: type: string groups: type: array items: type: string policies: type: array items: type: string group: type: object properties: name: type: string status: type: string members: type: array items: type: string policy: type: string addGroupRequest: type: object required: - group - members properties: group: type: string members: type: array items: type: string listGroupsResponse: type: object properties: groups: type: array items: type: string title: list of groups total: type: integer format: int64 title: total number of groups policy: type: object properties: name: type: string policy: type: string policyEntity: type: string enum: - user - group default: user setPolicyRequest: type: object required: - entityType - entityName properties: entityType: $ref: "#/definitions/policyEntity" entityName: type: string setPolicyNameRequest: type: object required: - name - entityType - entityName properties: name: type: array items: type: string entityType: $ref: "#/definitions/policyEntity" entityName: type: string setPolicyMultipleNameRequest: type: object properties: name: type: array items: type: string users: type: array items: $ref: "#/definitions/iamEntity" groups: type: array items: $ref: "#/definitions/iamEntity" iamEntity: type: string addPolicyRequest: type: object required: - name - policy properties: name: type: string policy: type: string updateServiceAccountRequest: type: object required: - policy properties: policy: type: string secretKey: type: string name: type: string description: type: string expiry: type: string status: type: string listPoliciesResponse: type: object properties: policies: type: array items: $ref: "#/definitions/policy" title: list of policies total: type: integer format: int64 title: total number of policies listAccessRulesResponse: type: object properties: accessRules: type: array items: $ref: "#/definitions/accessRule" title: list of policies total: type: integer format: int64 title: total number of policies accessRule: type: object properties: prefix: type: string access: type: string updateGroupRequest: type: object required: - members - status properties: members: type: array items: type: string status: type: string configDescription: type: object properties: key: type: string description: type: string configurationKV: type: object properties: key: type: string value: type: string env_override: $ref: "#/definitions/envOverride" envOverride: type: object properties: name: type: string value: type: string configuration: type: object properties: name: type: string key_values: type: array items: $ref: "#/definitions/configurationKV" listConfigResponse: type: object properties: configurations: type: array items: $ref: "#/definitions/configDescription" total: type: integer format: int64 title: total number of configurations setConfigRequest: type: object required: - key_values properties: key_values: type: array minItems: 1 items: $ref: "#/definitions/configurationKV" arn_resource_id: type: string title: Used if configuration is an event notification's target notificationEventType: type: string enum: - put - delete - get - replica - ilm - scanner notificationConfig: type: object required: - arn properties: id: type: string arn: type: string events: type: array items: $ref: "#/definitions/notificationEventType" title: "filter specific type of event. Defaults to all event (default: '[put,delete,get]')" prefix: type: string title: "filter event associated to the specified prefix" suffix: type: string title: "filter event associated to the specified suffix" notificationDeleteRequest: type: object required: - events - prefix - suffix properties: events: type: array minLength: 1 items: $ref: "#/definitions/notificationEventType" title: "filter specific type of event. Defaults to all event (default: '[put,delete,get]')" prefix: type: string title: "filter event associated to the specified prefix" suffix: type: string title: "filter event associated to the specified suffix" bucketEventRequest: type: object required: - configuration properties: configuration: $ref: "#/definitions/notificationConfig" ignoreExisting: type: boolean bucketReplicationDestination: type: object properties: bucket: type: string bucketReplicationRule: type: object properties: id: type: string status: type: string enum: - Enabled - Disabled priority: type: integer format: int32 syncMode: type: string enum: - async - sync default: async bandwidth: type: string healthCheckPeriod: type: integer delete_marker_replication: type: boolean deletes_replication: type: boolean existingObjects: type: boolean metadata_replication: type: boolean prefix: type: string tags: type: string storageClass: type: string destination: $ref: "#/definitions/bucketReplicationDestination" bucketReplicationRuleList: type: object properties: rules: type: array items: type: string bucketReplicationResponse: type: object properties: rules: type: array items: $ref: "#/definitions/bucketReplicationRule" # missing # "Filter": { # "And": {}, # "Tag": {} # } # } #} listExternalBucketsParams: required: - accessKey - secretKey - targetURL - useTLS properties: accessKey: type: string minLength: 3 secretKey: type: string minLength: 8 targetURL: type: string useTLS: type: boolean region: type: string multiBucketReplication: required: - accessKey - secretKey - targetURL - bucketsRelation properties: accessKey: type: string minLength: 3 secretKey: type: string minLength: 8 targetURL: type: string region: type: string syncMode: type: string enum: - async - sync default: async bandwidth: type: integer format: int64 healthCheckPeriod: type: integer format: int32 prefix: type: string tags: type: string replicateExistingObjects: type: boolean replicateDeleteMarkers: type: boolean replicateDeletes: type: boolean replicateMetadata: type: boolean priority: type: integer format: int32 default: 0 storageClass: type: string default: "" bucketsRelation: type: array minLength: 1 items: $ref: "#/definitions/multiBucketsRelation" multiBucketReplicationEdit: properties: ruleState: type: boolean arn: type: string prefix: type: string tags: type: string default: "" replicateDeleteMarkers: type: boolean replicateDeletes: type: boolean replicateMetadata: type: boolean replicateExistingObjects: type: boolean priority: type: integer format: int32 default: 0 storageClass: type: string default: "" multiBucketsRelation: type: object properties: originBucket: type: string destinationBucket: type: string multiBucketResponseItem: type: object properties: originBucket: type: string targetBucket: type: string errorString: type: string multiBucketResponseState: type: object properties: replicationState: type: array items: $ref: "#/definitions/multiBucketResponseItem" addBucketReplication: type: object properties: arn: type: string destination_bucket: type: string makeBucketsResponse: type: object properties: bucketName: type: string listBucketEventsResponse: type: object properties: events: type: array items: $ref: "#/definitions/notificationConfig" total: type: integer format: int64 title: total number of bucket events setBucketPolicyRequest: type: object required: - access properties: access: $ref: "#/definitions/bucketAccess" definition: type: string bucketQuota: type: object properties: quota: type: integer type: type: string enum: - hard setBucketQuota: type: object required: - enabled properties: enabled: type: boolean quota_type: type: string enum: - hard amount: type: integer loginDetails: type: object properties: loginStrategy: type: string enum: [form, redirect, service-account, redirect-service-account] redirectRules: type: array items: $ref: "#/definitions/redirectRule" isK8S: type: boolean animatedLogin: type: boolean loginOauth2AuthRequest: type: object required: - state - code properties: state: type: string code: type: string loginRequest: type: object properties: accessKey: type: string secretKey: type: string sts: type: string features: type: object properties: hide_menu: type: boolean loginResponse: type: object properties: sessionId: type: string IDPRefreshToken: type: string logoutRequest: type: object properties: state: type: string # Structure that holds the `Bearer {TOKEN}` present on authenticated requests principal: type: object properties: STSAccessKeyID: type: string STSSecretAccessKey: type: string STSSessionToken: type: string accountAccessKey: type: string hm: type: boolean ob: type: boolean customStyleOb: type: string startProfilingItem: type: object properties: nodeName: type: string success: type: boolean error: type: string startProfilingList: type: object properties: total: type: integer format: int64 title: number of start results startResults: type: array items: $ref: "#/definitions/startProfilingItem" profilingStartRequest: type: object required: - type properties: type: type: string sessionResponse: type: object properties: features: type: array items: type: string status: type: string enum: [ok] operator: type: boolean distributedMode: type: boolean serverEndPoint: type: string permissions: type: object additionalProperties: type: array items: type: string customStyles: type: string allowResources: type: array items: $ref: "#/definitions/permissionResource" envConstants: $ref: "#/definitions/environmentConstants" widgetResult: type: object properties: metric: type: object additionalProperties: type: string values: type: array items: {} resultTarget: type: object properties: legendFormat: type: string resultType: type: string result: type: array items: $ref: "#/definitions/widgetResult" widget: type: object properties: title: type: string type: type: string id: type: integer format: int32 options: type: object properties: reduceOptions: type: object properties: calcs: type: array items: type: string targets: type: array items: $ref: "#/definitions/resultTarget" widgetDetails: type: object properties: title: type: string type: type: string id: type: integer format: int32 options: type: object properties: reduceOptions: type: object properties: calcs: type: array items: type: string targets: type: array items: $ref: "#/definitions/resultTarget" adminInfoResponse: type: object properties: buckets: type: integer objects: type: integer usage: type: integer advancedMetricsStatus: type: string enum: - not configured - available - unavailable widgets: type: array items: $ref: "#/definitions/widget" servers: type: array items: $ref: "#/definitions/serverProperties" backend: $ref: "#/definitions/BackendProperties" serverProperties: type: object properties: state: type: string endpoint: type: string uptime: type: integer version: type: string commitID: type: string poolNumber: type: integer network: type: object additionalProperties: type: string drives: type: array items: $ref: "#/definitions/serverDrives" serverDrives: type: object properties: uuid: type: string state: type: string endpoint: type: string drivePath: type: string rootDisk: type: boolean healing: type: boolean model: type: string totalSpace: type: integer usedSpace: type: integer availableSpace: type: integer BackendProperties: type: object properties: backendType: type: string rrSCParity: type: integer standardSCParity: type: integer onlineDrives: type: integer offlineDrives: type: integer arnsResponse: type: object properties: arns: type: array items: type: string updateUserGroups: type: object required: - groups properties: groups: type: array items: type: string nofiticationService: type: string enum: - webhook - amqp - kafka - mqtt - nats - nsq - mysql - postgres - elasticsearch - redis notificationEndpointItem: type: object properties: service: $ref: "#/definitions/nofiticationService" account_id: type: string status: type: string notificationEndpoint: type: object required: - service - account_id - properties properties: service: $ref: "#/definitions/nofiticationService" account_id: type: string properties: type: object additionalProperties: type: string setNotificationEndpointResponse: type: object required: - service - account_id - properties properties: service: $ref: "#/definitions/nofiticationService" account_id: type: string properties: type: object additionalProperties: type: string restart: type: boolean notifEndpointResponse: type: object properties: notification_endpoints: type: array items: $ref: "#/definitions/notificationEndpointItem" peerSiteRemoveResponse: type: object properties: status: type: string errorDetail: type: string peerSiteEditResponse: type: object properties: success: type: boolean status: type: string errorDetail: type: string peerSite: type: object properties: name: type: string endpoint: type: string accessKey: type: string secretKey: type: string peerInfo: type: object properties: endpoint: type: string name: type: string deploymentID: type: string peerInfoRemove: type: object required: - sites properties: all: type: boolean sites: type: array items: type: string siteReplicationAddRequest: type: array items: $ref: "#/definitions/peerSite" siteReplicationAddResponse: type: object properties: success: type: boolean status: type: string errorDetail: type: string initialSyncErrorMessage: type: string siteReplicationInfoResponse: type: object properties: enabled: type: boolean name: type: string sites: type: array items: $ref: "#/definitions/peerInfo" serviceAccountAccessKey: type: string siteReplicationStatusResponse: type: object properties: enabled: type: boolean maxBuckets: type: integer maxUsers: type: integer maxGroups: type: integer maxPolicies: type: integer sites: type: object statsSummary: type: object bucketStats: type: object policyStats: type: object userStats: type: object groupStats: type: object updateUser: type: object required: - status - groups properties: status: type: string groups: type: array items: type: string bulkUserGroups: type: object required: - users - groups properties: users: type: array items: type: string groups: type: array items: type: string serviceAccount: type: object properties: parentUser: type: string accountStatus: type: string impliedPolicy: type: boolean policy: type: string name: type: string description: type: string expiration: type: string serviceAccounts: type: array items: type: object properties: accountStatus: type: string name: type: string description: type: string expiration: type: string accessKey: type: string serviceAccountRequest: type: object properties: policy: type: string title: "policy to be applied to the Service Account if any" name: type: string description: type: string expiry: type: string comment: type: string serviceAccountRequestCreds: type: object properties: policy: type: string title: "policy to be applied to the Service Account if any" accessKey: type: string secretKey: type: string name: type: string description: type: string expiry: type: string comment: type: string serviceAccountCreds: type: object properties: accessKey: type: string secretKey: type: string url: type: string remoteBucket: type: object required: - accessKey - sourceBucket - remoteARN properties: accessKey: type: string minLength: 3 secretKey: type: string minLength: 8 sourceBucket: type: string targetURL: type: string targetBucket: type: string remoteARN: type: string status: type: string service: type: string enum: [replication] syncMode: type: string bandwidth: type: integer format: int64 healthCheckPeriod: type: integer createRemoteBucket: required: - accessKey - secretKey - targetURL - sourceBucket - targetBucket properties: accessKey: type: string minLength: 3 secretKey: type: string minLength: 8 targetURL: type: string sourceBucket: type: string targetBucket: type: string region: type: string syncMode: type: string enum: - async - sync default: async bandwidth: type: integer format: int64 healthCheckPeriod: type: integer format: int32 listRemoteBucketsResponse: type: object properties: buckets: type: array items: $ref: "#/definitions/remoteBucket" title: list of remote buckets total: type: integer format: int64 title: number of remote buckets accessible to user bucketVersioningResponse: type: object properties: status: type: string MFADelete: type: string excludedPrefixes: type: array items: type: object properties: prefix: type: string excludeFolders: type: boolean setBucketVersioning: type: object properties: enabled: type: boolean excludePrefixes: type: array maxLength: 10 items: type: string excludeFolders: type: boolean bucketObLockingResponse: type: object properties: object_locking_enabled: type: boolean logSearchResponse: type: object properties: results: type: object title: list of log search responses objectLegalHoldStatus: type: string enum: - enabled - disabled putObjectLegalHoldRequest: type: object required: - status properties: status: $ref: "#/definitions/objectLegalHoldStatus" objectRetentionMode: type: string enum: - governance - compliance putObjectRetentionRequest: type: object required: - mode - expires properties: mode: $ref: "#/definitions/objectRetentionMode" expires: type: string governance_bypass: type: boolean putObjectTagsRequest: type: object properties: tags: additionalProperties: type: string putBucketTagsRequest: type: object properties: tags: additionalProperties: type: string objectRetentionUnit: type: string enum: - days - years putBucketRetentionRequest: type: object required: - mode - unit - validity properties: mode: $ref: "#/definitions/objectRetentionMode" unit: $ref: "#/definitions/objectRetentionUnit" validity: type: integer format: int32 getBucketRetentionConfig: type: object properties: mode: $ref: "#/definitions/objectRetentionMode" unit: $ref: "#/definitions/objectRetentionUnit" validity: type: integer format: int32 prefixAccessPair: type: object properties: prefix: type: string access: type: string prefixWrapper: type: object properties: prefix: type: string setConfigResponse: type: object properties: restart: description: Returns wheter server needs to restart to apply changes or not type: boolean configExportResponse: type: object properties: value: description: Returns base64 encoded value type: string status: type: string license: type: object properties: email: type: string organization: type: string account_id: type: integer storage_capacity: type: integer plan: type: string expires_at: type: string apiKey: type: object properties: apiKey: type: string policyArgs: type: object properties: id: type: string action: type: string bucket_name: type: string deleteFile: type: object properties: path: type: string versionID: type: string recursive: type: boolean userSAs: type: object properties: path: type: string versionID: type: string recursive: type: boolean rewindItem: type: object properties: last_modified: type: string size: type: integer format: int64 version_id: type: string delete_flag: type: boolean action: type: string name: type: string is_latest: type: boolean rewindResponse: type: object properties: objects: type: array items: $ref: "#/definitions/rewindItem" iamPolicy: type: object properties: version: type: string statement: type: array items: $ref: "#/definitions/iamPolicyStatement" iamPolicyStatement: type: object properties: effect: type: string action: type: array items: type: string resource: type: array items: type: string condition: type: object additionalProperties: type: object metadata: type: object properties: objectMetadata: type: object additionalProperties: true permissionResource: type: object properties: resource: type: string conditionOperator: type: string prefixes: type: array items: type: string aUserPolicyResponse: type: object properties: policy: type: string kmsStatusResponse: type: object properties: name: type: string defaultKeyID: type: string endpoints: type: array items: $ref: "#/definitions/kmsEndpoint" kmsEndpoint: type: object properties: url: type: string status: type: string kmsKeyStatusResponse: type: object properties: keyID: type: string encryptionErr: type: string decryptionErr: type: string kmsCreateKeyRequest: type: object required: - key properties: key: type: string kmsListKeysResponse: type: object properties: results: type: array items: $ref: "#/definitions/kmsKeyInfo" kmsKeyInfo: type: object properties: name: type: string createdAt: type: string createdBy: type: string kmsMetricsResponse: type: object required: - requestOK - requestErr - requestFail - requestActive - auditEvents - errorEvents - latencyHistogram - uptime - cpus - usableCPUs - threads - heapAlloc - stackAlloc properties: requestOK: type: integer requestErr: type: integer requestFail: type: integer requestActive: type: integer auditEvents: type: integer errorEvents: type: integer latencyHistogram: type: array items: $ref: "#/definitions/kmsLatencyHistogram" uptime: type: integer cpus: type: integer usableCPUs: type: integer threads: type: integer heapAlloc: type: integer heapObjects: type: integer stackAlloc: type: integer kmsLatencyHistogram: type: object properties: duration: type: integer total: type: integer kmsAPIsResponse: type: object properties: results: type: array items: $ref: "#/definitions/kmsAPI" kmsAPI: type: object properties: method: type: string path: type: string maxBody: type: integer timeout: type: integer kmsVersionResponse: type: object properties: version: type: string environmentConstants: type: object properties: maxConcurrentUploads: type: integer maxConcurrentDownloads: type: integer redirectRule: type: object properties: redirect: type: string displayName: type: string serviceType: type: string idpServerConfiguration: type: object properties: name: type: string input: type: string type: type: string enabled: type: boolean info: type: array items: $ref: "#/definitions/idpServerConfigurationInfo" idpServerConfigurationInfo: type: object properties: key: type: string value: type: string isCfg: type: boolean isEnv: type: boolean idpListConfigurationsResponse: type: object properties: results: type: array items: $ref: "#/definitions/idpServerConfiguration" setIDPResponse: type: object properties: restart: type: boolean releaseListResponse: type: object properties: results: type: array items: $ref: "#/definitions/releaseInfo" releaseInfo: type: object properties: metadata: $ref: "#/definitions/releaseMetadata" notesContent: type: string securityContent: type: string breakingChangesContent: type: string contextContent: type: string newFeaturesContent: type: string releaseMetadata: type: object properties: tag_name: type: string target_commitish: type: string name: type: string draft: type: boolean prerelease: type: boolean id: type: integer created_at: type: string published_at: type: string url: type: string html_url: type: string assets_url: type: string upload_url: type: string zipball_url: type: string tarball_url: type: string author: $ref: "#/definitions/releaseAuthor" node_id: type: string releaseAuthor: type: object properties: login: type: string id: type: integer node_id: type: string avatar_url: type: string html_url: type: string gravatar_id: type: string type: type: string site_admin: type: boolean url: type: string events_url: type: string following_url: type: string followers_url: type: string gists_url: type: string organizations_url: type: string receivedEvents_url: type: string repos_url: type: string starred_url: type: string subscriptions_url: type: string callHomeGetResponse: type: object properties: diagnosticsStatus: type: boolean logsStatus: type: boolean callHomeSetStatus: type: object required: - diagState - logsState properties: diagState: type: boolean logsState: type: boolean ldapEntitiesRequest: type: object properties: users: type: array items: type: string groups: type: array items: type: string policies: type: array items: type: string ldapEntities: type: object properties: timestamp: type: string users: type: array items: $ref: "#/definitions/ldapUserPolicyEntity" groups: type: array items: $ref: "#/definitions/ldapGroupPolicyEntity" policies: type: array items: $ref: "#/definitions/ldapPolicyEntity" ldapUserPolicyEntity: type: object properties: user: type: string policies: type: array items: type: string ldapGroupPolicyEntity: type: object properties: group: type: string policies: type: array items: type: string ldapPolicyEntity: type: object properties: policy: type: string users: type: array items: type: string groups: type: array items: type: string maxShareLinkExpResponse: type: object properties: exp: type: number format: int64 required: - exp selectedSAs: type: array items: type: string