LucidLink Domain API

Domain operations.

Operations 5

POST /domains Create a domain. #
GET /domains Get a list of domains. #
GET /domains/{id} Retrieve a domain. #
DELETE /domains/{id} Delete a domain. #
PUT /domains/{id} Update a domain. #

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-domain-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-domain-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: LucidLink Service API Reference Domain 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: domain
  description: Domain operations.
paths:
  /domains:
    x-swagger-router-controller: Domain
    post:
      tags:
      - domain
      summary: Create a domain.
      operationId: createDomain
      responses:
        '201':
          description: The domain object that has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
        '400':
          description: Invalid domain name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '409':
          description: Domain name already taken or account has an existing domain.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conflict'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Domain'
        description: Domain object to be created. Domains are globally unique across all LucidLink accounts.
        required: true
    get:
      tags:
      - domain
      summary: Get a list of domains.
      operationId: getDomains
      responses:
        '200':
          description: A list of domains.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Domain'
  /domains/{id}:
    x-swagger-router-controller: Domain
    get:
      tags:
      - domain
      summary: Retrieve a domain.
      operationId: getDomain
      parameters:
      - name: id
        in: path
        description: ID of the domain to be retrieved.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The domain object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
        '400':
          description: Invalid domain ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '404':
          description: Domain not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    delete:
      tags:
      - domain
      summary: Delete a domain.
      operationId: deleteDomain
      parameters:
      - in: path
        name: id
        description: ID of the domain to be deleted.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Success.
        '400':
          description: Invalid domain ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '404':
          description: Domain not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '409':
          description: Domain has filespaces.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conflict'
    put:
      tags:
      - domain
      summary: Update a domain.
      operationId: updateDomain
      parameters:
      - in: path
        name: id
        description: ID of the domain to be updated.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The domain object that has been updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
        '400':
          description: Invalid domain name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '404':
          description: Domain not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '409':
          description: Domain has filespaces.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conflict'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Domain'
        description: Domain object to update with.
        required: true
components:
  schemas:
    NotFound:
      required:
      - status
      - message
      properties:
        status:
          type: number
          example: 404
        message:
          type: string
    Domain:
      required:
      - name
      properties:
        id:
          type: string
          readOnly: true
        name:
          description: Lowercase letters, numbers or hyphens. 3-60 chars.
          type: string
    Conflict:
      required:
      - status
      - message
      properties:
        status:
          type: number
          example: 409
        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