Skip to main content
The Domains API allows you to create, manage, and verify custom domains for your shortened links. Custom domains enable you to use your own branded URLs instead of the default taap.it domain.

Base URL

https://api.taap.it/v1/domains

Create Domain

Create a new custom domain for your workspace.
curl -X POST 'https://api.taap.it/v1/domains' \
  -H 'Authorization: Bearer taapit_your_api_key_here' \
  -H 'Content-Type: application/json' \
  -d '{
    "domain": "links.yourcompany.com",
    
    "description": "Custom domain for marketing links"
  }'
{
  "id": "domain_987654321",
  "domain": "links.yourcompany.com",
  
  "description": "Custom domain for marketing links",
  "is_verified": false,
  "verification_status": {
    "dns_configured": false,
    "cname_added": false
  },
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z"
}
domain
string
required
The custom domain name (e.g., “links.yourcompany.com”)
description
string
Optional description for the domain

List Domains

Retrieve a paginated list of domains for your account.
curl -X GET 'https://api.taap.it/v1/domains?page=1&page_size=10' \
  -H 'Authorization: Bearer taapit_your_api_key_here'
{
  "items": [
    {
      "id": "domain_987654321",
      "domain": "links.yourcompany.com",
      
      "description": "Custom domain for marketing links",
      "is_verified": true,
      "verification_status": {
        "dns_configured": true,
        "cname_added": true
      },
      "created_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z"
    }
  ],
  "page": 1,
  "page_size": 10,
  "has_next": false,
  "has_prev": false,
  "next_cursor": null,
  "prev_cursor": null
}
page
integer
default:"1"
Page number for pagination
page_size
integer
default:"10"
Number of items per page (max 100)
cursor
string
Cursor for cursor-based pagination

Get Domain

Retrieve details for a specific domain.
curl -X GET 'https://api.taap.it/v1/domains/domain_987654321' \
  -H 'Authorization: Bearer taapit_your_api_key_here'
{
  "id": "domain_987654321",
  "domain": "links.yourcompany.com",
  
  "description": "Custom domain for marketing links",
  "is_verified": true,
  "verification_status": {
    "dns_configured": true,
    "cname_added": true
  },
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z"
}
domain_id
string
required
Unique identifier for the domain

Update Domain

Update an existing domain’s details.
curl -X PUT 'https://api.taap.it/v1/domains/domain_987654321' \
  -H 'Authorization: Bearer taapit_your_api_key_here' \
  -H 'Content-Type: application/json' \
  -d '{
    "description": "Updated description for the domain"
  }'
{
  "id": "domain_987654321",
  "domain": "links.yourcompany.com",
  
  "description": "Updated description for the domain",
  "is_verified": true,
  "verification_status": {
    "dns_configured": true,
    "cname_added": true
  },
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T11:00:00Z"
}
domain_id
string
required
Unique identifier for the domain
description
string
Updated description for the domain

Delete Domain

Remove a domain from your account.
curl -X DELETE 'https://api.taap.it/v1/domains/domain_987654321' \
  -H 'Authorization: Bearer taapit_your_api_key_here'
{
  "message": "Domain deleted successfully"
}
domain_id
string
required
Unique identifier for the domain to delete

Verify Domain Setup

Check the DNS configuration status for a domain.
curl -X GET 'https://api.taap.it/v1/domains/domain_987654321/verify' \
  -H 'Authorization: Bearer taapit_your_api_key_here'
{
  "domain_id": "domain_987654321",
  "is_verified": true,
  "verification_status": {
    "dns_configured": true,
    "cname_added": true,
    "last_checked": "2024-01-15T11:00:00Z"
  },
  "verification_details": {
    "cname_record": "links.yourcompany.com. CNAME taap.it.",
    "expected_value": "taap.it",
    "actual_value": "taap.it",
    "status": "valid"
  }
}
domain_id
string
required
Unique identifier for the domain to verify

Domain Setup Process

1

Add Domain

Create a new domain using the Create Domain endpoint.
2

Configure DNS

Add a CNAME record pointing your domain to taap.it:
links.yourcompany.com. CNAME taap.it.
DNS propagation can take up to 48 hours to complete globally.
3

Verify Setup

Use the Verify Domain Setup endpoint to check if DNS is configured correctly.
4

Start Using

Once verified, you can use the domain in your link creation requests.

Error Responses

{
  "detail": "Domain already exists in this workspace"
}
{
  "detail": "Access denied to this workspace"
}
{
  "detail": "Domain not found"
}
{
  "detail": "Domain is already in use by another workspace"
}

Rate Limits

  • Plan-based Rate Limits: Rate limits vary based on your subscription plan
  • Domain-specific operations: 100 requests per hour per domain

Best Practices

  • Use descriptive subdomains (e.g., links.company.com)
  • Ensure DNS records are properly configured before verification
  • Test domain functionality after setup
  • Keep backup domains for redundancy
  • Use HTTPS-enabled domains only
  • Regularly monitor domain verification status
  • Implement domain validation in your applications
  • Consider using wildcard SSL certificates
  • Cache domain verification results
  • Implement retry logic for DNS checks
  • Monitor domain resolution times
  • Use CDN for better global performance

Next: Links

Learn how to create and manage shortened links with your custom domains.