{ "opencollection": "1.0.0", "info": { "name": "@weka-api Active Directory S3 API", "version": "5.1" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "S3", "type": "folder" }, "items": [ { "info": { "name": "Get S3 cluster information", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3" }, "docs": "Returns details about the S3 cluster managed by the system." }, { "info": { "name": "Create an S3 cluster", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3", "body": { "type": "json", "data": "{}" } }, "docs": "Establishes a new S3 cluster." }, { "info": { "name": "Update an S3 cluster", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/s3", "body": { "type": "json", "data": "{}" } }, "docs": "Modifies the configuration of an existing S3 cluster." }, { "info": { "name": "Delete an S3 cluster", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3", "params": [ { "name": "purge_config", "value": "", "type": "query", "description": "Purge the existing configuration by default." } ] }, "docs": "Removes an S3 cluster." }, { "info": { "name": "Get S3 settings for the calling tenant", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/tenantSetup" }, "docs": "Returns the calling tenant's effective S3 default filesystem and anonymous POSIX UID/GID.\nDefault filesystem falls back to the cluster-wide default when no tenant override is set.\n" }, { "info": { "name": "Update S3 settings for the calling tenant", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/s3/tenantSetup", "body": { "type": "json", "data": "{}" } }, "docs": "Sets the calling tenant's S3 default filesystem and/or anonymous POSIX UID/GID.\nUID and GID must be set together. At least one parameter must be provided.\n" }, { "info": { "name": "Get S3 buckets", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/buckets" }, "docs": "Returns a list of all buckets within an S3 cluster." }, { "info": { "name": "Add an S3 bucket", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/buckets", "body": { "type": "json", "data": "{}" } }, "docs": "Adds a new bucket within an S3 cluster." }, { "info": { "name": "Get S3 user policies", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/userPolicies" }, "docs": "Returns a list of S3 user policies." }, { "info": { "name": "Delete an S3 bucket", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/buckets/:bucket", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name." }, { "name": "unlink", "value": "", "type": "query", "description": "Unlinks the bucket, but leaves the data directory in place." } ] }, "docs": "Removes a specified S3 bucket." }, { "info": { "name": "Get S3 IAM policies", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/policies" }, "docs": "Returns a list of S3 IAM policies." }, { "info": { "name": "Add an S3 IAM policy", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/policies", "body": { "type": "json", "data": "{}" } }, "docs": "Adds a new S3 IAM policy." }, { "info": { "name": "Get S3 IAM policy details", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/policies/:policy", "params": [ { "name": "policy", "value": "", "type": "path", "description": "policy name." } ] }, "docs": "Returns details about a specific S3 IAM policy." }, { "info": { "name": "Delete an S3 IAM policy", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/policies/:policy", "params": [ { "name": "policy", "value": "", "type": "path", "description": "policy name." } ] }, "docs": "Removes an S3 IAM policy." }, { "info": { "name": "Attach an S3 IAM policy to a user", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/policies/attach", "body": { "type": "json", "data": "{}" } }, "docs": "Assigns an S3 IAM policy to a user." }, { "info": { "name": "Detach an S3 IAM policy from a user", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/policies/detach", "body": { "type": "json", "data": "{}" } }, "docs": "Unassigns an S3 IAM policy from a user." }, { "info": { "name": "Get S3 service accounts", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/serviceAccounts" }, "docs": "Returns the S3 service accounts added by the S3 user, including their access keys." }, { "info": { "name": "Add an S3 service account", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/serviceAccounts", "body": { "type": "json", "data": "{}" } }, "docs": "Adds a new S3 service account." }, { "info": { "name": "Get S3 service account details", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/serviceAccounts/:access_key", "params": [ { "name": "access_key", "value": "", "type": "path", "description": "Access key of the service account." } ] }, "docs": "Returns a specific S3 service account." }, { "info": { "name": "Remove an S3 service account", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/serviceAccounts/:access_key", "params": [ { "name": "access_key", "value": "", "type": "path", "description": "Access key of the service account." } ] }, "docs": "Removes an S3 service account." }, { "info": { "name": "Create an S3 STS token", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/sts", "body": { "type": "json", "data": "{}" } }, "docs": "Creates an S3 STS token with an assumed role." }, { "info": { "name": "Get lifecycle rules", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/buckets/:bucket/lifecycle/rules", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name." } ] }, "docs": "Returns a list of all lifecycle rules for an S3 bucket." }, { "info": { "name": "Add a lifecycle rule", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/buckets/:bucket/lifecycle/rules", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new lifecycle rule for an S3 bucket." }, { "info": { "name": "Delete lifecycle rules", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/buckets/:bucket/lifecycle/rules", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name." } ] }, "docs": "Removes all lifecycle rules for an S3 bucket." }, { "info": { "name": "Delete a lifecycle rule", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/buckets/:bucket/lifecycle/rules/:rule", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name." }, { "name": "rule", "value": "", "type": "path", "description": "rule ID." } ] }, "docs": "Removes a specific lifecycle rule from an S3 bucket." }, { "info": { "name": "Get S3 bucket policy", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/buckets/:bucket/policy", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name." } ] }, "docs": "Returns the policy attached to an S3 bucket." }, { "info": { "name": "Set S3 bucket policy", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/s3/buckets/:bucket/policy", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Assigns a policy to an S3 bucket." }, { "info": { "name": "Get S3 bucket policy (JSON)", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/buckets/:bucket/policyJson", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name." } ] }, "docs": "Returns the bucket policy in JSON format." }, { "info": { "name": "Set S3 bucket policy (JSON)", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/s3/buckets/:bucket/policyJson", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Sets the bucket policy using a JSON file." }, { "info": { "name": "Set S3 bucket quota", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/s3/buckets/:bucket/quota", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Defines a storage quota for an S3 bucket." }, { "info": { "name": "Unset S3 bucket quota", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/buckets/:bucket/quota", "params": [ { "name": "bucket", "value": "", "type": "path", "description": "bucket name" } ] }, "docs": "Removes a storage quota from an S3 bucket." }, { "info": { "name": "Get container readiness", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/containersAreReady" }, "docs": "Returns the readiness status of containers within the S3 cluster." }, { "info": { "name": "Add servers to S3 cluster - deprecated, use POST /s3/containers", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/hosts", "body": { "type": "json", "data": "{}" } }, "docs": "Adds a server to the S3 cluster." }, { "info": { "name": "Remove servers from S3 cluster - deprecated use /s3/containers", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/hosts", "params": [ { "name": "host_uids", "value": "", "type": "query", "description": "UIDs of servers to remove from S3 cluster" } ] }, "docs": "Removes a server from the S3 cluster." }, { "info": { "name": "Add container to S3 cluster", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/containers", "body": { "type": "json", "data": "{}" } }, "docs": "Adds a container to the S3 cluster." }, { "info": { "name": "Remove containers", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/containers", "params": [ { "name": "container_uids", "value": "", "type": "query", "description": "UIDs of containers to remove from S3 cluster" } ] }, "docs": "Removes containers from the S3 cluster." }, { "info": { "name": "Get logging verbosity", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/debug" }, "docs": "Returns the logging level for container processes within the S3 cluster." }, { "info": { "name": "Set logging verbosity", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/debug", "body": { "type": "json", "data": "{}" } }, "docs": "Adjusts the logging level for container processes within the S3 cluster." }, { "info": { "name": "Enable S3 audit webhook", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/auditWebhook/enable", "body": { "type": "json", "data": "{}" } }, "docs": "Activates the S3 audit webhook." }, { "info": { "name": "Disable S3 audit webhook", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/auditWebhook/disable" }, "docs": "Deactivates the S3 audit webhook." }, { "info": { "name": "Get S3 audit webhook configuration", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/auditWebhook" }, "docs": "Returns details about the S3 audit webhook configuration." }, { "info": { "name": "Get S3 OIDC configuration", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/s3/oidc" }, "docs": "Returns the current OIDC configuration." }, { "info": { "name": "Add S3 OIDC configuration", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/oidc", "body": { "type": "json", "data": "{}" } }, "docs": "Adds OIDC (OpenID Connect) configuration for S3 authentication." }, { "info": { "name": "Update S3 OIDC configuration", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/s3/oidc", "body": { "type": "json", "data": "{}" } }, "docs": "Updates existing OIDC configuration." }, { "info": { "name": "Remove S3 OIDC configuration", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/oidc" }, "docs": "Removes the OIDC configuration." }, { "info": { "name": "Import LDAP user for S3 access", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/ldapImportUser" }, "docs": "Provisions S3 access for an existing LDAP user in tenant 0. Use /s3/{tenantId}/ldapImportUser for other tenants." }, { "info": { "name": "Update an S3 user through LDAP authentication", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/s3/ldapImportUser" }, "docs": "Updates an S3 user's credentials and policy through LDAP authentication in tenant 0. Use /s3/{tenantId}/ldapImportUser for other tenants." }, { "info": { "name": "Remove an S3 user through LDAP username", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/ldapImportUser" }, "docs": "Deletes an S3 user authenticated through LDAP in tenant 0. Use /s3/{tenantId}/ldapImportUser for other tenants." }, { "info": { "name": "Import LDAP user for S3 access in specific tenant", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/s3/:tenantId/ldapImportUser", "params": [ { "name": "tenantId", "value": "", "type": "path", "description": "The tenant ID (organization ID) to import the user into" } ] }, "docs": "Provisions S3 access for an existing LDAP user. It authenticates the user against the configured LDAP directory for the specified tenant and generates unique S3 access and secret keys." }, { "info": { "name": "Update an S3 user through LDAP authentication in specific tenant", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/s3/:tenantId/ldapImportUser", "params": [ { "name": "tenantId", "value": "", "type": "path", "description": "The tenant ID (organization ID)" } ] }, "docs": "Updates an S3 user's credentials and policy through LDAP authentication for the specified tenant." }, { "info": { "name": "Remove an S3 user through LDAP username in specific tenant", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/s3/:tenantId/ldapImportUser", "params": [ { "name": "tenantId", "value": "", "type": "path", "description": "The tenant ID (organization ID)" } ] }, "docs": "Deletes an S3 user authenticated through LDAP for the specified tenant." }, { "info": { "name": "Refresh all LDAP S3 users", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/s3/refresh-imported" }, "docs": "Synchronizes UID, GID, and S3 policies for all LDAP-imported users to ensure cluster permissions match the current directory state. This operation updates existing identities and reports success or failure counts." }, { "info": { "name": "Refresh all LDAP S3 users for a specific tenant", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/s3/:tenantId/refresh-imported", "params": [ { "name": "tenantId", "value": "", "type": "path", "description": "The tenant ID (organization ID)" } ] }, "docs": "Synchronizes UID, GID, and S3 policies for all LDAP-imported users in the specified tenant." } ] } ], "bundled": true }