Apidog Docs
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
Discord Community
Slack Community
X / Twitter
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
  1. Publish API Docs
  • Apidog Learning Center
  • Getting Started
    • Introduction to Apidog
    • Basic Concepts in Apidog
    • Navigating Apidog
    • Quick Start
      • Overview
      • Creating an Endpoint
      • Making a Request
      • Adding an Assertion
      • Creating Test Scenarios
      • Sharing API Documentation
      • Explore More
    • Migration to Apidog
      • Overview
      • Manual Import
      • Scheduled Import (Bind Data Sources)
      • Import Options
      • Export Data
      • Import From
        • Import from Postman
        • Import OpenAPI Spec
        • Import cURL
        • Import Markdowns
        • Import from Insomnia
        • Import from apiDoc
        • Import .har File
        • Import WSDL
  • Design APIs
    • Overview
    • Create a New API Project
    • Endpoint Basics
    • APl Design Guidelines
    • Module
    • Configure Multiple Request Body Examples
    • Components
    • Common Fields
    • Global Parameters
    • Endpoint Change History
    • Comments
    • Batch Endpoint Management
    • Custom Protocol API
    • Schemas
      • Overview
      • Create a New Schema
      • Build a Schema
      • Generate Schemas from JSON Etc
      • oneOf, allOf, anyOf
      • Using Discriminator
    • Security Schemes
      • Overview
      • Create a Security Scheme
      • Use the Security Scheme
      • Security Scheme in Online Documentation
    • Advanced Features
      • Custom Endpoint Fields
      • Associated Test Scenarios
      • Endpoint Status
      • Appearance of Parameter Lists
      • Endpoint Unique Identification
  • Develop and Debug APIs
    • Overview
    • Generating Requests
    • Sending Requests
    • Debugging Cases
    • Test Cases
    • Dynamic Values
    • Validating Responses
    • Design-First vs Request-First
    • Generating Code
    • Environments & Variables
      • Overview
      • Environment Management
      • Using Variables
    • Vault Secrets
      • Overview
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Pre and Post Processors
      • Assertion
      • Extract Variable
      • Wait
      • Overview
      • Database Operations
        • Overview
        • MySQL
        • MongoDB
        • Redis
        • Oracle Client
      • Using Scripts
        • Overview
        • Pre Processor Scripts
        • Post Processor Scripts
        • Public Scripts
        • Postman Scripts Reference
        • Calling Other Programming Languages
        • Using JS Libraries
        • Visualizing Responses
        • Script Examples
          • Assertion Scripts
          • Using Variables
          • Modifying Requests
          • Other Examples
    • Dynamic Values Modules
  • Mock API Data
    • Overview
    • Smart Mock
    • Custom Mock
    • Mock Priority Sequence
    • Mock Scripts
    • Cloud Mock
    • Self-Hosted Runner Mock
    • Mock Language (Locales)
  • API Testing
    • Overview
    • Test Scenarios
      • Create a Test Scenario
      • Pass Data Between Requests
      • Flow Control Conditions
      • Sync Data from Endpoints and Endpoint Cases
      • Import Endpoints and Endpoint Cases from Other Projects
      • Export Test Scenarios
    • Run Test Scenarios
      • Run a Test Scenario
      • Run Test Scenarios in Batch
      • Manage Runtime Environment of APIs from Other Projects
      • Data-Driven Testing
      • Scheduled Tasks
    • Test Suite
      • Overview
      • Create A Test Suite
      • Orchestrate Test Suite
      • Run Test Suites Locally
      • Run Test Suites Via CLI
      • Scheduled tasks
    • Test Reports
      • Test Reports
    • Test APIs
      • Integration Testing
      • Performance Testing
      • End-to-End Testing
      • Regression Testing
      • Contract Testing
    • Apidog CLI
      • Overview
      • Installing and Running Apidog CLI
      • Apidog CLI Options
    • CI CD
      • Overview
      • Integrate with Gitlab
      • Integrate with Jenkins
      • Trigger Test by Git Commit
      • Integrate with Github Actions
  • Publish API Docs
    • Overview
    • API Technologies Supported
    • Quick Share
    • Viewing API Documentation
    • Markdown Documentation
    • Publishing Documentation Sites
    • Custom Layouts
    • Custom CSS, JavaScript, HTML
    • Custom Domain
    • LLM-Friendly Features
    • SEO Settings
    • Advanced Settings
      • Documentation Search
      • CORS Proxy
      • Integrating Google Analytics with Doc Sites
      • Folder Tree Settings
      • Visibility Settings
      • Embedding Values in Document URLs
    • API Versions
      • Overview
      • Creating API Versions
      • Publishing API Versions
      • Sharing Endpoints with API Versions
  • Send Requests
    • Overview
    • SSE Debugging
    • MCP Client
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP or WebService
    • GraphQL
    • gRPC
    • Use Request Proxy Agents for Debugging
    • Create Requests
      • Request History
      • Request Basics
      • Parameters and Body
      • Request Headers
      • Request Settings
      • Debug Requests
      • Saving Requests as Endpoints
      • HTTP/2
    • Response and Cookies
      • Viewing API Responses
      • Managing Cookies
      • Overview
    • Authentication and Authorization
      • Overview
      • CA and Client Certificates
      • Authorization Types
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk Authentication
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
  • Branches
    • Overview
    • Creating a Sprint Branch
    • Testing APIs in a Branch
    • Designing APIs in a Branch
    • Merging Sprint Branches
    • Managing Sprint Branches
  • AI Features
    • Overview
    • Enabling AI Features
    • Generating Test Cases
    • Modifying Schemas with AI
    • Endpoint Compliance Check
    • API Documentation Completeness Check
    • AI-Powered Field Naming
    • FAQs
  • Apidog MCP Server
    • Overview
    • Connect Apidog Project to AI
    • Connect Published Documentation to AI
    • Connect OpenAPI Files to AI
  • Best Practices
    • Handling API Signatures
    • Accessing OAuth 2.0 Protected APIs
    • Collaboration Workflow
    • Managing Authentication State
  • Offline Space
    • Overview
  • Administration
    • Managing Teams
      • Managing Teams
      • Managing Team Members
      • Member Roles & Permission Settings
      • Team Activities
      • Team Resources
        • General Runner
        • Team Variables
        • Request Proxy Agent
      • Real-time Collaborations
        • Team Collaboration
    • Onboarding Checklist
      • Basic Concepts
      • Onboarding Guide
    • Managing Projects
      • Managing Projects
      • Managing Project Members
      • Notification Settings
      • Project Resources
        • Database Connection
        • Git Connection
    • Managing Organization
      • Managing Organization
      • Single Sign-On (SSO)
        • SSO Overview
        • Configuring Microsoft Entra ID
        • Configuring Okta
        • Configuring SSO for an Organization
        • Managing User Accounts
        • Mapping Groups to Teams
      • SCIM Provisioning
        • Introduction to SCIM Provisioning
        • Microsoft Entra ID
        • Okta
      • Plans Management
        • Billing Managers in Organizations
      • Organization Resources
        • Self-Hosted Runner
  • Billing
    • Overview
    • Credits
    • Unable to use credit cards
    • Managing subscriptions
    • Upgrade plan
    • How to move a paid team to a organization
  • Data & Security
    • Apidog data storage location and security
    • User data privacy and storage location
    • Request routing and data security
  • Add-ons
    • API Hub
    • Apidog Intellij IDEA plugin
    • Browser Extension
      • Chrome
      • Microsoft Edge
    • Request Proxy
      • Request proxy in Apidog web
      • Request proxy in shared docs
      • Request proxy in Apidog client
  • Account & preferences
    • Account settings
    • Generate OpenAPI access token
    • Notification
    • Language settings
    • Hot keys
    • Network proxy configuration
    • Data backup
    • Updating Apidog
    • Deleting account
    • Experimental Features
  • References
    • API-Design First Approach
    • Apidog OpenAPI Specificaiton Extensions
    • JSONPath
    • XPath
    • Regular Expressions
    • JSON Schema
    • CSV File Format
    • Install Java Environment
    • Runner deployment environment
    • Apidog flavored Markdown
  • Apidog Europe
    • Apidog Europe
  • Support Center
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
Discord Community
Slack Community
X / Twitter
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
  1. Publish API Docs

