Work Items and OKRs

GET /portfolio/{portfolioId}/items

Changed on

Get all portfolio initiatives and OKRs metadata by the portfolio ID

Request

  • Base URL
    https://api.craft.io
  • URL
    https://api.craft.io/portfolio/{portfolioId}/items
  • Auth
    API key in header x-api-key

Path parameters

portfolioIdstring required

Query parameters

fieldsstring

Comma separated field list to be included in response, set "all" for all fields

pagenumber double
limitnumber double

Items per page (1-500).

updated_fromstring date-time

Get list of items whose updateTime is at or after this date (e.g. 2023-08-09T12:33:18.615Z ). Matches the updateTime field this endpoint returns, so the largest one you have seen can be passed straight back as an incremental-sync cursor.

updated_tostring date-time

Get list of items whose updateTime is before this date (e.g. 2023-09-09T23:22:10.531Z )

typestring

Filter by item type, comma separated. Accepts canonical portfolio type names (initiative, super_initiative, objective, keyresult) and this portfolio's type labels. A canonical name ALWAYS wins over a label that collides with it, and Craft's stock labels do collide: "Initiative" is the default label of canonical keyresult, so type=initiative means canonical initiative rather than the type displayed as "Initiative". Filter by the typeKey a read returns, not the type label, to be unambiguous.

parentsstring

Filter by parent/ancestor IDs (comma separated). MUST be internal numeric IDs (e.g. 2305843010635321210), NOT shortIds like CRK-25832 — the SQL casts to ::bigint[], so a shortId yields zero matches (200 with an empty list, no error). To resolve a shortId first, call the same list endpoint with ?shortId=<KEY-N> to get the numeric id.

keywordstring

Case-insensitive substring search over title + description + linked dev-tool issue keys (e.g. a Jira key like PROJ-123) + attachment metadata. Min 2 chars; shorter values are ignored.

shortIdstring

Exact match on textual short id (e.g. CRK-20091). When supplied, takes precedence over keyword.

devToolKeystring

Exact match on a linked dev-tool issue key — Jira, Azure DevOps, or another connected integration (e.g. EP-402). Strongly consistent: resolves against the link tables' key unique indexes, so it finds every linked item — unlike keyword, which only carries a dev key after the item's title/description is edited after linking and therefore misses linked-but-unedited items. Case-sensitive (keys are stored upper-case). Combines with other filters (status, type, …).

statusstring
importancestring
createdBystring
created_fromstring date-time
created_tostring date-time
customFieldsstring
sprintstring
quarterstring
labelsstring
assigneestring

Response

List of portfolio initiatives and their metadata

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status