Zoca Domain Transfer API

The Domain Transfer API from Zoca — 5 operation(s) for domain transfer.

Operations 5

POST /domain-transfer/initiate Initiate domain transfer process #
POST /domain-transfer/aggregate-domains Aggregate multiple domains for certificate #
GET /domain-transfer/status/{certificateArn} Get domain transfer status #
POST /domain-transfer/zoca-certificate/add-domain Add domain to zoca.com certificate #
POST /domain-transfer/kvs/add-entries Add CloudFront KVS entries for domain mapping #

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/zoca-domain-transfer-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

zoca-domain-transfer-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Zoca Platform Domain Transfer API
  description: 'The Zoca platform API behind the Zoca web app and mobile apps: scheduling, website generation, Google Business Profile, discovery/local SEO, social media, booking enquiries, offers, clients, staff, billing and the Zoca "brain" agent layer.'
  version: 3.20.10
  contact: {}
  x-apievangelist-note: Harvested verbatim from https://api.zoca.ai/swagger.json. The provider ships the default NestJS Swagger metadata (title "API Documentation", empty servers[]); title/description/servers were set by API Evangelist for identification and the unmodified original is preserved at openapi/_original/zoca-platform-swagger.json. Every path, operation, summary, parameter and response is exactly as published.
servers:
- url: https://api.zoca.ai
  description: Production
tags:
- name: Domain Transfer
paths:
  /domain-transfer/initiate:
    post:
      description: Start the domain transfer process with ACM certificate creation and Route53 setup. Automatically fetches all active domains from custom_domains table and combines them with payload domains. Supports both subdomain transfers (CloudFront only) and full domain transfers (Route53 hosted zone creation). For full domain transfers, automatically creates hosted zone, A records, and CNAME validation records. Primary domain is added as-is (e.g., dev.com) along with its wildcard (*.dev.com). Additional full domains (e.g., example.com) are added with their wildcards (*.example.com), while subdomains (e.g., www.example.com) are added without wildcards. All additional domains from payload are registered in custom_domains table as active. Certificate details are stored in acm_certificates table.
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e'
      responses:
        '200':
          description: Domain transfer initiated successfully with certificate and DNS configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid input data or exceeds ACM limit of 100 domains
        '500':
          description: Failed to initiate domain transfer
      security:
      - bearer: []
      summary: Initiate domain transfer process
      tags:
      - Domain Transfer
  /domain-transfer/aggregate-domains:
    post:
      description: Aggregate multiple subdomains and variations for SSL certificate creation
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e'
      responses:
        '200':
          description: Domains aggregated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid domain data
      security:
      - bearer: []
      summary: Aggregate multiple domains for certificate
      tags:
      - Domain Transfer
  /domain-transfer/status/{certificateArn}:
    get:
      description: Check the current status of a domain transfer by certificate ARN
      operationId: t_value
      parameters:
      - name: certificateArn
        required: true
        in: path
        description: The ARN of the certificate to check
        schema:
          example: arn:aws:acm:us-east-1:123456789:certificate/abc-123
      responses:
        '200':
          description: Domain transfer status retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '404':
          description: Certificate not found
      security:
      - bearer: []
      summary: Get domain transfer status
      tags:
      - Domain Transfer
  /domain-transfer/zoca-certificate/add-domain:
    post:
      description: Automatically fetches the latest zoca.com certificate, filters out inactive domains from custom_domains table, and creates a new certificate with all active domains plus the new domain(s)
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e'
      responses:
        '201':
          description: Domain added successfully and new certificate created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid domain data or exceeds ACM limit of 100 SANs
        '500':
          description: Failed to create certificate
      security:
      - bearer: []
      summary: Add domain to zoca.com certificate
      tags:
      - Domain Transfer
  /domain-transfer/kvs/add-entries:
    post:
      description: 'Creates CloudFront KeyValueStore entries to map a custom domain to an internal subdomain. Creates two entries: one for the domain (e.g., example.com) and one for www subdomain (e.g., www.example.com), both pointing to the specified internal subdomain. These mappings are used by CloudFront functions to route requests from custom domains to their corresponding internal Zoca subdomains.'
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e'
      responses:
        '200':
          description: KVS entries created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid domain or internal subdomain format
        '500':
          description: Failed to create KVS entries
      security:
      - bearer: []
      summary: Add CloudFront KVS entries for domain mapping
      tags:
      - Domain Transfer
components:
  schemas:
    e:
      type: object
      properties:
        id:
          type: number
        entityId:
          type: string
        attribute:
          type: string
        value:
          type:
          - object
          - 'null'
        metadata:
          type:
          - object
          - 'null'
        createdAt:
          type:
          - object
          - 'null'
      required:
      - id
      - entityId
      - attribute
  securitySchemes:
    access-token:
      scheme: bearer
      bearerFormat: JWT
      type: http
      name: Authorization
      description: Enter JWT token in the format Bearer <token>
      in: header