Custom Domain

Professional API documentation deserves a professional domain. By default, Apidog documentation is accessible on a [subdomain].apidog.io domain. However, you can customize this by setting up your own domain, allowing your audience to access documentation on a domain that aligns with your organization's branding.

Prerequisites#

Before setting up a custom domain, ensure you have:
Admin permissions for the Apidog project
Ownership or control of the domain you want to use
Access to your domain's DNS settings
(For Reverse Proxy method) Familiarity with CDN or reverse proxy configuration

Initiating Custom Domain Setup#

To access custom domain settings, navigate to the Publish Docs menu in the sidebar, then go to the Publish settings page. You'll find a Custom Domain section where you can click the Edit button to begin setup.
CleanShot 2025-12-29 at 17.31.22@2x.png

Custom Domain Setup Methods#

There are two types of options for setting a custom domain:
1.
CNAME (Recommended): The easiest to set up and maintain. Works for both subdomains and root domains, providing maximum flexibility
2.
Reverse Proxy (Advanced): Requires using a Content Delivery Network (CDN) or setting up a reverse proxy on your own server. Recommended for users familiar with these technologies

Configuring CNAME#

Applicability
This section is only applicable if you selected the CNAME option in the previous step.
Configuring DNS happens outside of Apidog, at the DNS provider you are using for your domain.
There are two parts to this step:
1.
Configure a CNAME record
2.
Wait for the changes to take effect

