10Web Domain API

Operations for domain management

Operations 4

GET /v1/hosting/websites/{website_id}/domain-name Get domain names for a website
POST /v1/hosting/websites/{website_id}/domain-name Add a domain name to a website
POST /v1/hosting/websites/{website_id}/domain-name/{domain_name_id}/default Set default domain name for a website
DELETE /v1/hosting/websites/{website_id}/domain-name/{domain_name_id}/delete Delete a domain name from a website

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/10web-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 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

10web-domain-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 10Web API V1 Account Domain API
  description: 'The 10Web API provides a comprehensive set of endpoints for managing websites, DNS zones, domains, SSL certificates, backups, and more. This RESTful API allows you to integrate 10Web''s powerful hosting and website management capabilities into your own applications.

    '
servers:
- url: https://api.10web.io
tags:
- name: Domain
  description: Operations for domain management
paths:
  /v1/hosting/websites/{website_id}/domain-name:
    get:
      summary: Get domain names for a website
      tags:
      - Domain
      parameters:
      - $ref: '#/components/parameters/WebsiteId'
      - $ref: '#/components/parameters/Authorization'
      responses:
        '200':
          description: List of domain names
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebsiteDomainNameListResponse'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
    post:
      summary: Add a domain name to a website
      tags:
      - Domain
      parameters:
      - $ref: '#/components/parameters/WebsiteId'
      - $ref: '#/components/parameters/Authorization'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddDomainNameRequest'
      responses:
        '200':
          description: Domain name added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddDomainNameResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /v1/hosting/websites/{website_id}/domain-name/{domain_name_id}/default:
    post:
      summary: Set default domain name for a website
      tags:
      - Domain
      parameters:
      - $ref: '#/components/parameters/WebsiteId'
      - $ref: '#/components/parameters/DomainNameId'
      - $ref: '#/components/parameters/Authorization'
      responses:
        '200':
          description: Default domain name set successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetDefaultDomainNameResponse'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /v1/hosting/websites/{website_id}/domain-name/{domain_name_id}/delete:
    delete:
      summary: Delete a domain name from a website
      tags:
      - Domain
      parameters:
      - $ref: '#/components/parameters/WebsiteId'
      - $ref: '#/components/parameters/DomainNameId'
      - $ref: '#/components/parameters/Authorization'
      responses:
        '200':
          description: Domain name deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  parameters:
    DomainNameId:
      name: domain_name_id
      in: path
      required: true
      schema:
        type: integer
    WebsiteId:
      name: website_id
      in: path
      required: true
      schema:
        type: integer
    Authorization:
      name: x-api-key
      in: header
      required: true
      schema:
        type: string
      description: API key for authentication
      example: API_KEY
  schemas:
    AddDomainNameResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - ok
          - error
        data:
          type: object
          properties:
            domain_name:
              type: string
              description: The added domain name
            id:
              type: integer
              description: The ID of the added domain name
            message:
              type: string
              description: A success message
            nameservers:
              type: string
              description: JSON string containing an array of nameserver addresses
            status:
              type: string
              enum:
              - ok
              - error
              description: Status of the operation
      example:
        status: ok
        data:
          domain_name: https://testdomain.com
          id: 16461
          message: Domain name successfully saved
          nameservers: '["NS1", "NS2", "NS3", "NS4"]'
          status: ok
    StatusResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - ok
          - error
      example:
        status: ok
    WebsiteDomainNameListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WebsiteDomainNameItem'
      example:
        data:
        - admin_url: https://regular-herring.10web.club/wp-admin
          created_at: '2024-09-23 07:08:47'
          default: 1
          website_id: 15354
          id: 16194
          name: regular-herring.10web.club
          scheme: https
          site_url: https://regular-herring.10web.club
          updated_at: '2024-09-23 07:08:47'
        - admin_url: https://testdomain.com/wp-admin/
          created_at: '2024-10-10 11:17:04'
          default: 0
          website_id: 15354
          id: 16461
          name: testdomain.com
          scheme: http
          site_url: https://testdomain.com
          updated_at: '2024-10-10 11:17:04'
    AddDomainNameRequest:
      type: object
      required:
      - domain_name
      properties:
        domain_name:
          type: string
          description: Domain name to add (valid domain name format)
    SetDefaultDomainNameResponse:
      type: object
      properties:
        domain_name:
          type: string
          description: The domain name set as default
        message:
          type: string
          description: A success message
        status:
          type: string
          enum:
          - ok
          - error
          description: Status of the operation
      example:
        domain_name: https://testdomain.com
        message: Domain name successfully set as default
        status: ok
    WebsiteDomainNameItem:
      type: object
      properties:
        admin_url:
          type: string
          description: URL for the admin panel
        created_at:
          type: string
          format: date-time
          description: Creation date and time
        default:
          type: integer
          enum:
          - 0
          - 1
          description: Whether this is the default domain (1) or not (0)
        website_id:
          type: integer
          description: ID of the website to which the domain name belongs
        id:
          type: integer
          description: Unique identifier for the domain name
        name:
          type: string
          description: The domain name
        scheme:
          type: string
          enum:
          - http
          - https
          description: The URL scheme used
        site_url:
          type: string
          description: Full URL of the site
        updated_at:
          type: string
          format: date-time
          description: Last update date and time
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                - error
              message:
                type: string
                example: Invalid request parameters
    TooManyRequests:
      description: Too many requests
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                - error
              message:
                type: string
                example: Too many requests. Please try again later.
    InternalServerError:
      description: Something went wrong
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                - error
              message:
                type: string
                example: Something went wrong
    Unauthorized:
      description: Unauthorized access
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                - error
              message:
                type: string
                example: Unauthorized access