Search

POST Search all plans in a workspace

Find all plans in a workspace corresponding to the search attributes

POST https://api.tability.app/v2/workspaces/:workspaceID/search/plans

Request Body

NameTypeDescription

filter

String

Search filters

page

number

Identifier of the page results to fetch

[
    {
        "id": "b82dc810-75d9-4010-bc25-e29f536289ea",
        "parent_id": null,
        "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
        "nano_slug": "kHmU5VuMY0Tl",
        "title": "Company OKRs 2023 Q4",
        "plan_icon": "",
        "start_at": "2023-10-01T00:00:00.000Z",
        "finish_at": "2023-12-31T00:00:00.000Z",
        "state": "published",
        "created_at": "2023-11-23T12:41:13.597Z",
        "updated_at": "2023-11-29T05:55:20.712Z",
        "outcome_progress_prct": 0.133004926108374,
        "initiative_progress_prct": 0.0,
        "red_outcomes_count": 0,
        "yellow_outcomes_count": 0,
        "green_outcomes_count": 1,
        "grey_outcomes_count": 4,
        "total_outcomes_count": 5,
        "ncs": 20.0,
        "total_initiatives_count": 0,
        "closed_initiatives_count": 0,
        "archived": false,
        "cached_tag_list": null,
        "reminders_hour": 8,
        "reminders_start_at": null,
        "reminders_interval": 1,
        "reminders_period": "week",
        "active": true,
        "expired": false,
        "parent": null
    }
]

Using plan filters

You can pass filters in a JSON body to your POST request to filter plans.

{
    "filter": {
        "status": "active",
        "title": "My OKR plan",
        "children_of": "abcD1234",
        "archived": "false",
        "start_after": "2023-01-01"
    }
}

Here are the available filters:

  • title: will return all plans matching a specific title

  • children_of: will return all plans that are sub-plans or a specific plan (using the UUID or Nano ID of the parent plan)

  • archived: archived status of the plan

  • status: status of the plan

    • status = active -> will return plans that are currently in progress

    • status = planning -> will return all plans that have a finish date in the future

  • start_after: returns all plans starting after a specific date

POST Search all objectives in a workspace

Find all objectives in a workspace corresponding to the search attributes

POST https://api.tability.app/v2/workspaces/:workspaceID/search/objectives

Request Body

NameTypeDescription

filter

String

Search filters

page

number

Identifier of the page results to fetch

