RustFS Rustfs API

The Rustfs API from RustFS — 13 operation(s) for rustfs.

Operations 17

POST /rustfs/admin/v3/background-heal/status Check status of background healing operations #
DELETE /rustfs/admin/v3/group/{group} Delete group #
GET /rustfs/admin/v3/idp/builtin/policy-entities List policy bindings showing which users/groups have which policies #
POST /rustfs/admin/v3/idp/builtin/policy/{policyid} Attach policies to a user or group #
GET /rustfs/admin/v3/oidc/providers Check that the OIDC provider is available after restarting RustFS #
GET /rustfs/admin/v3/pools/{poolid} List all pools in the cluster #
POST /rustfs/admin/v3/pools/{poolid} Cancel a decommission operation on a pool #
POST /rustfs/admin/v3/rebalance/{rebalanceid} Start a rebalance operation #
DELETE /rustfs/admin/v3/{v3id} Delete service account #
GET /rustfs/admin/v3/{v3id} Export IAM data #
POST /rustfs/admin/v3/{v3id} Heal cluster, bucket, or prefix with optional pool and set parameters #
PUT /rustfs/admin/v3/{v3id} Create or replace a policy #
GET /rustfs/admin/v3/{v3id}/status Get decommission status with optional pool and by-id parameters #
GET /rustfs/admin/v4/cluster/snapshot Get cluster snapshot #
GET /rustfs/admin/v4/heal/replacement-recovery Monitor drive replacement recovery progress and completion status #
GET /rustfs/admin/v4/runtime/capabilities Get runtime capabilities #
GET /rustfs/console/health GET /rustfs/console/health #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

rustfs-rustfs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Rustfs API
  version: '2026-10-13'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-13: 30 operation(s) read from 21 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; RustFS has published no machine-readable contract that the pipeline could find. Engine: anthropic.'
  x-evidence-tiers:
    code-example: 8
    documentation: 22
    pages-with-code: 12
    pages-read: 21
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-13'
  x-generator: generate-contract-from-docs.py
  x-engine: anthropic
  x-sources:
  - https://docs.rustfs.com/en/operations/rc
  - https://docs.rustfs.com/en/installation/linux/quick-start
  - https://py.iceberg.apache.org/configuration
  - https://docs.rustfs.com/en/installation/cloud-native
  - https://docs.rustfs.com/en/administration/cors
  - https://docs.rustfs.com/en/security-compliance/audit-logs
  - https://docs.rustfs.com/en/operations/credentials
  - https://docs.rustfs.com/en/operations/cluster-lifecycle
  - https://docs.rustfs.com/en/operations/observability
  - https://docs.rustfs.com/en/operations/status-check
  - https://docs.rustfs.com/en/security-compliance/iam/sts
  - https://docs.rustfs.com/en/developer/sdk/python
  - https://docs.rustfs.com/en/developer/sdk/other
  - https://docs.rustfs.com/en/installation/linux/prerequisites-and-service
  - https://docs.rustfs.com/en/installation/container/docker
  - https://docs.rustfs.com/en/installation/container/podman
  - https://docs.rustfs.com/en/administration/data/s3-tables
  - https://docs.rustfs.com/en/administration/data/bucket/creation
  - https://docs.rustfs.com/en/administration/data/object/creation
  - https://docs.rustfs.com/en/security-compliance/iam/policies
  - https://docs.rustfs.com/en/security-compliance/oidc/keycloak
  x-ownership: RustFS is self-hosted software; no RustFS-operated API host exists. Paths are from docs.rustfs.com pages (x-source per operation). Download/installer URLs and a Keycloak realm discovery URL the generator caught were removed as not RustFS API operations.
servers:
- url: '{scheme}://{host}:{port}'
  description: 'Self-hosted RustFS deployment: S3 API, admin API and health endpoints on port 9000 (console on 9001), per https://docs.rustfs.com/en/operations/status-check'
  variables:
    scheme:
      default: http
      enum:
      - http
      - https
    host:
      default: localhost
    port:
      default: '9000'
