POST
https://jmpy.me/api/v1
/
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.