Create a customer webhook
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");curl_easy_setopt(hnd, CURLOPT_URL, "https://api.proxyrequest.com/api/v1/webhooks");
struct curl_slist *headers = NULL;headers = curl_slist_append(headers, "Accept-Language: de");headers = curl_slist_append(headers, "Authorization: Bearer <token>");headers = curl_slist_append(headers, "Content-Type: application/json");curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{ \"type\": \"user\", \"endpoint\": \"https://developer.example.com/webhooks/proxy-events\", \"read_timeout\": 5, \"write_timeout\": 5, \"retries\": 3, \"retry_timeout\": 10 }");
CURLcode ret = curl_easy_perform(hnd);using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://api.proxyrequest.com/api/v1/webhooks"), Headers = { { "Accept-Language", "de" }, { "Authorization", "Bearer <token>" }, }, Content = new StringContent("{ \"type\": \"user\", \"endpoint\": \"https://developer.example.com/webhooks/proxy-events\", \"read_timeout\": 5, \"write_timeout\": 5, \"retries\": 3, \"retry_timeout\": 10 }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://api.proxyrequest.com/api/v1/webhooks"
payload := strings.NewReader("{ \"type\": \"user\", \"endpoint\": \"https://developer.example.com/webhooks/proxy-events\", \"read_timeout\": 5, \"write_timeout\": 5, \"retries\": 3, \"retry_timeout\": 10 }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Accept-Language", "de") req.Header.Add("Authorization", "Bearer <token>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.proxyrequest.com/api/v1/webhooks")) .header("Accept-Language", "de") .header("Authorization", "Bearer <token>") .header("Content-Type", "application/json") .method("POST", HttpRequest.BodyPublishers.ofString("{ \"type\": \"user\", \"endpoint\": \"https://developer.example.com/webhooks/proxy-events\", \"read_timeout\": 5, \"write_timeout\": 5, \"retries\": 3, \"retry_timeout\": 10 }")) .build();HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");RequestBody body = RequestBody.create(mediaType, "{ \"type\": \"user\", \"endpoint\": \"https://developer.example.com/webhooks/proxy-events\", \"read_timeout\": 5, \"write_timeout\": 5, \"retries\": 3, \"retry_timeout\": 10 }");Request request = new Request.Builder() .url("https://api.proxyrequest.com/api/v1/webhooks") .post(body) .addHeader("Accept-Language", "de") .addHeader("Authorization", "Bearer <token>") .addHeader("Content-Type", "application/json") .build();
Response response = client.newCall(request).execute();import axios from 'axios';
const options = { method: 'POST', url: 'https://api.proxyrequest.com/api/v1/webhooks', headers: { 'Accept-Language': 'de', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, data: { type: 'user', endpoint: 'https://developer.example.com/webhooks/proxy-events', read_timeout: 5, write_timeout: 5, retries: 3, retry_timeout: 10 }};
try { const { data } = await axios.request(options); console.log(data);} catch (error) { console.error(error);}const url = 'https://api.proxyrequest.com/api/v1/webhooks';const options = { method: 'POST', headers: { 'Accept-Language': 'de', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"type":"user","endpoint":"https://developer.example.com/webhooks/proxy-events","read_timeout":5,"write_timeout":5,"retries":3,"retry_timeout":10}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")val body = RequestBody.create(mediaType, "{ \"type\": \"user\", \"endpoint\": \"https://developer.example.com/webhooks/proxy-events\", \"read_timeout\": 5, \"write_timeout\": 5, \"retries\": 3, \"retry_timeout\": 10 }")val request = Request.Builder() .url("https://api.proxyrequest.com/api/v1/webhooks") .post(body) .addHeader("Accept-Language", "de") .addHeader("Authorization", "Bearer <token>") .addHeader("Content-Type", "application/json") .build()
val response = client.newCall(request).execute()use serde_json::json;use reqwest;
#[tokio::main]pub async fn main() { let url = "https://api.proxyrequest.com/api/v1/webhooks";
let payload = json!({ "type": "user", "endpoint": "https://developer.example.com/webhooks/proxy-events", "read_timeout": 5, "write_timeout": 5, "retries": 3, "retry_timeout": 10 });
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Accept-Language", "de".parse().unwrap()); headers.insert("Authorization", "Bearer <token>".parse().unwrap()); headers.insert("Content-Type", "application/json".parse().unwrap());
let client = reqwest::Client::new(); let response = client.post(url) .headers(headers) .json(&payload) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request POST \ --url https://api.proxyrequest.com/api/v1/webhooks \ --header 'Accept-Language: de' \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "type": "user", "endpoint": "https://developer.example.com/webhooks/proxy-events", "read_timeout": 5, "write_timeout": 5, "retries": 3, "retry_timeout": 10 }'wget --quiet \ --method POST \ --header 'Accept-Language: de' \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --body-data '{ "type": "user", "endpoint": "https://developer.example.com/webhooks/proxy-events", "read_timeout": 5, "write_timeout": 5, "retries": 3, "retry_timeout": 10 }' \ --output-document \ - https://api.proxyrequest.com/api/v1/webhooksRegisters an HTTPS destination for a supported event type. Private, loopback, and otherwise unsafe destinations are rejected.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Stable key for one logical mutation. Successful responses are replayable for 24 hours; reusing a key with a different request returns 409.
Preferred language for human-readable API errors. Supported languages: en, ru, uk, de, it, fr, es, zh-hans, ja. Regional language tags and quality weights are accepted; unsupported or omitted values use English.
Examples
defr-CA, fr;q=0.9, en;q=0.5Request Bodyrequired
Section titled “Request Bodyrequired”object
user- User *reseller- Reseller *system- System
Examples
Create delivery endpoint
{ "type": "user", "endpoint": "https://developer.example.com/webhooks/proxy-events", "read_timeout": 5, "write_timeout": 5, "retries": 3, "retry_timeout": 10}object
user- User *reseller- Reseller *system- System
Examples
Create delivery endpoint
type=user&endpoint=https%3A%2F%2Fdeveloper.example.com%2Fwebhooks%2Fproxy-events&read_timeout=5&write_timeout=5&retries=3&retry_timeout=10object
user- User *reseller- Reseller *system- System
Examples
Create delivery endpoint
{ "type": "user", "endpoint": "https://developer.example.com/webhooks/proxy-events", "read_timeout": 5, "write_timeout": 5, "retries": 3, "retry_timeout": 10}Responses
Section titled “Responses”The resource or action result was created successfully.
object
Context in which this webhook operates. Determines which events are delivered. User events scoped to the associated user account Reseller events scoped to the reseller and their sub-accounts System platform-wide system events * user - User * reseller - Reseller * system - System
HTTPS URL that receives webhook POST requests when events are triggered. https://example.com/webhooks/proxy The endpoint must be publicly accessible and respond within the configured read timeout.
Secret used to sign each webhook payload. The receiving endpoint should verify the signature to confirm the request originated from this platform. Auto-generated if left blank. Store this value securely on the receiving end.
Maximum time to wait for the endpoint to return a response. Requests that exceed this limit are treated as failed and may be retried.
Maximum time to wait while sending the payload to the endpoint. Requests that exceed this limit are treated as failed and may be retried.
Number of additional delivery attempts after an initial failure. Set to 0 to disable retries. 3 → up to 4 total delivery attempts
How long to wait before each retry attempt after a failed delivery. 10 → retry after 10 seconds
Examples
Example response
{ "id": "550e8400-e29b-41d4-a716-446655440001", "type": "user", "endpoint": "https://developer.example.com/webhooks/proxy-events", "secret": "secret", "read_timeout": 1, "write_timeout": 1, "retries": 1, "retry_timeout": 1, "created": "2026-07-01T12:30:00Z"}Headers
Section titled “Headers”True when the response was replayed from a prior request.
Strong entity tag for optimistic concurrency control.
The request is malformed or violates a business rule.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Examples
Validation error
{ "non_field_errors": [ "The request could not be processed." ]}Headers
Section titled “Headers”Language used for human-readable errors.
Authentication credentials are missing, expired, or invalid.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Examples
Authentication required
{ "detail": "Authentication credentials were not provided."}Headers
Section titled “Headers”Language used for human-readable errors.
The authenticated account cannot perform this operation.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Examples
Permission denied
{ "detail": "You do not have permission to perform this action."}Headers
Section titled “Headers”Language used for human-readable errors.
The idempotency key is in progress or was reused for a different request.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Examplegenerated
{ "detail": "example", "non_field_errors": [ "example" ]}Headers
Section titled “Headers”Language used for human-readable errors.