Configure a CNAME Record#

The field names and configuration steps may differ between DNS control panels, but the core concepts remain the same. If you're uncertain, verify with your DNS provider.
The type is the kind of DNS record that you want to create. Here, you need to choose CNAME.
The name or DNS entry is where you enter your subdomain. You might need to enter it in full (e.g. docs.example.com) or you might just need to enter the part before your apex domain (e.g. docs). If you’re not sure which to use, check with your DNS provider.
The target or value or destination is where the subdomain should be pointed. You should see the value for this in the Publish settings in Apidog when you choose the DNS CNAME option. It will look something like {docsSiteId}.apidog.io. You should enter this value in full (e.g. 12345678.apidog.io).
You might also see a field named TTL, which stands for Time To Live. It’s the number of seconds that the DNS record can be cached for. If you’re not sure what to set, we suggest select Auto or remain default value.
Here’s an example of how a correct configuration looks in Cloudflare’s control panel:
Note: CNAME record cannot co-exist with another record for the same name. If you already have an A record, AAAA record, TXT record, or any other type of record for your chosen subdomain, you would need to remove those first, before adding the CNAME record.
Are you using Cloudflare?
If you are configuring DNS in Cloudflare’s control panel, please ensure that Cloudflare’s proxying (the orange cloud, also called "Proxy status" in your domain settings) is disabled. This is for two reasons:
This option obfuscates the DNS target for your domain to the public, preventing Apidog from properly running routine checks on your custom domain.
Your custom domain will already benefit from CDN.
Again, please turn off Cloudflare proxying to ensure that your documentation is served without issues.

Wait for Changes to Take Effect#

The short answer: you might need to wait 10 minutes ~ 48 hours for the DNS changes to take effect before moving onto the next step.
Remember the TTL (Time To Live) field we mentioned earlier? DNS records are cached for a period of time — which is usually a very good thing for performance reasons, because they typically don’t change very often. When they do change, there is a period of time (the TTL value) where DNS cache servers need their cache to expire before they will check for any changes and behave accordingly.
In most cases, it’s best to allow at least 10 minutes before moving onto the next and final step. Sometimes it could all update a bit more quickly, or it could take longer. It’s rare for this to take longer than 48 hours.
Want to check how this process, known as propagation, is progressing? You could use a DNS lookup tool, such as WhatsMyDNS. Enter your full subdomain, select CNAME from the dropdown list, and press the Search button. DNS cache servers around the world will respond to let you know what their cached result is. You’ll want to periodically check these results until the vast majority respond with your assigned CNAME value.

Configuring CDN or Your Own Reverse Proxy Server#

Applicability
This section is only applicable if you selected the Reverse Proxy option in the previous step.

Configure AWS CloudFront as Reverse Proxy#

