Skip to content

Endpoint reference

Full schemas, parameters and examples: https://docs.urlcrop.com/api/reference. Plan column = minimum plan for the feature; API access itself needs Pro+.

Full schemas, parameters and examples: https://docs.urlcrop.com/api/reference. Plan column = minimum plan for the feature; API access itself needs Pro+.

AreaEndpointsPlanPhase
WorkspaceGET /v1/workspace · GET /v1/members · GET/PATCH/DELETE /v1/members/{id} · GET/POST /v1/invitations · DELETE /v1/invitations/{id} · POST /v1/invitations/{id}/resend–1
API keysGET/POST /v1/api-keys · GET/PATCH/DELETE /v1/api-keys/{id} · POST /v1/api-keys/{id}/rotate (dashboard session only)Pro1
DomainsGET/POST /v1/domains · GET/PATCH/DELETE /v1/domains/{id} · POST /v1/domains/{id}/verify · GET /v1/domains/{id}/statusStarter1
LinksGET/POST /v1/links · GET/PATCH/DELETE /v1/links/{id} · GET /v1/links/availability · GET /v1/links/metadata · GET /v1/links/{id}/stats · GET /v1/links/{id}/health · POST /v1/links/{id}/health/check · GET /v1/links/{id}/safety · GET /v1/links/{id}/qr-code–1
Links (bulk)POST /v1/links/bulk · POST /v1/links/import · GET /v1/jobs/{id} · GET /v1/jobs/{id}/resultsPro1
Links (routing)GET/PUT/DELETE /v1/links/{id}/routing-rulesPro2
ApprovalsGET /v1/approvals · GET /v1/approvals/{id} · POST /v1/approvals/{id}/approve · POST /v1/approvals/{id}/reject · POST /v1/approvals/{id}/cancel (dashboard session only)Agency1
NotificationsGET /v1/notifications · POST /v1/notifications/read (dashboard session only; your own notifications in the current workspace)–1
QR codesGET/POST /v1/qr-codes · GET/PATCH/DELETE /v1/qr-codes/{id} · `GET /v1/qr-codes/{id}.png.svg.pdf · GET /v1/qr-codes/{id}/stats · GET /v1/public/qr/{token}.{pngsvgpdf}`–1
AssetsPOST /v1/assets · DELETE /v1/assets/{id}–1
PagesGET/POST /v1/pages · GET/PATCH/DELETE /v1/pages/{id} · PUT /v1/pages/{id}/blocks · POST /v1/pages/{id}/publish · POST /v1/pages/{id}/unpublish · GET /v1/pages/{id}/stats–1
OrganisationGET/POST /v1/campaigns · GET/PATCH/DELETE /v1/campaigns/{id} · GET /v1/campaigns/{id}/stats · GET/POST /v1/tags · PATCH/DELETE /v1/tags/{id} · GET/POST /v1/utm-templates · GET/PATCH/DELETE /v1/utm-templates/{id}– (UTM: Starter)1
InsightsGET /v1/insights/timeseries · GET /v1/insights/breakdown · GET /v1/insights/top-links · GET /v1/insights/events · POST /v1/insights/exports · GET /v1/insights/exports/{id}–1
ConversionsPOST /v1/conversions · POST /v1/conversions/batch · GET /v1/conversions · GET/DELETE /v1/conversions/{id} · POST /v1/collect (publishable key)Business2
WebhooksGET/POST /v1/webhooks · GET/PATCH/DELETE /v1/webhooks/{id} · POST /v1/webhooks/{id}/test · GET /v1/webhooks/{id}/deliveries · POST …/deliveries/{delivery_id}/retry · POST /v1/webhooks/{id}/rotate-secret · GET /v1/webhook-eventsPro1
BillingGET /v1/public/plans · GET /v1/billing/subscription · GET /v1/billing/invoices · GET /v1/billing/invoices/{id} · GET /v1/billing/invoices/{id}/pdf · GET /v1/billing/customer · GET /v1/billing/payments · GET /v1/usage (checkout and plan changes are dashboard-only)–1
Test modePOST /v1/test/events · POST /v1/test/webhooks/fire · DELETE /v1/test/dataPro1
PublicGET /v1/public/plans · GET /v1/public/link-preview (Turnstile) · GET /v1/public/invitations/{token}–1

Approvals note: when a workspace turns on "Require approval for Editor changes" (Agency plan), link creates, edits and archives made by Editors in the dashboard return 202 with an approval_request object instead of the link, and nothing goes live until an Owner or Admin approves. API keys act as Admin, so API calls publish at once and never receive 202. Each new request notifies the workspace's Owners and Admins (except the requester) in the dashboard and by email; when a request is approved, rejected (with the reason) or expires after 14 days, the requester is notified the same way. A withdrawn request notifies nobody.

Billing note for developers: all purchases are final — there are no refund endpoints or events. Cancelling (POST /v1/billing/subscription/cancel from the dashboard) stops future renewals; access continues to the end of the paid period. Checkout requires explicit acceptance of the Cancellation & No-Refund Policy (accept_no_refund_policy: true with the current policy_version from GET /v1/public/plans), and that acceptance is recorded on your invoice.