LucidLink Filespace API

Filespace operations.

Operations 4

POST /filespaces Create a filespace. #
GET /filespaces Get a list of filespaces. #
GET /filespaces/{id} Retrieve a filespace. #
DELETE /filespaces/{id} Delete a filespace. #

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/lucidlink-filespace-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

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

OpenAPI Specification

lucidlink-filespace-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: LucidLink Service API Reference Filespace API
  description: "The LucidLink API is organized around REST. \nThe API has predictable resource-oriented URLs, works with JSON-encoded request and response bodies and uses standard-based verbs (HTTP), responses and authentication. \nThe authentication uses OAuth2 Client Credentials Grant Type. The credentials are provided upon request sent to support+ticket@lucidlink.com or by visiting https://support.lucidlink.com/hc/en-us.\n\nHere is an example bash script to retrieve an access token and send an API request.\n```sh\n  #!/bin/bash\n  CLIENT_ID=...\n  CLIENT_SECRET=...\n  TOKEN_ENDPOINT=https://auth.lucidlink.com/oauth2/token\n  API_ENDPOINT=https://api.lucidlink.com/v1\n\n  # Encode client credentials in base64 before exchanging them for a token.\n  CLIENT_CREDENTIALS=$(echo -n $CLIENT_ID:$CLIENT_SECRET | base64 -w 0)\n\n  # Retrieve your access token.\n  ACCESS_TOKEN=$(curl $TOKEN_ENDPOINT \\\n      --http1.0 \\\n      -X POST \\\n      -H 'Content-Type: application/x-www-form-urlencoded' \\\n      -H \"Authorization: Basic $CLIENT_CREDENTIALS\" \\\n      -d 'grant_type=client_credentials' -s | jq -r '.access_token')\n\n  # Use the token to interact with the API\n  sendApiRequest()\n  {\n      echo $(curl $API_ENDPOINT/$1 \\\n          -X GET \\\n          -H \"Authorization: $ACCESS_TOKEN\" \\\n          -H \"Content-Type: application/json\" -s)\n  }\n  sendApiRequest \"domains\"\n```\n"
servers:
- url: /api/v1
security:
- standard: []
tags:
- name: filespace
  description: Filespace operations.
paths:
  /filespaces:
    x-swagger-router-controller: Filespace
    post:
      tags:
      - filespace
      summary: Create a filespace.
      operationId: createFilespace
      responses:
        '201':
          description: The filespace object that has been created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Filespace'
        '400':
          description: Invalid request. Check filespace model definition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '409':
          description: Filespace name already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conflict'
        '422':
          description: Filespace creation is currently disabled in the selected region.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntity'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Filespace'
        description: Filespace object to be created
        required: true
    get:
      tags:
      - filespace
      summary: Get a list of filespaces.
      operationId: getFilespaces
      parameters:
      - in: query
        name: qualifiedName
        description: Fully-qualified name of a filespace to search for.
        schema:
          type: string
      responses:
        '200':
          description: A list of filespaces.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Filespace'
  /filespaces/{id}:
    x-swagger-router-controller: Filespace
    get:
      tags:
      - filespace
      summary: Retrieve a filespace.
      operationId: getFilespace
      parameters:
      - in: path
        name: id
        description: ID of the filespace to be retrieved.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The filespace object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Filespace'
        '400':
          description: Invalid filespace ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '404':
          description: Filespace not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    delete:
      tags:
      - filespace
      summary: Delete a filespace.
      operationId: deleteFilespace
      parameters:
      - in: path
        name: id
        description: ID of the filespace to be deleted.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Success.
        '400':
          description: Invalid filespace ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '404':
          description: Filespace not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '409':
          description: Cannot delete filespace while in status `provisioning`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
components:
  schemas:
    FilespaceStats:
      required:
      - filespaceSize
      properties:
        usedStorage:
          type: number
          description: '[bytes] Object storage bucket size. Includes snapshots data. Storage is billed based on this metric.'
        filespaceSize:
          type: number
          description: '[bytes] Filespace size as seen by the operating system.'
        getRequestCount:
          type: number
          description: Number of object storage GET requests since Filespace creation.
        getDataSize:
          type: number
          description: '[bytes] Data read from the object storage since Filespace creation.'
        putRequestCount:
          type: number
          description: Number of object storage PUT requests since Filespace creation.
        listRequestCount:
          type: number
          description: Number of object storage LIST requests since Filespace creation.
        deleteRequestCount:
          type: number
          description: Number of object storage DELETE requests since Filespace creation.
        putDataSize:
          type: number
          description: '[bytes] Data written to the object storage since Filespace creation.'
    UnprocessableEntity:
      required:
      - status
      - message
      properties:
        status:
          type: number
          example: 422
        message:
          type: string
    Filespace:
      required:
      - domain
      - name
      - storage
      properties:
        id:
          type: string
          readOnly: true
        domain:
          description: Domain ID.
          type: string
        name:
          type: string
          description: Unique within a domain. Lowercase letters, numbers or hyphens. Minimum 2 chars.
        version:
          type: number
          description: 'Optional filespace version. Possible values are:

            - 3 - without metadata streaming support.

            - 4 - metadata streaming support.

            Default value is 3

            '
        status:
          type: string
          enum:
          - provisioning
          - provisioned
          - initialized
          - error
          readOnly: true
        subscriptionType:
          type: string
          description: 'Optional filespace subscription type. Possible values per storage providers are:

            - ''basic'' - Wasabi storage provider and lucidlink storage owner.

            - ''teams'' or ''enterprise'' - IBM storage provider and lucidlink storage owner. Defaults to ''teams''.

            - ''custom'' - custom storage provider and customer storage owner.

            - ''none'' - used to flag filespaces created prior to Feb 2021.

            '
          enum:
          - custom
          - basic
          - teams
          - enterprise
          - none
        usersCount:
          type: number
          description: Number of provisioned users for this Filespace.
        storage:
          $ref: '#/components/schemas/FilespaceStorage'
        stats:
          allOf:
          - $ref: '#/components/schemas/FilespaceStats'
          readOnly: true
    Conflict:
      required:
      - status
      - message
      properties:
        status:
          type: number
          example: 409
        message:
          type: string
    FilespaceStorage:
      required:
      - provider
      properties:
        owner:
          type: string
          enum:
          - customer
          - lucidlink
        provider:
          type: string
          enum:
          - Azure
          - AWS
          - AWSGovCloud
          - Alibaba
          - GCP
          - Zadara
          - Cloudian
          - DigitalOcean
          - Wasabi
          - Scality
          - Telefonica
          - Exoscale
          - Nutanix
          - Pure
          - Dell
          - IBM
          - Other
        region:
          description: Region is dependent on `provider`
          type: string
        endpoint:
          description: Custom endpoint supported only by `Zadara`, `Cloudian` and `Other` providers.
          type: string
        bucket:
          type: string
          description: Only lowercase letters, numbers, dots or hyphens. Minimum 3 chars.
    NotFound:
      required:
      - status
      - message
      properties:
        status:
          type: number
          example: 404
        message:
          type: string
    BadRequest:
      required:
      - status
      - message
      properties:
        status:
          type: number
          example: 400
        message:
          type: string
  securitySchemes:
    standard:
      type: oauth2
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: https://auth.lucidlink.com/oauth2/token