You can utilize the CDN service provided by cloud vendors like AWS CloudFront, Cloudflare Enterprise to set it up as your own reverse proxy server.
In the following example, we will configure AWS CloudFront as Reverse Proxy.
1.
Log in to AWS, and navigate to CloudFront. Click Create Distribution.
2.
Configure your distribution settings. Here are the values you'll need to change.
SettingsValue
Origin Domain NameSet to {docsSiteId}.apidog.io
NameA description for the origin. This value lets you distinguish between multiple origins in the same distribution and therefore must be unique.
Origin Protocol PolicySet to HTTP Only
Alternate Domain Names (CNAMEs)Set to your custom domain name (the same one your configured in the Publish settings during the custom domain setup)
SSL CertificateSet to the SSL Certificate for your custom domain stored in AWS Certificate Manager (ACM).
3.
Provide information on the Origin Custom Headers (the Header Name and Value fields appear only after you've provided an Origin Domain Name)
Header NameValue
X-Apidog-Docs-Site-IDSet to {docsSiteId}
{docsSiteId} is your Docs Site ID, which can be found in the custom domain panel. Please make sure to enter the correct ID.
4.
Configure the Default Cache Behavior Settings. Here are the values you'll need to change.
SettingValue
Viewer Protocol PolicySelect Redirect HTTP to HTTPS
Allowed HTTP MethodsSelect GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE.
Cache and origin request settingsSelect Use legacy cache settings. Select All for Headers, Query strings and Cookies
5.
Do not enable AWS Web Application Firewall (WAF).
6.
Click Create distribution at bottom of the page. You'll see your newly-created distribution in your CloudFront Distributions list. Note that the Status will reflect In progress until the distribution is Deployed.
7.
Add a new CNAME record to your DNS for your custom domain pointing to the CloudFront Domain Name for your Distribution. This can be found by clicking on your Distribution ID, under the General tab, Distribution domain name (for example, fd1fbc7cac6197.cloudfront.net).

Configuring Your Own Reverse Proxy Server#

You can configure your own reverse proxy server for your API documentation. In the following example, we will use Nginx as the reverse proxy server.
1.
Add the following content to the Nginx configuration file for simple configuration.
Caddy configuration example:
:8080 {
    handle_path /* {
        reverse_proxy http://{docsSiteId}.apidog.io {
            header_up X-Apidog-Docs-Site-ID {docsSiteId}
            header_up Host "docs.example.com"
        }
    }
}
{docsSiteId} is your Docs Site ID, which can be found in the custom domain panel. Please make sure to enter the correct ID.
2.
Configure DNS record for your custom domain name to point to your reverse proxy server.

Deploying API Documents to a Subdirectory of a Custom Domain#

Apidog's Reverse Proxyallows API documents to be deployed to a subdirectory of a custom domain. For instance, you can deploy the documentation to the /api-docs path on a domain like https://example.com. When users visit https://example.com/api-docs, they will be accessing the online API documentation hosted by Apidog.

Configuration Steps:#

1.
On Apidog's Custom Domain setting page, enter your custom domain.
2.
Select Reverse Proxy and enable Use Subdirectory, then enter the subdirectory path.
3.
Next, you'll need to modify the configuration file of your web server. Assuming you're using Nginx to proxy your service, you can refer to the following configuration:
proxy_pass: Forward client requests to another server (such as Apidog’s API documentation server).
proxy_set_header: Set request headers sent by the proxy server to the upstream server, ensuring the request is properly handled.
/api-docs/ is the subdirectory of the custom domain, and it must end with a / in the Nginx configuration.
http://{docsSiteId}.apidog.io/ must also end with a /.
Replace {docsSiteId} with your Apidog doc site ID.
docs.example.com is a sample custom domain. Replace it with your actual custom domain.
After configuration, you need to restart Nginx on your server.

Enable HTTPS#

Apidog's online documentation supports the HTTPS protocol, which has several advantages over HTTP:
Secure data transmission: HTTPS uses SSL/TLS encryption to ensure the security of data transmission, preventing third parties from intercepting information.
SEO optimization: Search engine crawlers prefer to use HTTPS because it offers better security and privacy protection. Therefore, HTTPS websites may have higher authority in search engine rankings than HTTP websites.

Steps to Enable HTTPS:#

1.
Go to the Publish page and open the Custom Domain tab.
2.
Switch on HTTPS to enable HTTPS, and optionally, you can enable Always Use HTTPS to prevent communication from being hijacked or man-in-the-middle attacks.

SSL Certificate Management#

Once HTTPS is enabled, you can choose how to manage your SSL certificate:
Generated by Apidog: Apidog will automatically generate an SSL certificate.
Use Your Own Certificate: You can upload an SSL certificate and private key issued by a certificate authority(e.g., Let's Encrypt).

Troubleshooting#

If you are having issues setting up your custom domain, please contact us via Discord.

Are You Using Apidog Europe?#

If you are using Apidog Europe, please ensure that you are using the correct domain for your custom domain setup.
The correct domain for Apidog Europe in previous setup is {docsSiteId}.eu.apidog.com.
Modified at 2026-01-21 04:09:01
Previous
Custom CSS, JavaScript, HTML
Next
LLM-Friendly Features
Built with