[
    {
        "id": "0987283c-b674-4986-8f64-51f6d7680fa4",
        "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
        "nano_slug": "fAkdMQ9b-3pY",
        "plan_id": "e4e24db3-f4f4-4735-b475-fc950fd30fc6",
        "rank": "",
        "title": "Supercharge our revenue growth",
        "created_at": "2023-11-23T11:27:42.667Z",
        "updated_at": "2023-11-23T11:27:45.574Z",
        "archived": false,
        "outcome_progress_prct": 0.35,
        "initiative_progress_prct": 0.714285714285714,
        "total_initiatives_count": 7,
        "closed_initiatives_count": 5,
        "grey_outcomes_count": 0,
        "red_outcomes_count": 1,
        "yellow_outcomes_count": 0,
        "green_outcomes_count": 1,
        "total_outcomes_count": 2,
        "ncs": 0.0,
        "description": null,
        "cached_tag_list": null,
        "plan": {
            "id": "e4e24db3-f4f4-4735-b475-fc950fd30fc6",
            "parent_id": "0044993f-069a-4718-8139-306c01972b44",
            "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
            "nano_slug": "bvZmBz9a5Ws4",
            "title": "Sales OKRs",
            "plan_icon": ":moneybag:",
            "start_at": "2023-10-12T00:00:00.000Z",
            "finish_at": "2024-01-04T00:00:00.000Z",
            "state": "published",
            "created_at": "2023-11-23T11:27:40.438Z",
            "updated_at": "2023-11-23T11:27:45.624Z",
            "archived": false,
            "cached_tag_list": null,
            "active": true,
            "expired": false
        }
    },
    {
        "id": "16a16482-821b-4c64-b0b4-f33eed40a975",
        "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
        "nano_slug": "igNfgIFGaswo",
        "plan_id": "c283fd3b-fc2e-4f1e-b940-8f2ebdf8c66e",
        "rank": "",
        "title": "Power up our Product Growth",
        "created_at": "2023-11-23T11:27:46.043Z",
        "updated_at": "2023-11-23T11:27:49.045Z",
        "archived": false,
        "outcome_progress_prct": 0.51,
        "initiative_progress_prct": 0.25,
        "total_initiatives_count": 12,
        "closed_initiatives_count": 3,
        "grey_outcomes_count": 0,
        "red_outcomes_count": 1,
        "yellow_outcomes_count": 1,
        "green_outcomes_count": 1,
        "total_outcomes_count": 3,
        "ncs": 0.0,
        "description": null,
        "cached_tag_list": null,
        "plan": {
            "id": "c283fd3b-fc2e-4f1e-b940-8f2ebdf8c66e",
            "parent_id": "0044993f-069a-4718-8139-306c01972b44",
            "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
            "nano_slug": "zQEPZku9uYlB",
            "title": "Product OKRs",
            "plan_icon": ":bulb:",
            "start_at": "2023-10-12T00:00:00.000Z",
            "finish_at": "2024-01-04T00:00:00.000Z",
            "state": "published",
            "created_at": "2023-11-23T11:27:44.247Z",
            "updated_at": "2023-11-23T11:27:49.855Z",
            "archived": false,
            "cached_tag_list": null,
            "active": true,
            "expired": false
        }
    }
]

Using objective filters

You can pass filters in a JSON body to your POST request to filter objectives.

{
    "filter": {
        "is_in_progress": true,
        "archived": false,
        "start_at": "2023-01-01",
        "finish_at": "2023-03-31",
    }
}

Here are the available filters:

  • is_in_progress: if true, only returns objectives in plans that are currently in progress

  • archived: return all objectives that where archived is "true" or "false"

  • start_at: returns all objectives in plans that start on or after a date

  • finish_at: returns all objectives in plans that finish on or before a date

POST Search all outcomes in a workspace

Find all outcomes in a workspace corresponding to the search attributes

POST https://api.tability.app/v2/workspaces/:workspaceID/search/outcomes

Request Body

NameTypeDescription

filter

String

Search filters

page

number

Identifier of the page results to fetch

