Skip to main content
POST
/
v1
/
api
/
add_domain
/
curl -X POST https://api.hookpulse.io/v1/api/add_domain/ \
  -H "x-hookpulse-api-key: {{x-hookpulse-api-key}}" \
  -H "x-brand-uuid: {{x-brand-uuid}}" \
  -H "Content-Type: application/json" \
  -d '{
    "protocol_type": "{{protocol_type}}",
    "domain": "{{domain}}",
    "rate_limit_enabled": {{rate_limit_enabled}},
    "concurrency_control_enabled": {{concurrency_control_enabled}},
    "max_concurrent_jobs": {{max_concurrent_jobs}},
    "max_requests_per_second": {{max_requests_per_second}}
  }'
const response = await fetch('https://api.hookpulse.io/v1/api/add_domain/', {
  method: 'POST',
  headers: {
    'x-hookpulse-api-key': '{{x-hookpulse-api-key}}',
    'x-brand-uuid': '{{x-brand-uuid}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    protocol_type: '{{protocol_type}}',
    domain: '{{domain}}',
    rate_limit_enabled: {{rate_limit_enabled}},
    concurrency_control_enabled: {{concurrency_control_enabled}},
    max_concurrent_jobs: {{max_concurrent_jobs}},
    max_requests_per_second: {{max_requests_per_second}}
  })
});

const data = await response.json();
console.log(data);
import requests

url = 'https://api.hookpulse.io/v1/api/add_domain/'
headers = {
    'x-hookpulse-api-key': '{{x-hookpulse-api-key}}',
    'x-brand-uuid': '{{x-brand-uuid}}',
    'Content-Type': 'application/json'
}
payload = {
    'protocol_type': '{{protocol_type}}',
    'domain': '{{domain}}',
    'rate_limit_enabled': {{rate_limit_enabled}},
    'concurrency_control_enabled': {{concurrency_control_enabled}},
    'max_concurrent_jobs': {{max_concurrent_jobs}},
    'max_requests_per_second': {{max_requests_per_second}}
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.hookpulse.io/v1/api/add_domain/')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri.path)
request['x-hookpulse-api-key'] = '{{x-hookpulse-api-key}}'
request['x-brand-uuid'] = '{{x-brand-uuid}}'
request['Content-Type'] = 'application/json'
request.body = {
  protocol_type: '{{protocol_type}}',
  domain: '{{domain}}',
  rate_limit_enabled: {{rate_limit_enabled}},
  concurrency_control_enabled: {{concurrency_control_enabled}},
  max_concurrent_jobs: {{max_concurrent_jobs}},
  max_requests_per_second: {{max_requests_per_second}}
}.to_json

response = http.request(request)
puts JSON.parse(response.body)
<?php

$url = 'https://api.hookpulse.io/v1/api/add_domain/';
$data = [
    'protocol_type' => '{{protocol_type}}',
    'domain' => '{{domain}}',
    'rate_limit_enabled' => {{rate_limit_enabled}},
    'concurrency_control_enabled' => {{concurrency_control_enabled}},
    'max_concurrent_jobs' => {{max_concurrent_jobs}},
    'max_requests_per_second' => {{max_requests_per_second}}
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'x-hookpulse-api-key: {{x-hookpulse-api-key}}',
    'x-brand-uuid: {{x-brand-uuid}}',
    'Content-Type: application/json'
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
{
  "success": true,
  "details": "Domain added successfully"
}
Add a new domain to your HookPulse account with rate limiting and concurrency control settings.

Example request

curl -X POST https://api.hookpulse.io/v1/api/add_domain/ \
  -H "x-hookpulse-api-key: {{x-hookpulse-api-key}}" \
  -H "x-brand-uuid: {{x-brand-uuid}}" \
  -H "Content-Type: application/json" \
  -d '{
    "protocol_type": "{{protocol_type}}",
    "domain": "{{domain}}",
    "rate_limit_enabled": {{rate_limit_enabled}},
    "concurrency_control_enabled": {{concurrency_control_enabled}},
    "max_concurrent_jobs": {{max_concurrent_jobs}},
    "max_requests_per_second": {{max_requests_per_second}}
  }'
const response = await fetch('https://api.hookpulse.io/v1/api/add_domain/', {
  method: 'POST',
  headers: {
    'x-hookpulse-api-key': '{{x-hookpulse-api-key}}',
    'x-brand-uuid': '{{x-brand-uuid}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    protocol_type: '{{protocol_type}}',
    domain: '{{domain}}',
    rate_limit_enabled: {{rate_limit_enabled}},
    concurrency_control_enabled: {{concurrency_control_enabled}},
    max_concurrent_jobs: {{max_concurrent_jobs}},
    max_requests_per_second: {{max_requests_per_second}}
  })
});

