curl --request POST \
--url https://api.quedup.dev/jobs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Nightly customer sync",
"url": "https://api.example.com/webhooks/customer-sync",
"method": "POST",
"headers": {
"Authorization": "Bearer sk_test_123",
"Content-Type": "application/json"
},
"schedule": "0 0 * * *",
"body": "{\"source\":\"quedup\",\"action\":\"sync\"}"
}
'import requests
url = "https://api.quedup.dev/jobs"
payload = {
"name": "Nightly customer sync",
"url": "https://api.example.com/webhooks/customer-sync",
"method": "POST",
"headers": {
"Authorization": "Bearer sk_test_123",
"Content-Type": "application/json"
},
"schedule": "0 0 * * *",
"body": "{\"source\":\"quedup\",\"action\":\"sync\"}"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Nightly customer sync',
url: 'https://api.example.com/webhooks/customer-sync',
method: 'POST',
headers: {Authorization: 'Bearer sk_test_123', 'Content-Type': 'application/json'},
schedule: '0 0 * * *',
body: JSON.stringify('{"source":"quedup","action":"sync"}')
})
};
fetch('https://api.quedup.dev/jobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.quedup.dev/jobs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Nightly customer sync',
'url' => 'https://api.example.com/webhooks/customer-sync',
'method' => 'POST',
'headers' => [
'Authorization' => 'Bearer sk_test_123',
'Content-Type' => 'application/json'
],
'schedule' => '0 0 * * *',
'body' => '{"source":"quedup","action":"sync"}'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.quedup.dev/jobs"
payload := strings.NewReader("{\n \"name\": \"Nightly customer sync\",\n \"url\": \"https://api.example.com/webhooks/customer-sync\",\n \"method\": \"POST\",\n \"headers\": {\n \"Authorization\": \"Bearer sk_test_123\",\n \"Content-Type\": \"application/json\"\n },\n \"schedule\": \"0 0 * * *\",\n \"body\": \"{\\\"source\\\":\\\"quedup\\\",\\\"action\\\":\\\"sync\\\"}\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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(string(body))
}HttpResponse<String> response = Unirest.post("https://api.quedup.dev/jobs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Nightly customer sync\",\n \"url\": \"https://api.example.com/webhooks/customer-sync\",\n \"method\": \"POST\",\n \"headers\": {\n \"Authorization\": \"Bearer sk_test_123\",\n \"Content-Type\": \"application/json\"\n },\n \"schedule\": \"0 0 * * *\",\n \"body\": \"{\\\"source\\\":\\\"quedup\\\",\\\"action\\\":\\\"sync\\\"}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quedup.dev/jobs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Nightly customer sync\",\n \"url\": \"https://api.example.com/webhooks/customer-sync\",\n \"method\": \"POST\",\n \"headers\": {\n \"Authorization\": \"Bearer sk_test_123\",\n \"Content-Type\": \"application/json\"\n },\n \"schedule\": \"0 0 * * *\",\n \"body\": \"{\\\"source\\\":\\\"quedup\\\",\\\"action\\\":\\\"sync\\\"}\"\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Nightly customer sync",
"url": "https://api.example.com/webhooks/customer-sync",
"method": "POST",
"headers": {
"Authorization": "Bearer sk_test_123",
"Content-Type": "application/json"
},
"body": "{\"source\":\"quedup\",\"action\":\"sync\"}",
"schedule": "0 0 * * *",
"next_run_at": "2026-03-09T00:00:00.000Z",
"status": "active"
}{
"error": "invalid_request",
"message": "url must be a valid http(s) URL",
"field": "url"
}{
"error": "invalid_request",
"message": "url must be a valid http(s) URL",
"field": "url"
}Create Job
Creates a new job. If schedule is provided, it takes precedence over run_at.
curl --request POST \
--url https://api.quedup.dev/jobs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Nightly customer sync",
"url": "https://api.example.com/webhooks/customer-sync",
"method": "POST",
"headers": {
"Authorization": "Bearer sk_test_123",
"Content-Type": "application/json"
},
"schedule": "0 0 * * *",
"body": "{\"source\":\"quedup\",\"action\":\"sync\"}"
}
'import requests
url = "https://api.quedup.dev/jobs"
payload = {
"name": "Nightly customer sync",
"url": "https://api.example.com/webhooks/customer-sync",
"method": "POST",
"headers": {
"Authorization": "Bearer sk_test_123",
"Content-Type": "application/json"
},
"schedule": "0 0 * * *",
"body": "{\"source\":\"quedup\",\"action\":\"sync\"}"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Nightly customer sync',
url: 'https://api.example.com/webhooks/customer-sync',
method: 'POST',
headers: {Authorization: 'Bearer sk_test_123', 'Content-Type': 'application/json'},
schedule: '0 0 * * *',
body: JSON.stringify('{"source":"quedup","action":"sync"}')
})
};
fetch('https://api.quedup.dev/jobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.quedup.dev/jobs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Nightly customer sync',
'url' => 'https://api.example.com/webhooks/customer-sync',
'method' => 'POST',
'headers' => [
'Authorization' => 'Bearer sk_test_123',
'Content-Type' => 'application/json'
],
'schedule' => '0 0 * * *',
'body' => '{"source":"quedup","action":"sync"}'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.quedup.dev/jobs"
payload := strings.NewReader("{\n \"name\": \"Nightly customer sync\",\n \"url\": \"https://api.example.com/webhooks/customer-sync\",\n \"method\": \"POST\",\n \"headers\": {\n \"Authorization\": \"Bearer sk_test_123\",\n \"Content-Type\": \"application/json\"\n },\n \"schedule\": \"0 0 * * *\",\n \"body\": \"{\\\"source\\\":\\\"quedup\\\",\\\"action\\\":\\\"sync\\\"}\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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(string(body))
}HttpResponse<String> response = Unirest.post("https://api.quedup.dev/jobs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Nightly customer sync\",\n \"url\": \"https://api.example.com/webhooks/customer-sync\",\n \"method\": \"POST\",\n \"headers\": {\n \"Authorization\": \"Bearer sk_test_123\",\n \"Content-Type\": \"application/json\"\n },\n \"schedule\": \"0 0 * * *\",\n \"body\": \"{\\\"source\\\":\\\"quedup\\\",\\\"action\\\":\\\"sync\\\"}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quedup.dev/jobs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Nightly customer sync\",\n \"url\": \"https://api.example.com/webhooks/customer-sync\",\n \"method\": \"POST\",\n \"headers\": {\n \"Authorization\": \"Bearer sk_test_123\",\n \"Content-Type\": \"application/json\"\n },\n \"schedule\": \"0 0 * * *\",\n \"body\": \"{\\\"source\\\":\\\"quedup\\\",\\\"action\\\":\\\"sync\\\"}\"\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Nightly customer sync",
"url": "https://api.example.com/webhooks/customer-sync",
"method": "POST",
"headers": {
"Authorization": "Bearer sk_test_123",
"Content-Type": "application/json"
},
"body": "{\"source\":\"quedup\",\"action\":\"sync\"}",
"schedule": "0 0 * * *",
"next_run_at": "2026-03-09T00:00:00.000Z",
"status": "active"
}{
"error": "invalid_request",
"message": "url must be a valid http(s) URL",
"field": "url"
}{
"error": "invalid_request",
"message": "url must be a valid http(s) URL",
"field": "url"
}Authorizations
Provide your QuedUp API key in the Authorization header as Bearer <api_key>.
Body
Payload used to create a new scheduled HTTP job.
Human-readable name for the job.
1"Nightly customer sync"
Destination URL that QuedUp should call when the job runs.
1"https://api.example.com/webhooks/customer-sync"
HTTP method used when QuedUp executes the job request.
GET, POST, PUT, PATCH, DELETE "POST"
Optional HTTP headers to include in the outbound request.
Show child attributes
Show child attributes
{
"Authorization": "Bearer sk_test_123",
"Content-Type": "application/json"
}
Cron expression for a recurring job. Takes precedence over run_at when both are provided.
"0 0 * * *"
ISO 8601 timestamp for a one-time execution.
"2026-03-09T00:00:00.000Z"
Optional raw request body to send with the job request.
"{\"source\":\"quedup\",\"action\":\"sync\"}"
Response
A scheduled HTTP job managed by QuedUp.
Unique identifier for the job.
"550e8400-e29b-41d4-a716-446655440000"
Human-readable name for the job.
"Nightly customer sync"
Destination URL that QuedUp calls when the job runs.
"https://api.example.com/webhooks/customer-sync"
HTTP method used when QuedUp executes the job request.
GET, POST, PUT, PATCH, DELETE "POST"
HTTP headers that will be sent with the outbound request.
Show child attributes
Show child attributes
{
"Authorization": "Bearer sk_test_123",
"Content-Type": "application/json"
}
Raw request body sent when the job executes.
"{\"source\":\"quedup\",\"action\":\"sync\"}"
Cron expression for recurring execution. Null for one-time jobs.
"0 0 * * *"
Next scheduled execution time in ISO 8601 format.
"2026-03-09T00:00:00.000Z"
Current lifecycle state of the job.
active, paused, failed, completed, running "active"
Was this page helpful?