[
    {
        "id": "2782552d-af69-40fc-a4c1-c638b16c0d53",
        "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
        "nano_slug": "Vjz94u6P52BX",
        "objective_id": "2d4b5f4b-2950-49f0-ab25-4b9716ac87bb",
        "rank": "~na",
        "title": "Achieve 80% Net Promotor Score",
        "description": "",
        "from": 80.0,
        "to": 85.0,
        "score_format": "eSAT _number_%",
        "created_at": "2023-11-23T12:41:15.114Z",
        "updated_at": "2023-11-23T12:41:15.114Z",
        "is_pending_checkin": false,
        "archived": false,
        "completed": false,
        "open_initiatives_count": 0,
        "closed_initiatives_count": 0,
        "total_initiatives_count": 0,
        "is_dummy": false,
        "outcome_progress_prct": 0.0,
        "initiative_progress_prct": 0.0,
        "outcome_contributors_count": 0,
        "cached_tag_list": null,
        "outcome_type": "improve_metric",
        "weight": 1,
        "membership": null,
        "plan": {
            "id": "33cda32a-a99c-4f7e-8229-5f2021e0e6e1",
            "parent_id": "b82dc810-75d9-4010-bc25-e29f536289ea",
            "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
            "nano_slug": "baclV3-_aIyX",
            "title": "Cross Department OKRs",
            "plan_icon": "",
            "start_at": "2023-10-01T00:00:00.000Z",
            "finish_at": "2023-12-31T00:00:00.000Z",
            "state": "published",
            "created_at": "2023-11-23T12:41:14.301Z",
            "updated_at": "2023-11-23T12:41:36.954Z",
            "archived": false,
            "cached_tag_list": null,
            "active": true,
            "expired": false
        },
        "objective": {
            "id": "2d4b5f4b-2950-49f0-ab25-4b9716ac87bb",
            "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
            "nano_slug": "Ggap3m7MyrZH",
            "plan_id": "33cda32a-a99c-4f7e-8229-5f2021e0e6e1",
            "rank": "~nd",
            "title": "Get more inbound sales through word of mouth originating from a great product/service experience and focused sales approach",
            "created_at": "2023-11-23T12:41:15.077Z",
            "updated_at": "2023-11-23T12:41:15.077Z",
            "archived": false,
            "outcome_progress_prct": 0.0,
            "initiative_progress_prct": 0.0,
            "total_initiatives_count": 0,
            "closed_initiatives_count": 0,
            "grey_outcomes_count": 1,
            "red_outcomes_count": 0,
            "yellow_outcomes_count": 0,
            "green_outcomes_count": 0,
            "total_outcomes_count": 1,
            "ncs": 0.0,
            "description": null,
            "cached_tag_list": null
        },
        "current_checkin": null,
        "previous_checkin": null
    },
    {
        "id": "9773d9d3-786c-4f60-acbf-9b5bd8c27dc3",
        "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
        "nano_slug": "zBeQ803pV9yU",
        "objective_id": "26bcca23-74b7-4c37-8b59-25e6e44dab7d",
        "rank": "~na",
        "title": "30 % of sales from indirect channels",
        "description": "",
        "from": null,
        "to": 0.0,
        "score_format": "_number_ EBITDA",
        "created_at": "2023-11-23T12:41:14.994Z",
        "updated_at": "2023-11-23T12:41:14.994Z",
        "is_pending_checkin": false,
        "archived": false,
        "completed": false,
        "open_initiatives_count": 0,
        "closed_initiatives_count": 0,
        "total_initiatives_count": 0,
        "is_dummy": false,
        "outcome_progress_prct": 0.0,
        "initiative_progress_prct": 0.0,
        "outcome_contributors_count": 0,
        "cached_tag_list": null,
        "outcome_type": "stay_above",
        "weight": 1,
        "membership": null,
        "plan": {
            "id": "33cda32a-a99c-4f7e-8229-5f2021e0e6e1",
            "parent_id": "b82dc810-75d9-4010-bc25-e29f536289ea",
            "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
            "nano_slug": "baclV3-_aIyX",
            "title": "Cross Department OKRs",
            "plan_icon": "",
            "start_at": "2023-10-01T00:00:00.000Z",
            "finish_at": "2023-12-31T00:00:00.000Z",
            "state": "published",
            "created_at": "2023-11-23T12:41:14.301Z",
            "updated_at": "2023-11-23T12:41:36.954Z",
            "archived": false,
            "cached_tag_list": null,
            "active": true,
            "expired": false
        },
        "objective": {
            "id": "26bcca23-74b7-4c37-8b59-25e6e44dab7d",
            "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
            "nano_slug": "6-5rX2mI7HxY",
            "plan_id": "33cda32a-a99c-4f7e-8229-5f2021e0e6e1",
            "rank": "~nc",
            "title": "Grow revenue from indirect channels other than sales team",
            "created_at": "2023-11-23T12:41:14.967Z",
            "updated_at": "2023-11-23T12:41:14.967Z",
            "archived": false,
            "outcome_progress_prct": 0.0,
            "initiative_progress_prct": 0.0,
            "total_initiatives_count": 0,
            "closed_initiatives_count": 0,
            "grey_outcomes_count": 1,
            "red_outcomes_count": 0,
            "yellow_outcomes_count": 0,
            "green_outcomes_count": 0,
            "total_outcomes_count": 1,
            "ncs": 0.0,
            "description": null,
            "cached_tag_list": null
        },
        "current_checkin": null,
        "previous_checkin": null
    }
]

