Skip to content

Custom domain name

You can attach a custom domain name to an API served via Project X API Gateway, so that, instead of the domain name assigned to your API by Project X (like https://<subdomain>.c1-eu-nmbg-hz.projectx.biz/), users access your API via the domain name owned by you.

Warning

In order to successfully complete the setup, you must be able to edit DNS records of the domain name.

Setting up a custom domain name

To start, navigate to APIs → choose an API → API Settings.

Scroll the page down to the Custom domain name section.

Here, enter the domain name you'd like to use for your API.

By clicking "Submit" you initiate a domain ownership verification process.

Ownership verification

To verify ownership, you need to add two DNS records.

  • a TXT record for the base domain with a unique value generated by Project X
  • a CNAME record for the desired subdomain referencing the Project X API Gateway's domain name, gw.projectx.biz.

In this example we're attaching api.myfirstapi.com, so the two records to add to myfirstapi.com are:

Type:      TXT
Name:      @
TTL:       3600
Text Data: projectx_verification_8KcfbFwYGieHpqTY8kVmGA.wD8tvwHe3YyVgG9WScYFfM
Type:           CNAME
Alias:          api
TTL:            3600
Canonical Name: gw.projectx.biz

After you've added the records, click on the "Check DNS propagation status" and make sure that the records have propagated to the most servers.

Then click "Verify DNS records" to make Project X verify the ownership and issue a SSL certificate.

Once the SSL certificate is issued, the status is updated:

And your custom domain name is displayed everywhere instead of the standard access URL assigned by Project X:

Path prefix

If you plan to use the same domain name for several APIs, you need to specify the path prefix.

In case several APIs are configured to be served on the same domain name, Project X API Gateway, just like many other API Gateways, will use the path prefix to distinguish between them.

Example

Let's say you plan to set up Weather API and Currency API with Project X on the same domain name api.myapi.com.

You'll have to set different path prefixes for them in the Custom domain name section.

For Weather API:

    Custom domain name: api.myapi.com
    Path prefix: /weather/

When the user makes a call to https://api.myapi.com/weather/current.json, the request is forwarded to Weather API.

For currency API:

    Custom domain name: api.myapi.com
    Path prefix: /currency/

If the user makes a call to https://api.myapi.com/currency/eur/usd, the request is proxied to Currency API.

The path prefix is stripped from the request URL before Project X proxies the request to your API backend.

Example

If Weather API from the previous example has a base URL

https://weather.execute-api.eu-central.amazonaws.com/,

then the request

GET https://api.myapi.com/weather/current.json

is actually proxied to the backend as

GET https://weather.execute-api.eu-central.amazonaws.com/current.json

Note that the /weather part was removed from the request URL.

SSL certificate

Once the domain ownership verification succeeds, Project X issues an SSL certificate for the domain name. The process is automatic and can take up to 10 minutes.

Once that's done, the new URL starts being displayed everywhere: on the checkout page, in the self-service portal, etc.

Project X takes care of renewing the certificate when it approaches the expiration date.