API reference

Issue filters

Saved queries with sharing, stars and email subscriptions.
GET/v1/orgs/:orgId/issues/filters

Filters the caller owns or that are shared with them, starred first.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/filters' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  filters: {
    filterId: string
    name: string
    description: string
    jql: string
    ownerId?: string
    sharing: {
      org: boolean
      teams: string[]
      users: string[]
    }
    columns?: string[]
    subscriptions: {
      userId: string
      frequency: "daily" | "weekly"
      hour: number
      weekday?: number
      lastSentAt?: number
    }[]
    starred: boolean
    editable: boolean
    version: number
    updatedAt: number
  }[]
}
POST/v1/orgs/:orgId/issues/filters

Saves a query as a filter (private until shared).

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

Request body

  • descriptionstring

    Up to 1,000 characters.

  • sharingobject
  • sharing.orgbooleanrequired
  • sharing.teamsstring[]required

    Up to 50 items. Each up to 64 characters.

  • sharing.usersstring[]required

    Up to 200 items. Each up to 64 characters.

  • columnsstring[]

    Up to 30 items. Each up to 64 characters.

  • namestringrequired

    1–100 characters. Trimmed.

  • jqlstringrequired

    Up to 10,000 characters.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/filters' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Example",
    "jql": "example"
  }'
Send it from this page with your session or a key.

Response 201

{
  filter: {
    filterId: string
    name: string
    description: string
    jql: string
    ownerId?: string
    sharing: {
      org: boolean
      teams: string[]
      users: string[]
    }
    columns?: string[]
    subscriptions: {
      userId: string
      frequency: "daily" | "weekly"
      hour: number
      weekday?: number
      lastSentAt?: number
    }[]
    starred: boolean
    editable: boolean
    version: number
    updatedAt: number
  }
}
GET/v1/orgs/:orgId/issues/filters/:filterId

A filter the caller can see.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • filterId

    Filter id: a mail filter (flt_…) or a saved issue filter (ifl_…).

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/filters/{filterId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  filter: {
    filterId: string
    name: string
    description: string
    jql: string
    ownerId?: string
    sharing: {
      org: boolean
      teams: string[]
      users: string[]
    }
    columns?: string[]
    subscriptions: {
      userId: string
      frequency: "daily" | "weekly"
      hour: number
      weekday?: number
      lastSentAt?: number
    }[]
    starred: boolean
    editable: boolean
    version: number
    updatedAt: number
  }
}
PATCH/v1/orgs/:orgId/issues/filters/:filterId

Changes a filter (its owner, or org admins).

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • filterId

    Filter id: a mail filter (flt_…) or a saved issue filter (ifl_…).

Request body

  • namestring

    1–100 characters. Trimmed.

  • descriptionstring

    Up to 1,000 characters.

  • jqlstring

    Up to 10,000 characters.

  • sharingobject
  • sharing.orgbooleanrequired
  • sharing.teamsstring[]required

    Up to 50 items. Each up to 64 characters.

  • sharing.usersstring[]required

    Up to 200 items. Each up to 64 characters.

  • columnsstring[]

    Up to 30 items. Each up to 64 characters.

curl -X PATCH 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/filters/{filterId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Example",
    "description": "example",
    "jql": "example"
  }'
Send it from this page with your session or a key.

Response 200

{
  filter: {
    filterId: string
    name: string
    description: string
    jql: string
    ownerId?: string
    sharing: {
      org: boolean
      teams: string[]
      users: string[]
    }
    columns?: string[]
    subscriptions: {
      userId: string
      frequency: "daily" | "weekly"
      hour: number
      weekday?: number
      lastSentAt?: number
    }[]
    starred: boolean
    editable: boolean
    version: number
    updatedAt: number
  }
}
DELETE/v1/orgs/:orgId/issues/filters/:filterId

Deletes a filter and its subscriptions (its owner, or org admins).

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • filterId

    Filter id: a mail filter (flt_…) or a saved issue filter (ifl_…).

curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/filters/{filterId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  filterId: string
}
POST/v1/orgs/:orgId/issues/filters/:filterId/star

Stars or unstars a filter for the caller.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • filterId

    Filter id: a mail filter (flt_…) or a saved issue filter (ifl_…).

Request body

  • starredbooleanrequired
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/filters/{filterId}/star' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "starred": true
  }'
Send it from this page with your session or a key.

Response 200

{
  filter: {
    filterId: string
    name: string
    description: string
    jql: string
    ownerId?: string
    sharing: {
      org: boolean
      teams: string[]
      users: string[]
    }
    columns?: string[]
    subscriptions: {
      userId: string
      frequency: "daily" | "weekly"
      hour: number
      weekday?: number
      lastSentAt?: number
    }[]
    starred: boolean
    editable: boolean
    version: number
    updatedAt: number
  }
}
PUT/v1/orgs/:orgId/issues/filters/:filterId/subscription

Emails the caller the filter's issues daily or weekly at an hour (UTC); subscription: null stops it.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • filterId

    Filter id: a mail filter (flt_…) or a saved issue filter (ifl_…).

Request body

  • subscriptionobjectrequiredor null
  • subscription.frequency"daily" | "weekly"required
  • subscription.hourintegerrequired

    0–23.

  • subscription.weekdayinteger

    0–6.

curl -X PUT 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/filters/{filterId}/subscription' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "subscription": {
      "frequency": "daily",
      "hour": 1
    }
  }'
Send it from this page with your session or a key.

Response 200

{
  filter: {
    filterId: string
    name: string
    description: string
    jql: string
    ownerId?: string
    sharing: {
      org: boolean
      teams: string[]
      users: string[]
    }
    columns?: string[]
    subscriptions: {
      userId: string
      frequency: "daily" | "weekly"
      hour: number
      weekday?: number
      lastSentAt?: number
    }[]
    starred: boolean
    editable: boolean
    version: number
    updatedAt: number
  }
}