const data = await response.json();
console.log(data);
import requests

url = 'https://api.hookpulse.io/v1/api/add_domain/'
headers = {
    'x-hookpulse-api-key': '{{x-hookpulse-api-key}}',
    'x-brand-uuid': '{{x-brand-uuid}}',
    'Content-Type': 'application/json'
}
payload = {
    'protocol_type': '{{protocol_type}}',
    'domain': '{{domain}}',
    'rate_limit_enabled': {{rate_limit_enabled}},
    'concurrency_control_enabled': {{concurrency_control_enabled}},
    'max_concurrent_jobs': {{max_concurrent_jobs}},
    'max_requests_per_second': {{max_requests_per_second}}
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.hookpulse.io/v1/api/add_domain/')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri.path)
request['x-hookpulse-api-key'] = '{{x-hookpulse-api-key}}'
request['x-brand-uuid'] = '{{x-brand-uuid}}'
request['Content-Type'] = 'application/json'
request.body = {
  protocol_type: '{{protocol_type}}',
  domain: '{{domain}}',
  rate_limit_enabled: {{rate_limit_enabled}},
  concurrency_control_enabled: {{concurrency_control_enabled}},
  max_concurrent_jobs: {{max_concurrent_jobs}},
  max_requests_per_second: {{max_requests_per_second}}
}.to_json

response = http.request(request)
puts JSON.parse(response.body)
<?php

$url = 'https://api.hookpulse.io/v1/api/add_domain/';
$data = [
    'protocol_type' => '{{protocol_type}}',
    'domain' => '{{domain}}',
    'rate_limit_enabled' => {{rate_limit_enabled}},
    'concurrency_control_enabled' => {{concurrency_control_enabled}},
    'max_concurrent_jobs' => {{max_concurrent_jobs}},
    'max_requests_per_second' => {{max_requests_per_second}}
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'x-hookpulse-api-key: {{x-hookpulse-api-key}}',
    'x-brand-uuid: {{x-brand-uuid}}',
    'Content-Type: application/json'
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>

Request body

FieldTypeRequiredDescription
protocol_typestringYesProtocol type for the domain (e.g., “https”, “http”)
domainstringYesDomain name to add (e.g., “api.hookpulse.io”)
rate_limit_enabledbooleanYesEnable rate limiting for this domain
concurrency_control_enabledbooleanYesEnable concurrency control for this domain
max_concurrent_jobsintegerYesMaximum number of concurrent jobs allowed
max_requests_per_secondintegerYesMaximum requests per second allowed

Example response

{
  "success": true,
  "details": "Domain added successfully"
}

Response fields

FieldTypeDescription
successbooleanIndicates if the request was successful
detailsstringSuccess message or error details

Authorizations

x-hookpulse-api-key
string
header
required

API key for authentication. Get this from your dashboard by selecting a brand and going to API Keys section.

x-brand-uuid
string
header
required

Brand UUID for authentication. Get this from your dashboard after adding a brand - it will be displayed in the UI.

Body

application/json

Domain configuration

protocol_type
string
required

Protocol type for the domain (e.g., 'https', 'http')

domain
string
required

Domain name to add

rate_limit_enabled
boolean
required

Enable rate limiting for this domain

concurrency_control_enabled
boolean
required

Enable concurrency control for this domain

max_concurrent_jobs
integer
required

Maximum number of concurrent jobs allowed

max_requests_per_second
integer
required

Maximum requests per second allowed

Response

Domain added successfully

success
boolean

Indicates if the request was successful

details
string

Success message or error details