Create input queue config
curl -X POST 'https://dashboard.justcrawl.io/api/v1/integrations/inputs' \ -H 'Authorization: Bearer $JUSTCRAWL_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"name":"Webhook from upstream","queueType":"webhook"}'Provisions a new upstream input source. Two queueType paths:
sqs pulls URLs from an external SQS queue on the customer’s AWS
account (requires credentials.accessKeyId + secretAccessKey +
region and a queueUrl); webhook mints a signed ingest URL the
customer’s upstream can POST URLs to. Credentials are AES-256-GCM
encrypted at rest before persistence. pollIntervalMs is bounded
(1s..1h) and maxUrlsPerDay is bounded (1..1M) — out-of-range values
return 400 with a specific message naming the limit. The response
carries the derived webhookUrl ready to paste into the upstream
configuration. Requires the org:manage permission.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Display name shown in the dashboard.
For sqs, requires accessKeyId, secretAccessKey, region. Encrypted at rest before persistence. Omit for webhook.
object
Required when queueType=sqs — the SQS queue ARN/URL the poller will read.
Optional. Workflow to route ingested URLs through; falls back to Automatic resolution when omitted.
SQS poll cadence in ms. Bounded 1s..1h.
Daily ingestion cap (defense against runaway upstreams).
Responses
Section titled “ Responses ”Created. Body includes the derived webhookUrl for queueType=webhook, or null otherwise.
object
Example
{ "queueType": "sqs"}Validation failed — request body or query is missing/invalid
object
Example
{ "error": "Missing or invalid \"url\" field"}Missing or invalid authentication token
object
Example
{ "error": "Missing or invalid authentication token"}Insufficient permissions for this operation
object
Example
{ "error": "No organization. Complete onboarding first."}Unexpected server error. Logs and PostHog $exception capture
object
Example
{ "error": "Something went wrong"}