POST
/
domains
/
branded
Create Branded Domain
curl --request POST \
  --url https://jmpy.me/api/v1/domains/branded \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "domain": "<string>",
  "name": "<string>",
  "description": "<string>",
  "is_dedicated": true
}
'
{
  "id": "<string>",
  "domain": "<string>",
  "is_verified": true,
  "verification": {},
  "created_at": "<string>"
}
Register your own domain for branded short URLs. You can register distinct domains (e.g., mycompany.com) or specific subdomains (e.g., go.mycompany.com).
DNS Configuration Required: After adding a branded domain, you must configure DNS records to point to Jmpy.me servers. See the verification instructions in the response.
Why use branded domains?
  • Full brand control: Your company domain on every link
  • Trust: Users see your domain, increasing click-through rates
  • Custom alias scoping: Same alias can exist on different branded domains
  • Branded Subdomains: You can explicitly register branded subdomains like go.mycompany.com just like you would a root domain.
  • Professional appearance: Enterprise-grade link management

Body Parameters

domain
string
required
The domain name to register.Requirements:
  • 3-255 characters
  • Valid domain format
  • Cannot use jmpy.me or subdomains of it
  • You must own or control this domain
Examples: mycompany.com, go.mycompany.com, links.mysite.org
name
string
Optional display name for the domain.Constraints: 1-100 characters
description
string
Optional description for the domain.Constraints: Max 500 characters
is_dedicated
boolean
default:false
Whether this is a dedicated root domain (requires additional DNS setup).

Response

id
string
Unique identifier for the branded domain (UUID).
domain
string
The registered domain name.
is_verified
boolean
Whether the domain is verified via DNS.
verification
object
DNS verification details including:
  • cname_target: The CNAME record target
  • txt_record: The TXT verification record
  • instructions: Step-by-step verification guide
created_at
string
ISO 8601 timestamp of creation.

Request Examples

curl -X POST "https://jmpy.me/api/v1/domains/branded" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "go.mycompany.com",
    "name": "MyCompany Short Links",
    "description": "Official company link shortener"
  }'

Response Examples

{
  "success": true,
  "data": {
    "id": "990e8400-e29b-41d4-a716-446655440000",
    "domain": "go.mycompany.com",
    "name": "MyCompany Short Links",
    "is_verified": false,
    "verification": {
      "cname_target": "redirect.jmpy.me",
      "txt_record": "jmpy-verify=abc123xyz789",
      "instructions": [
        "1. Go to your DNS provider",
        "2. Add a CNAME record: go.mycompany.com → redirect.jmpy.me",
        "3. Add a TXT record: _jmpy.go.mycompany.com → jmpy-verify=abc123xyz789",
        "4. Wait for DNS propagation (up to 48 hours)",
        "5. Use the verify endpoint to complete setup"
      ]
    },
    "url_count": 0,
    "created_at": "2024-01-15T10:30:00.000Z"
  }
}

DNS Setup Guide

1

Add CNAME Record

Point your subdomain to Jmpy.me:
TypeNameValue
CNAMEgoredirect.jmpy.me
For root domains, use an ALIAS or ANAME record if your DNS provider supports it.
2

Add TXT Verification Record

Prove domain ownership:
TypeNameValue
TXT_jmpy.gojmpy-verify=abc123xyz789
The exact value is provided in the API response.
3

Wait for DNS Propagation

DNS changes can take up to 48 hours to propagate globally. You can check propagation at whatsmydns.net.
4

Verify the Domain

Call the Verify Domain endpoint to complete setup.

Verify Domain

Complete domain verification after DNS setup

List Domains

View all your registered domains

Create Short URL

Create links on your branded domain

Delete Domain

Remove a registered domain