API reference
Issue automation and webhooks
/ v1/ hooks/ issues/ :orgId/ :ruleId/ :tokenRuns an incoming-webhook rule: on issues (keys) when given, otherwise on the rule's query; payload is available as {{payload.…}}.
- Auth
- None.
Path parameters
orgIdOrganization id (
org_…).ruleIdRule id: a storage lifecycle rule (as returned by the settings or lifecycle routes), an issue automation rule (
rul_…) or a Mirage AutoMod rule (mar_…).tokenA secret from a link: an issue automation rule's incoming-webhook token (shown once when issued), a map's share link, a notification recipient's confirm and unsubscribe link, a Drive public link (
/l/<token>), a Vehicles drive's share link, or a Mirage interaction's token (itk_…, sent with the interaction, good for 15 minutes), or the token in the link to a file of a message Mirage sent to Discord, or a Marketing link's sealed token (a tracked click, the open pixel, unsubscribe and the preference centre, a double opt-in confirmation); or a Food recipe's public link (/r/<token>) or a household's calendar feed.
Errors
400Send JSON.400Send { issues?: string[], payload?: any }.
curl -X POST 'https://api.cactive.com.au/v1/hooks/issues/{orgId}/{ruleId}/{token}'Response 200
{
status: string
matched: number
}/ v1/ orgs/ :orgId/ issues/ notificationsNotifications, newest first (unread=1 for unread only); page with cursor.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).
Query parameters
unread"0" | "1"cursorstringUp to 2,000 characters.
limitinteger1–100. Coerced from a string.
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/notifications' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
notifications: {
notificationId: string
issueId: string
issueKey?: string
kind: "approval" | "resolved" | "deleted" | "mentioned" | "created" | "assigned" | "updated" | "transitioned" | "commented"
actorId?: string
title: string
body: string
read: boolean
createdAt: number
}[]
cursor: null | string
}/ v1/ orgs/ :orgId/ issues/ notifications/ countHow many notifications are unread.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/notifications/count' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
unread: number
}/ v1/ orgs/ :orgId/ issues/ notifications/ readMarks notifications read (or unread with read: false); all: true for every one.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).
Request body
idsstring[]Up to 500 items. Each up to 64 characters.
allbooleanreadboolean
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/notifications/read' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"ids": [
"example"
],
"all": true,
"read": true
}'Response 200
{
updated: number
}/ v1/ orgs/ :orgId/ issues/ notifications/ settingsEmail on or off, notifications about your own changes, and muted events.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/notifications/settings' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
settings: {
email: boolean
own: boolean
muted: string[]
}
}/ v1/ orgs/ :orgId/ issues/ notifications/ settingsChanges what the caller hears about.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).
Request body
emailbooleanownbooleanmuted("created" | "updated" | "assigned" | "transitioned" | "commented" | "mentioned" | "resolved" | "deleted")[]Up to 10 items.
curl -X PUT 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/notifications/settings' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"email": true,
"own": true,
"muted": [
"created"
]
}'Response 200
{
settings: {
email: boolean
own: boolean
muted: string[]
}
}/ v1/ orgs/ :orgId/ issues/ automationRules the caller can see (space narrows to one space), with the trigger types there are.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).
Query parameters
spacestringUp to 64 characters.
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/automation' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
rules: {
ruleId: string
name: string
description: string
enabled: boolean
spaceIds: string[]
trigger: {
type: "issueCreated"
} | {
type: "issueTransitioned"
from?: string[]
to?: string[]
} | {
type: "issueUpdated"
fields?: string[]
} | {
type: "issueAssigned"
} | {
type: "commentAdded"
visibility?: "any" | "public" | "internal"
by?: "agent" | "anyone" | "reporter"
} | {
type: "slaBreached"
slaIds?: string[]
} | {
type: "scheduled"
interval: "hourly" | "daily" | "weekly"
hour?: number
weekday?: number
jql?: string
} | {
type: "incoming"
jql?: string
} | {
type: "manual"
}
conditions: {
type: "jql"
jql: string
} | {
type: "fieldChanged"
field: string
} | {
type: "notActor"
actor: "automation" | "reporter" | "assignee"
}[]
actions: {
type: "transition"
transition: string
} | {
type: "assign"
to: "user" | "actor" | "reporter" | "lead" | "unassigned"
userId?: string
} | {
type: "setField"
field: string
value: unknown
} | {
type: "addLabels"
labels: string[]
} | {
type: "removeLabels"
labels: string[]
} | {
type: "comment"
body: string
visibility?: "public" | "internal"
} | {
type: "createIssue"
summary: string
issueType?: string
space?: string
subtask?: boolean
description?: string
} | {
type: "link"
linkType: string
issue: string
} | {
type: "addWatcher"
who: "user" | "actor" | "reporter" | "assignee"
userId?: string
} | {
type: "webhook"
url: string
} | {
type: "email"
to: ("reporter" | "assignee" | "watchers")[]
subject: string
body: string
}[]
ownerId?: string
hasToken: boolean
editable: boolean
version: number
updatedAt: number
}[]
triggers: ["issueCreated", "issueTransitioned", "issueUpdated", "issueAssigned", "commentAdded", "slaBreached", "scheduled", "incoming", "manual"]
}/ v1/ orgs/ :orgId/ issues/ automationCreates a rule. Rules for every space need issues:admin; space admins can automate their spaces.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).
Request body
descriptionstringUp to 1,000 characters.
enabledbooleanspaceIdsstring[]Up to 50 items. Each up to 64 characters.
conditions(object | object | object)[]Up to 10 items.
baseVersioninteger≥ 0.
namestringrequired1–100 characters. Trimmed.
triggerobject | object | object | object | object | object | object | object | objectrequiredactions(object | object | object | object | object | object | object | object | object | object | object)[]required1–20 items.
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/automation' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "Example",
"trigger": {},
"actions": [
{}
]
}'Response 201
{
rule: {
editable: boolean
ruleId: string
name: string
description: string
enabled: boolean
spaceIds: string[]
trigger: {
type: "issueCreated"
} | {
type: "issueTransitioned"
from?: string[]
to?: string[]
} | {
type: "issueUpdated"
fields?: string[]
} | {
type: "issueAssigned"
} | {
type: "commentAdded"
visibility?: "any" | "public" | "internal"
by?: "agent" | "anyone" | "reporter"
} | {
type: "slaBreached"
slaIds?: string[]
} | {
type: "scheduled"
interval: "hourly" | "daily" | "weekly"
hour?: number
weekday?: number
jql?: string
} | {
type: "incoming"
jql?: string
} | {
type: "manual"
}
conditions: {
type: "jql"
jql: string
} | {
type: "fieldChanged"
field: string
} | {
type: "notActor"
actor: "automation" | "reporter" | "assignee"
}[]
actions: {
type: "transition"
transition: string
} | {
type: "assign"
to: "user" | "actor" | "reporter" | "lead" | "unassigned"
userId?: string
} | {
type: "setField"
field: string
value: unknown
} | {
type: "addLabels"
labels: string[]
} | {
type: "removeLabels"
labels: string[]
} | {
type: "comment"
body: string
visibility?: "public" | "internal"
} | {
type: "createIssue"
summary: string
issueType?: string
space?: string
subtask?: boolean
description?: string
} | {
type: "link"
linkType: string
issue: string
} | {
type: "addWatcher"
who: "user" | "actor" | "reporter" | "assignee"
userId?: string
} | {
type: "webhook"
url: string
} | {
type: "email"
to: ("reporter" | "assignee" | "watchers")[]
subject: string
body: string
}[]
ownerId?: string
hasToken: boolean
version: number
updatedAt: number
}
}/ v1/ orgs/ :orgId/ issues/ automation/ :ruleIdA rule.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).ruleIdRule id: a storage lifecycle rule (as returned by the settings or lifecycle routes), an issue automation rule (
rul_…) or a Mirage AutoMod rule (mar_…).
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/automation/{ruleId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
rule: {
editable: boolean
ruleId: string
name: string
description: string
enabled: boolean
spaceIds: string[]
trigger: {
type: "issueCreated"
} | {
type: "issueTransitioned"
from?: string[]
to?: string[]
} | {
type: "issueUpdated"
fields?: string[]
} | {
type: "issueAssigned"
} | {
type: "commentAdded"
visibility?: "any" | "public" | "internal"
by?: "agent" | "anyone" | "reporter"
} | {
type: "slaBreached"
slaIds?: string[]
} | {
type: "scheduled"
interval: "hourly" | "daily" | "weekly"
hour?: number
weekday?: number
jql?: string
} | {
type: "incoming"
jql?: string
} | {
type: "manual"
}
conditions: {
type: "jql"
jql: string
} | {
type: "fieldChanged"
field: string
} | {
type: "notActor"
actor: "automation" | "reporter" | "assignee"
}[]
actions: {
type: "transition"
transition: string
} | {
type: "assign"
to: "user" | "actor" | "reporter" | "lead" | "unassigned"
userId?: string
} | {
type: "setField"
field: string
value: unknown
} | {
type: "addLabels"
labels: string[]
} | {
type: "removeLabels"
labels: string[]
} | {
type: "comment"
body: string
visibility?: "public" | "internal"
} | {
type: "createIssue"
summary: string
issueType?: string
space?: string
subtask?: boolean
description?: string
} | {
type: "link"
linkType: string
issue: string
} | {
type: "addWatcher"
who: "user" | "actor" | "reporter" | "assignee"
userId?: string
} | {
type: "webhook"
url: string
} | {
type: "email"
to: ("reporter" | "assignee" | "watchers")[]
subject: string
body: string
}[]
ownerId?: string
hasToken: boolean
version: number
updatedAt: number
}
}/ v1/ orgs/ :orgId/ issues/ automation/ :ruleIdChanges a rule; pass baseVersion to avoid overwriting newer edits.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).ruleIdRule id: a storage lifecycle rule (as returned by the settings or lifecycle routes), an issue automation rule (
rul_…) or a Mirage AutoMod rule (mar_…).
Request body
namestring1–100 characters. Trimmed.
descriptionstringUp to 1,000 characters.
enabledbooleanspaceIdsstring[]Up to 50 items. Each up to 64 characters.
triggerobject | object | object | object | object | object | object | object | objectconditions(object | object | object)[]Up to 10 items.
actions(object | object | object | object | object | object | object | object | object | object | object)[]1–20 items.
baseVersioninteger≥ 0.
curl -X PATCH 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/automation/{ruleId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "Example",
"description": "example",
"enabled": true
}'Response 200
{
rule: {
editable: boolean
ruleId: string
name: string
description: string
enabled: boolean
spaceIds: string[]
trigger: {
type: "issueCreated"
} | {
type: "issueTransitioned"
from?: string[]
to?: string[]
} | {
type: "issueUpdated"
fields?: string[]
} | {
type: "issueAssigned"
} | {
type: "commentAdded"
visibility?: "any" | "public" | "internal"
by?: "agent" | "anyone" | "reporter"
} | {
type: "slaBreached"
slaIds?: string[]
} | {
type: "scheduled"
interval: "hourly" | "daily" | "weekly"
hour?: number
weekday?: number
jql?: string
} | {
type: "incoming"
jql?: string
} | {
type: "manual"
}
conditions: {
type: "jql"
jql: string
} | {
type: "fieldChanged"
field: string
} | {
type: "notActor"
actor: "automation" | "reporter" | "assignee"
}[]
actions: {
type: "transition"
transition: string
} | {
type: "assign"
to: "user" | "actor" | "reporter" | "lead" | "unassigned"
userId?: string
} | {
type: "setField"
field: string
value: unknown
} | {
type: "addLabels"
labels: string[]
} | {
type: "removeLabels"
labels: string[]
} | {
type: "comment"
body: string
visibility?: "public" | "internal"
} | {
type: "createIssue"
summary: string
issueType?: string
space?: string
subtask?: boolean
description?: string
} | {
type: "link"
linkType: string
issue: string
} | {
type: "addWatcher"
who: "user" | "actor" | "reporter" | "assignee"
userId?: string
} | {
type: "webhook"
url: string
} | {
type: "email"
to: ("reporter" | "assignee" | "watchers")[]
subject: string
body: string
}[]
ownerId?: string
hasToken: boolean
version: number
updatedAt: number
}
}/ v1/ orgs/ :orgId/ issues/ automation/ :ruleIdDeletes a rule.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).ruleIdRule id: a storage lifecycle rule (as returned by the settings or lifecycle routes), an issue automation rule (
rul_…) or a Mirage AutoMod rule (mar_…).
curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/automation/{ruleId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
ruleId: string
}/ v1/ orgs/ :orgId/ issues/ automation/ :ruleId/ runsThe last 50 runs of a rule.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).ruleIdRule id: a storage lifecycle rule (as returned by the settings or lifecycle routes), an issue automation rule (
rul_…) or a Mirage AutoMod rule (mar_…).
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/automation/{ruleId}/runs' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
runs: {
runId: string
status: string
trigger: string
issueIds: string[]
log: {
issue?: string
action?: string
ok: boolean
message: string
}[]
ms?: number
at: number
}[]
}/ v1/ orgs/ :orgId/ issues/ automation/ :ruleId/ runRuns a manual rule on issues now.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).ruleIdRule id: a storage lifecycle rule (as returned by the settings or lifecycle routes), an issue automation rule (
rul_…) or a Mirage AutoMod rule (mar_…).
Request body
issuesstring[]required1–100 items. Each up to 64 characters.
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/automation/{ruleId}/run' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"issues": [
"example"
]
}'Response 200
{
status: string
matched: number
log: {
issue?: string
action?: string
ok: boolean
message: string
}[]
}/ v1/ orgs/ :orgId/ issues/ automation/ :ruleId/ tokenIssues a new token for an incoming-webhook rule and returns its URL (shown once; the old one stops working).
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).ruleIdRule id: a storage lifecycle rule (as returned by the settings or lifecycle routes), an issue automation rule (
rul_…) or a Mirage AutoMod rule (mar_…).
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/automation/{ruleId}/token' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
token: string
path: string
url: string
}/ v1/ orgs/ :orgId/ issues/ webhooksWebhooks of the organization, with the events they can subscribe to.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:admin
Path parameters
orgIdOrganization id (
org_…).
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/webhooks' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
webhooks: {
webhookId: string
name: string
url: string
events: ("issue.created" | "issue.updated" | "issue.transitioned" | "issue.deleted" | "issue.moved" | "issue.sla_breached" | "issue.ranked" | "issue.watchers" | "issue.votes" | "comment.created" | "comment.updated" | "comment.deleted" | "worklog.created" | "attachment.created" | "link.created" | "link.deleted" | "sprint.started" | "sprint.completed" | "version.released" | "space.deleted" | "index.rebuild" | "mail.received" | "approval.opened")[]
spaceIds: string[]
jql: string
enabled: boolean
secretHint: string
createdBy?: string
version: number
updatedAt: number
}[]
events: ("issue.created" | "issue.updated" | "issue.transitioned" | "issue.deleted" | "issue.moved" | "issue.sla_breached" | "issue.ranked" | "issue.watchers" | "issue.votes" | "comment.created" | "comment.updated" | "comment.deleted" | "worklog.created" | "attachment.created" | "link.created" | "link.deleted" | "sprint.started" | "sprint.completed" | "version.released" | "space.deleted" | "index.rebuild" | "mail.received" | "approval.opened")[]
}/ v1/ orgs/ :orgId/ issues/ webhooksCreates a webhook; the signing secret is in the response this once.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:admin
Path parameters
orgIdOrganization id (
org_…).
Request body
spaceIdsstring[]Up to 50 items. Each up to 64 characters.
jqlstringUp to 10,000 characters.
enabledbooleannamestringrequired1–100 characters. Trimmed.
urlstringrequiredUp to 2,000 characters.
events("issue.created" | "issue.updated" | "issue.transitioned" | "issue.deleted" | "issue.moved" | "issue.sla_breached" | "comment.created" | "comment.updated" | "comment.deleted" | "worklog.created" | "attachment.created" | "link.created" | "link.deleted" | "sprint.started" | "sprint.completed" | "version.released")[]required1–30 items.
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/webhooks' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "Example",
"url": "https://example.com",
"events": [
"issue.created"
]
}'Response 201
{
webhook: {
webhookId: string
name: string
url: string
events: ("issue.created" | "issue.updated" | "issue.transitioned" | "issue.deleted" | "issue.moved" | "issue.sla_breached" | "issue.ranked" | "issue.watchers" | "issue.votes" | "comment.created" | "comment.updated" | "comment.deleted" | "worklog.created" | "attachment.created" | "link.created" | "link.deleted" | "sprint.started" | "sprint.completed" | "version.released" | "space.deleted" | "index.rebuild" | "mail.received" | "approval.opened")[]
spaceIds: string[]
jql: string
enabled: boolean
secretHint: string
createdBy?: string
version: number
updatedAt: number
}
secret: string
}/ v1/ orgs/ :orgId/ issues/ webhooks/ :webhookIdA webhook.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:admin
Path parameters
orgIdOrganization id (
org_…).webhookIdWebhook id (
whk_…).
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/webhooks/{webhookId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
webhook: {
webhookId: string
name: string
url: string
events: ("issue.created" | "issue.updated" | "issue.transitioned" | "issue.deleted" | "issue.moved" | "issue.sla_breached" | "issue.ranked" | "issue.watchers" | "issue.votes" | "comment.created" | "comment.updated" | "comment.deleted" | "worklog.created" | "attachment.created" | "link.created" | "link.deleted" | "sprint.started" | "sprint.completed" | "version.released" | "space.deleted" | "index.rebuild" | "mail.received" | "approval.opened")[]
spaceIds: string[]
jql: string
enabled: boolean
secretHint: string
createdBy?: string
version: number
updatedAt: number
}
}/ v1/ orgs/ :orgId/ issues/ webhooks/ :webhookIdChanges a webhook.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:admin
Path parameters
orgIdOrganization id (
org_…).webhookIdWebhook id (
whk_…).
Request body
namestring1–100 characters. Trimmed.
urlstringUp to 2,000 characters.
events("issue.created" | "issue.updated" | "issue.transitioned" | "issue.deleted" | "issue.moved" | "issue.sla_breached" | "comment.created" | "comment.updated" | "comment.deleted" | "worklog.created" | "attachment.created" | "link.created" | "link.deleted" | "sprint.started" | "sprint.completed" | "version.released")[]1–30 items.
spaceIdsstring[]Up to 50 items. Each up to 64 characters.
jqlstringUp to 10,000 characters.
enabledboolean
curl -X PATCH 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/webhooks/{webhookId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "Example",
"url": "https://example.com",
"events": [
"issue.created"
]
}'Response 200
{
webhook: {
webhookId: string
name: string
url: string
events: ("issue.created" | "issue.updated" | "issue.transitioned" | "issue.deleted" | "issue.moved" | "issue.sla_breached" | "issue.ranked" | "issue.watchers" | "issue.votes" | "comment.created" | "comment.updated" | "comment.deleted" | "worklog.created" | "attachment.created" | "link.created" | "link.deleted" | "sprint.started" | "sprint.completed" | "version.released" | "space.deleted" | "index.rebuild" | "mail.received" | "approval.opened")[]
spaceIds: string[]
jql: string
enabled: boolean
secretHint: string
createdBy?: string
version: number
updatedAt: number
}
}/ v1/ orgs/ :orgId/ issues/ webhooks/ :webhookIdDeletes a webhook.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:admin
Path parameters
orgIdOrganization id (
org_…).webhookIdWebhook id (
whk_…).
curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/webhooks/{webhookId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
webhookId: string
}/ v1/ orgs/ :orgId/ issues/ webhooks/ :webhookId/ secretReplaces the signing secret (returned this once).
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:admin
Path parameters
orgIdOrganization id (
org_…).webhookIdWebhook id (
whk_…).
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/webhooks/{webhookId}/secret' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
webhook: {
webhookId: string
name: string
url: string
events: ("issue.created" | "issue.updated" | "issue.transitioned" | "issue.deleted" | "issue.moved" | "issue.sla_breached" | "issue.ranked" | "issue.watchers" | "issue.votes" | "comment.created" | "comment.updated" | "comment.deleted" | "worklog.created" | "attachment.created" | "link.created" | "link.deleted" | "sprint.started" | "sprint.completed" | "version.released" | "space.deleted" | "index.rebuild" | "mail.received" | "approval.opened")[]
spaceIds: string[]
jql: string
enabled: boolean
secretHint: string
createdBy?: string
version: number
updatedAt: number
}
secret: string
}/ v1/ orgs/ :orgId/ issues/ webhooks/ :webhookId/ pingSends a ping event now and returns the outcome.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:admin
Path parameters
orgIdOrganization id (
org_…).webhookIdWebhook id (
whk_…).
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/webhooks/{webhookId}/ping' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
ok: boolean
status?: number
error?: string
attempts: number
ms: number
}/ v1/ orgs/ :orgId/ issues/ webhooks/ :webhookId/ deliveriesThe last 50 deliveries.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:admin
Path parameters
orgIdOrganization id (
org_…).webhookIdWebhook id (
whk_…).
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/webhooks/{webhookId}/deliveries' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
deliveries: {
deliveryId: string
event: string
status?: number
ok: boolean
error?: string
attempts: number
ms?: number
at: number
}[]
}