Skip to main content
OpenAPI

Domains and Egress IPs

Query Qoder's access domains and public egress IPs for the current environment to configure firewall, IP, or domain allowlists.

This endpoint provides public information and requires no authentication, API key, or organization ID.
Review OpenAPI Conventions before calling this endpoint.

Overview

Use the service network metadata endpoint to retrieve the active access domains and public egress IPs for the current environment when configuring network allowlists.
  • Egress IPs: An environment may use multiple egress IPs. Allow every address returned in egressIps.
  • Access domains: Configure your domain allowlist using domains[].pattern, which supports exact domains and *. wildcard domains. details only provides additional domains and their purposes, may be omitted, and must not be treated as a complete domain list.
  • Updates: Once network metadata changes take effect, the endpoint returns the new values without requiring integration changes. Responses include Cache-Control: no-store. Do not cache results long-term; update your allowlist using the latest response.

API list

Query domains and egress IPs

GET /v1/public/meta This endpoint replaces the deprecated GET /v1/public/egress-ips. Path parameters, query parameters (including pagination parameters), and request bodies are not accepted. Supplying query parameters or a request body returns 400 BadRequest.

Example request

curl --silent --show-error "https://api.qoder.com/v1/public/meta"

Success response (200 OK)

The IPs and domains below illustrate the response format only. Use the actual response to configure your allowlist.
{
  "egressIps": [
    {
      "ip": "203.0.113.10",
      "ipVersion": "IPv4"
    },
    {
      "ip": "2001:db8::1",
      "ipVersion": "IPv6"
    }
  ],
  "domains": [
    {
      "pattern": "*.example.com",
      "details": [
        {
          "domain": "api.example.com",
          "purpose": "Service API domain"
        }
      ]
    },
    {
      "pattern": "example.com"
    }
  ]
}
FieldTypeRequiredDescription
egressIpsarrayYesAll active service egress IPs, sorted by address and deduplicated
egressIps[].ipstringYesNormalized IP address
egressIps[].ipVersionstringYesAddress version: IPv4 or IPv6, derived from the address
domainsarrayYesActive coarse-grained domain list; returns an empty array [] when no domains are configured
domains[].patternstringYesExact domain or *. wildcard domain recommended for your allowlist
domains[].detailsarrayNoFine-grained domain details under pattern; omitted when unconfigured or empty
domains[].details[].domainstringYesFine-grained exact domain or *. wildcard domain
domains[].details[].purposestringNoPurpose of the fine-grained domain; omitted when unconfigured or empty
Exact and wildcard domains are trimmed and converted to lowercase. purpose is trimmed. domains and details are returned in platform configuration order.

Errors

Errors use the standard response format described in OpenAPI Conventions. The requestId matches the X-Request-ID response header.
HTTP statusError codeCommon cause
400BadRequestQuery parameters or a request body supplied
503InternalErrorNetwork metadata configuration has not loaded or is temporarily unavailable
Example 503 InternalError response:
{
  "requestId": "req_example",
  "code": "InternalError",
  "message": "service meta is not available"
}
Unavailable configuration does not produce an empty egress IP list. Treat this as a failed query, not as an indication that no addresses need to be allowed.