Using outcome filters

You can pass filters in a JSON body to your POST request to filter outcomes.

{
    "filter": {
        "is_in_progress": true,
        "archived": false,
        "start_at": "2023-01-01",
        "finish_at": "2023-03-31",
    }
}

Here are the available filters:

  • is_in_progress: if true, only returns outcomes in plans that are currently in progress

  • archived: return all outcomes that where archived is "true" or "false"

  • start_at: returns all outcomes in plans that start on or after a date

  • finish_at: returns all outcomes in plans that finish on or before a date

POST Search all initiatives in a workspace

Find all initiatives in a workspace corresponding to the search attributes

POST https://api.tability.app/v2/workspaces/:workspaceID/search/initiatives

Request Body

NameTypeDescription

filter

String

Search filters

page

number

Identifier of the page results to fetch

[
    {
        "id": "09fcf18c-f8d0-41e2-abc8-f6630f0971ce",
        "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
        "nano_slug": "N2Jc9jMB9DU8",
        "outcome_id": "5cc5d819-12ae-4cee-8abd-ca2ed0b71306",
        "title": "Run 50 demonstrations in new areas in Indo",
        "rank": "~nf",
        "column_rank": "~n",
        "state": "open",
        "created_at": "2023-11-23T12:41:14.945Z",
        "updated_at": "2023-11-23T12:41:14.945Z",
        "membership_id": null,
        "work_state": "backlog",
        "roadmap_state": "later",
        "roadmap_now_at": null,
        "closed_at": null,
        "archived": false,
        "body": "",
        "due_at": null,
        "cached_tag_list": null,
        "membership": null,
        "plan": {
            "id": "33cda32a-a99c-4f7e-8229-5f2021e0e6e1",
            "parent_id": "b82dc810-75d9-4010-bc25-e29f536289ea",
            "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
            "nano_slug": "baclV3-_aIyX",
            "title": "Cross Department OKRs",
            "plan_icon": "",
            "start_at": "2023-10-01T00:00:00.000Z",
            "finish_at": "2023-12-31T00:00:00.000Z",
            "state": "published",
            "created_at": "2023-11-23T12:41:14.301Z",
            "updated_at": "2023-11-23T12:41:36.954Z",
            "archived": false,
            "cached_tag_list": null,
            "active": true,
            "expired": false
        },
        "outcome": {
            "id": "5cc5d819-12ae-4cee-8abd-ca2ed0b71306",
            "workspace_id": "f709df85-fa72-43d4-b398-db159ec6f8da",
            "nano_slug": "pSLPk0hFmkC8",
            "objective_id": "f03cb496-97c1-4eb9-aa92-9015716b0514",
            "rank": "~na",
            "title": "17 Hubs/branches",
            "description": "",
            "from": 0.0,
            "to": 17.0,
            "score_format": "_number_ hubs/branches",
            "created_at": "2023-11-23T12:41:14.695Z",
            "updated_at": "2023-11-23T12:41:31.145Z",
            "archived": false,
            "completed": false,
            "is_dummy": false,
            "outcome_type": "improve_metric",
            "weight": 1,
            "membership": null
        }
    }
]

Using initiative filters

You can pass filters in a JSON body to your POST request to filter outcomes.

{
    "filter": {
        "is_in_progress": true,
        "archived": "false",
        "start_at": "2023-01-01",
        "finish_at": "2023-03-31",
    }
}

Here are the available filters:

  • is_in_progress: if true, only returns initiatives in plans that are currently in progress

  • archived: return all outcomes that where archived is "true" or "false"

  • start_at: returns all outcomes in plans that start on or after a date

  • finish_at: returns all outcomes in plans that finish on or before a date

Last updated