tags:
- name: Rustfs
paths:
  /rustfs/admin/v3/background-heal/status:
    post:
      operationId: post_rustfs_admin_v3_background_heal_status
      tags:
      - Rustfs
      summary: Check status of background healing operations
      x-source: https://docs.rustfs.com/en/operations/cluster-lifecycle
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /rustfs/admin/v3/group/{group}:
    delete:
      operationId: delete_rustfs_admin_v3_group_group
      tags:
      - Rustfs
      summary: Delete group
      x-source: https://docs.rustfs.com/en/security-compliance/iam/policies
      parameters:
      - name: group
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /rustfs/admin/v3/idp/builtin/policy-entities:
    get:
      operationId: get_rustfs_admin_v3_idp_builtin_policy_entities
      tags:
      - Rustfs
      summary: List policy bindings showing which users/groups have which policies
      x-source: https://docs.rustfs.com/en/security-compliance/iam/policies
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /rustfs/admin/v3/idp/builtin/policy/{policyid}:
    post:
      operationId: post_rustfs_admin_v3_idp_builtin_policy_policyid
      tags:
      - Rustfs
      summary: Attach policies to a user or group
      x-source: https://docs.rustfs.com/en/security-compliance/iam/policies
      parameters:
      - name: policyid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostRustfsAdminV3IdpBuiltinPolicyPolicyidRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
        collapsed_from: 2 example path(s) differing only at policyId
  /rustfs/admin/v3/oidc/providers:
    get:
      operationId: get_rustfs_admin_v3_oidc_providers
      tags:
      - Rustfs
      summary: Check that the OIDC provider is available after restarting RustFS
      x-source: https://docs.rustfs.com/en/security-compliance/oidc/keycloak
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRustfsAdminV3OidcProvidersResponse'
      x-evidence:
        kind: documentation
  /rustfs/admin/v3/pools/{poolid}:
    get:
      operationId: get_rustfs_admin_v3_pools_poolid
      tags:
      - Rustfs
      summary: List all pools in the cluster
      x-source: https://docs.rustfs.com/en/operations/cluster-lifecycle
      parameters:
      - name: poolid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
        collapsed_from: 2 example path(s) differing only at poolId
    post:
      operationId: post_rustfs_admin_v3_pools_poolid
      tags:
      - Rustfs
      summary: Cancel a decommission operation on a pool
      x-source: https://docs.rustfs.com/en/operations/cluster-lifecycle
      parameters:
      - name: poolid
        in: path
        required: true
        schema:
          type: string
      - name: pool
        in: query
        required: true
        schema:
          type: string
        description: Pool command line or zero-based index with by-id=true
      - name: by-id
        in: query
        required: false
        schema:
          type: boolean
        description: When true, pool parameter is treated as zero-based index
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
        collapsed_from: 3 example path(s) differing only at poolId
  /rustfs/admin/v3/rebalance/{rebalanceid}:
    post:
      operationId: post_rustfs_admin_v3_rebalance_rebalanceid
      tags:
      - Rustfs
      summary: Start a rebalance operation
      x-source: https://docs.rustfs.com/en/operations/cluster-lifecycle
      parameters:
      - name: rebalanceid
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostRustfsAdminV3RebalanceRebalanceidResponse'
      x-evidence:
        kind: documentation
        collapsed_from: 2 example path(s) differing only at rebalanceId
  /rustfs/admin/v3/{v3id}:
    delete:
      operationId: delete_rustfs_admin_v3_v3id
      tags:
      - Rustfs
      summary: Delete service account
      x-source: https://docs.rustfs.com/en/security-compliance/iam/sts
      parameters:
      - name: v3id
        in: path
        required: true
        schema:
          type: string
      - name: accessKey
        in: query
        required: true
        schema:
          type: string
        description: The access key to delete
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
        collapsed_from: 3 example path(s) differing only at v3Id
    get:
      operationId: get_rustfs_admin_v3_v3id
      tags:
      - Rustfs
      summary: Export IAM data
      x-source: https://docs.rustfs.com/en/security-compliance/iam/policies
      parameters:
      - name: v3id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
        collapsed_from: 12 example path(s) differing only at v3Id
    post:
      operationId: post_rustfs_admin_v3_v3id
      tags:
      - Rustfs
      summary: Heal cluster, bucket, or prefix with optional pool and set parameters
      x-source: https://docs.rustfs.com/en/operations/cluster-lifecycle
      parameters:
      - name: v3id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostRustfsAdminV3V3IdRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
        collapsed_from: 2 example path(s) differing only at v3Id
    put:
      operationId: put_rustfs_admin_v3_v3id
      tags:
      - Rustfs
      summary: Create or replace a policy
      x-source: https://docs.rustfs.com/en/security-compliance/iam/policies
      parameters:
      - name: v3id
        in: path
        required: true
        schema:
          type: string
      - name: name
        in: query
        required: true
        schema:
          type: string
        description: Policy name
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutRustfsAdminV3V3IdRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
        collapsed_from: 8 example path(s) differing only at v3Id
  /rustfs/admin/v3/{v3id}/status:
    get:
      operationId: get_rustfs_admin_v3_v3id_status
      tags:
      - Rustfs
      summary: Get decommission status with optional pool and by-id parameters
      x-source: https://docs.rustfs.com/en/operations/cluster-lifecycle
      parameters:
      - name: v3id
        in: path
        required: true
        schema:
          type: string
      - name: pool
        in: query
        required: false
        schema:
          type: string
        description: A pool command line, or a zero-based index with by-id=true
      - name: by-id
        in: query
        required: false
        schema:
          type: boolean
        description: When true, pool parameter is treated as zero-based index
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
        collapsed_from: 3 example path(s) differing only at v3Id
  /rustfs/admin/v4/cluster/snapshot:
    get:
      operationId: get_rustfs_admin_v4_cluster_snapshot
      tags:
      - Rustfs
      summary: Get cluster snapshot
      x-source: https://docs.rustfs.com/en/operations/cluster-lifecycle
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /rustfs/admin/v4/heal/replacement-recovery:
    get:
      operationId: get_rustfs_admin_v4_heal_replacement_recovery
      tags:
      - Rustfs
      summary: Monitor drive replacement recovery progress and completion status
      x-source: https://docs.rustfs.com/en/operations/cluster-lifecycle
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /rustfs/admin/v4/runtime/capabilities:
    get:
      operationId: get_rustfs_admin_v4_runtime_capabilities
      tags:
      - Rustfs
      summary: Get runtime capabilities
      x-source: https://docs.rustfs.com/en/operations/cluster-lifecycle
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /rustfs/console/health:
    get:
      operationId: get_rustfs_console_health
      tags:
      - Rustfs
      summary: GET /rustfs/console/health
      x-source: https://docs.rustfs.com/en/operations/status-check
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -fsS http://localhost:9001/rustfs/console/health \n The details object reports storage / iam / lock (and kms when configured), and degradedReasons lists machine-readable causes such as storage_quorum_unavailable , iam_not_ready , or lock_quorum_unavailable . \n Cluster status Copy Anchor Link \n Check cluster status in the Console Copy Anchor Link \n Sign in to the RustFS Console. \n Open Status ."
components:
  schemas:
    PostRustfsAdminV3V3IdRequest:
      type: object
      properties:
        recursive:
          type: boolean
          description: Whether to recursively heal; required for root heal or when not naming pool and set
        dryRun:
          type: boolean
          description: Run in dry-run mode
        remove:
          type: boolean
          description: Remove corrupted objects
        recreate:
          type: boolean
          description: Recreate objects
        scanMode:
          type: string
          description: Scanning mode for healing
        updateParity:
          type: boolean
          description: Update parity
        readRepair:
          type: boolean
          description: Enable read repair
        pool:
          type: string
          description: Pool index for erasure set heal
        set:
          type: string
          description: Set index for erasure set heal
    PostRustfsAdminV3RebalanceRebalanceidResponse:
      type: object
      properties:
        id:
          type: string
          description: UUID of the rebalance operation
    PostRustfsAdminV3IdpBuiltinPolicyPolicyidRequest:
      type: object
      properties:
        policies:
          type: array
          description: List of policy names to attach
        user:
          type: string
          description: User name (or use group instead)
        group:
          type: string
          description: Group name (or use user instead)
      required:
      - policies
    GetRustfsAdminV3OidcProvidersResponse:
      type: object
      properties:
        providers:
          type: array
    PutRustfsAdminV3V3IdRequest:
      type: object
      properties:
        policy:
          type: object
          description: Policy JSON document
      required:
      - policy