URL Redirect API Reference
Manage 301/302 redirect rules programmatically. All endpoints are versioned under /api/v1/. Authenticate using an API key created in your dashboard.
Authentication
Authorization: Bearer YOUR_API_KEY
Domains
GET
/api/v1/domainsList domainsResponses
200 List of domains
401 Unauthorized
Example
curl -X GET https://app.redirectiq.com/api/v1/domains \ -H "Authorization: Bearer YOUR_API_KEY"
POST
/api/v1/domainsCreate a domainRequest body
| Field | Type | Required | Description |
|---|---|---|---|
| hostname | string | yes | e.g. "www.example.com" |
Responses
201 Domain created
400 Invalid request
402 Plan limit reached
409 Domain already exists
Example
curl -X POST https://app.redirectiq.com/api/v1/domains \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hostname": "www.example.com"
}'GET
/api/v1/domains/{domainId}Get a domainResponses
200 Domain
404 Not found
Example
curl -X GET https://app.redirectiq.com/api/v1/domains/{domainId} \
-H "Authorization: Bearer YOUR_API_KEY"PATCH
/api/v1/domains/{domainId}Update a domain (no-op at MVP)Request body
objectResponses
200 Domain
404 Not found
Example
curl -X PATCH https://app.redirectiq.com/api/v1/domains/{domainId} \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"DELETE
/api/v1/domains/{domainId}Delete a domainResponses
204 Deleted
404 Not found
Example
curl -X DELETE https://app.redirectiq.com/api/v1/domains/{domainId} \
-H "Authorization: Bearer YOUR_API_KEY"GET
/api/v1/domains/{domainId}/statusCheck domain SSL and CNAME statusResponses
200 Status
Example
curl -X GET https://app.redirectiq.com/api/v1/domains/{domainId}/status \
-H "Authorization: Bearer YOUR_API_KEY"Rules
GET
/api/v1/rulesList redirect rulesParameters
| Name | In | Required | Type |
|---|---|---|---|
| domainId | query | yes | string |
Responses
200 Rules
Example
curl -X GET https://app.redirectiq.com/api/v1/rules \ -H "Authorization: Bearer YOUR_API_KEY"
POST
/api/v1/rulesCreate a redirect ruleRequest body
| Field | Type | Required | Description |
|---|---|---|---|
| domainId | string | yes | |
| matchPath | string | null | no | |
| destination | string | yes | |
| redirectType | 301 | 302 | yes | |
| pathPassthrough | boolean | yes | |
| queryPassthrough | boolean | yes |
Responses
201 Rule created
400 Invalid request
402 Plan limit reached
404 Domain not found
Example
curl -X POST https://app.redirectiq.com/api/v1/rules \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domainId": "string",
"matchPath": "string",
"destination": "string",
"redirectType": "string",
"pathPassthrough": false,
"queryPassthrough": false
}'GET
/api/v1/rules/{ruleId}Get a ruleResponses
200 Rule
404 Not found
Example
curl -X GET https://app.redirectiq.com/api/v1/rules/{ruleId} \
-H "Authorization: Bearer YOUR_API_KEY"PATCH
/api/v1/rules/{ruleId}Update a ruleRequest body
| Field | Type | Required | Description |
|---|---|---|---|
| destination | string | no | |
| redirectType | 301 | 302 | no | |
| pathPassthrough | boolean | no | |
| queryPassthrough | boolean | no |
Responses
200 Updated rule
404 Not found
Example
curl -X PATCH https://app.redirectiq.com/api/v1/rules/{ruleId} \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"destination": "string",
"redirectType": "string",
"pathPassthrough": false,
"queryPassthrough": false
}'DELETE
/api/v1/rules/{ruleId}Delete a ruleResponses
204 Deleted
404 Not found
Example
curl -X DELETE https://app.redirectiq.com/api/v1/rules/{ruleId} \
-H "Authorization: Bearer YOUR_API_KEY"API Keys
GET
/api/v1/keysList API keys (cookie auth only)Dashboard onlyResponses
200 Keys
401 Unauthorized
Example
curl -X GET https://app.redirectiq.com/api/v1/keys \ -H "Authorization: Bearer YOUR_API_KEY"
POST
/api/v1/keysCreate an API key (cookie auth only)Dashboard onlyRequest body
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | |
| expiresAt | string | null | no |
Responses
201 Key created — plaintext shown once
409 Key limit reached
Example
curl -X POST https://app.redirectiq.com/api/v1/keys \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"expiresAt": "string"
}'DELETE
/api/v1/keys/{keyId}Revoke an API key (cookie auth only)Dashboard onlyResponses
204 Revoked
404 Not found
Example
curl -X DELETE https://app.redirectiq.com/api/v1/keys/{keyId} \
-H "Authorization: Bearer YOUR_API_KEY"Logs
GET
/api/v1/logsQuery API auth logParameters
| Name | In | Required | Type |
|---|---|---|---|
| keyId | query | no | string |
| status | query | no | integer |
| from | query | no | string |
| to | query | no | string |
| limit | query | no | integer |
| cursor | query | no | string |
Responses
200 Log entries
Example
curl -X GET https://app.redirectiq.com/api/v1/logs \ -H "Authorization: Bearer YOUR_API_KEY"
Meta
GET
/api/v1/openapi.jsonOpenAPI specResponses
200 OpenAPI 3.0.3 JSON document
Example
curl -X GET https://app.redirectiq.com/api/v1/openapi.json \ -H "Authorization: Bearer YOUR_API_KEY"