Checking authentication...

Views

Manage app views

7 tools

Get Views

Read Idempotent

POST /v1/tools/podio/getViews

List all views on an app. Returns array of views with view_id, name, item counts, and grouping data. By default only returns custom saved views.

Parameters

NameTypeRequiredDescription
app_idnumberrequiredApp ID
include_standard_viewsbooleanoptionalSet true to include standard views (table, badge, calendar) alongside custom saved views. Defaults to false.

Request

curl -X POST https://api.syncello.io/v1/tools/podio/getViews \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "app_id": "123"
}'

Response

[
  {
    "view_id": 61200088,
    "name": "Open Deals",
    "type": "saved",
    "layout": "table",
    "filters": [
      {
        "key": 261000002,
        "values": [
          1,
          2
        ],
        "humanized_values": [
          {
            "value": 1,
            "label": "Prospect"
          },
          {
            "value": 2,
            "label": "Negotiation"
          }
        ]
      }
    ],
    "sort_by": 261000003,
    "sort_desc": true,
    "items": 3,
    "private": false,
    "rights": [
      "update",
      "view",
      "delete"
    ]
  }
]

Try It

Try it

Sign in to execute this tool

Get View

Read Idempotent

POST /v1/tools/podio/getView

Get view definition by ID or name. Returns view configuration including sorting, filters, field settings, and grouping.

Parameters

NameTypeRequiredDescription
app_idnumberrequiredApp ID
view_id_or_nameanyrequiredView ID (numeric), standard view name ("table", "badge", "calendar"), or "last" for the user's most recent view state

Request

curl -X POST https://api.syncello.io/v1/tools/podio/getView \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "app_id": "123",
  "view_id_or_name": "..."
}'

Response

{
  "view_id": 61200088,
  "name": "Open Deals",
  "type": "saved",
  "layout": "table",
  "filters": [
    {
      "key": 261000002,
      "values": [
        1,
        2
      ],
      "humanized_values": [
        {
          "value": 1,
          "label": "Prospect"
        },
        {
          "value": 2,
          "label": "Negotiation"
        }
      ]
    }
  ],
  "sort_by": 261000003,
  "sort_desc": true,
  "items": 3,
  "private": false,
  "rights": [
    "update",
    "view",
    "delete"
  ],
  "created_by": {
    "user_id": 1122334,
    "name": "Jane Doe"
  },
  "created_on": "2026-07-01 14:40:00"
}

Try It

Try it

Sign in to execute this tool

Create View

Write

POST /v1/tools/podio/createView

Create a saved view with filters, sorting, and grouping on an app. PREREQUISITE: Call podio_getApp(app_id, fields_only: true) first to get field IDs, types, and category option IDs — views are built on fields, so you need the schema to construct meaningful filters and grouping. FILTER FORMATS (keyed by field_id or system key): category/question=[option_id, ...] (integers from getApp config.settings.options; null matches no value), number/money/calculation={"from": number, "to": number}, date={"from": "YYYY-MM-DD", "to": "YYYY-MM-DD"} or relative {"from": "-7d", "to": "+0d"} (units: d=days, w=weeks, m=months, y=years; append r to round e.g. "-1mr"), app=[item_id, ...] (null matches no reference), contact=[profile_id, ...], progress={"from": 0, "to": 100}, duration={"from": seconds, "to": seconds}. SYSTEM FILTER KEYS (no field_id needed): created_by/last_edit_by=[{"type":"user","id":user_id}] (id 0 = current user), created_on/last_edit_on={"from":"date","to":"date"}, tags=["tag1","tag2"]. NOTE: text fields CANNOT be filtered. GROUPING: type "field" with a field_id as value (best for category fields), or type "revision" with "created_by"/"created_on"/"tags" as value. For date grouping add sub_value: "date", "weekday", "week", "month", or "year". SORT: Use a field_id or system field (created_on, app_item_id, activity, title, etc.). When asked to create views without specific criteria, examine the app fields and create views that are actually useful — group by category fields, filter by date ranges, sort by relevant fields. Do NOT create empty views with no filters.

Parameters

NameTypeRequiredDescription
app_idnumberrequiredApp ID (from getApp, getAppsBySpace, or platform context)
namestringrequiredView name
privatebooleanoptionalPrivate to creator (default: false)
sort_bystringoptionalSort by field_id or system field: created_on, created_by, last_edit_on, app_item_id, item_id, activity, priority, title
sort_descbooleanoptionalSort descending (default: false)
filtersarrayoptionalArray of filter objects. Each has a key (field_id or system key) and values (format varies by field type — see tool description).
layoutstringoptionalLayout type: "table", "badge", "calendar". Defaults to "table" if omitted. Only change if the user specifically requests a different layout.
fieldsobjectoptionalField display settings keyed by field_id. Each can have: hidden (boolean), width (number), delta_offset (number), use ("_x_axis_" or "_y_axis_" for calendar)
groupingobjectoptionalGroup items in the view. Use type "field" with a category field_id for best results, or type "revision" with "created_by"/"created_on"/"tags".

Request

curl -X POST https://api.syncello.io/v1/tools/podio/createView \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "app_id": "123",
  "name": "example"
}'

Response

{
  "view_id": 61200088,
  "name": "Open Deals",
  "type": "saved",
  "layout": "table",
  "filters": [
    {
      "key": 261000002,
      "values": [
        1,
        2
      ],
      "humanized_values": [
        {
          "value": 1,
          "label": "Prospect"
        },
        {
          "value": 2,
          "label": "Negotiation"
        }
      ]
    }
  ],
  "sort_by": 261000003,
  "sort_desc": true,
  "items": 3,
  "private": false,
  "rights": [
    "update",
    "view",
    "delete"
  ],
  "created_by": {
    "user_id": 1122334,
    "name": "Jane Doe"
  },
  "created_on": "2026-07-01 14:40:00"
}

Try It

Try it

Sign in to execute this tool

Update View

Write

POST /v1/tools/podio/updateView

Update view configuration. Only specified fields are changed; omitted fields remain unchanged. PREREQUISITE: Use getView first to see current configuration, and getApp(app_id, fields_only: true) to get field IDs for filters/grouping. FILTER FORMATS (keyed by field_id or system key): category/question=[option_id, ...] (integers from getApp config.settings.options; null matches no value), number/money/calculation={"from": number, "to": number}, date={"from": "YYYY-MM-DD", "to": "YYYY-MM-DD"} or relative {"from": "-7d", "to": "+0d"} (units: d/w/m/y; append r to round), app=[item_id, ...], contact=[profile_id, ...], progress={"from": 0, "to": 100}, duration={"from": seconds, "to": seconds}. SYSTEM FILTER KEYS: created_by/last_edit_by=[{"type":"user","id":user_id}], created_on/last_edit_on={"from":"date","to":"date"}, tags=["tag"]. NOTE: text fields CANNOT be filtered. GROUPING: type "field" with field_id as value, or type "revision" with "created_by"/"created_on"/"tags". Date grouping uses sub_value: "date"/"weekday"/"week"/"month"/"year".

Parameters

NameTypeRequiredDescription
view_idnumberrequiredView ID to update
app_idnumberrequiredApp ID that the view belongs to (needed for field validation). Get from getView or getViews.
namestringoptionalView name
privatebooleanoptionalPrivate to creator
sort_bystringoptionalSort by field_id or system field: created_on, created_by, last_edit_on, app_item_id, activity, title, etc.
sort_descbooleanoptionalSort descending
filtersarrayoptionalFilter objects — replaces ALL existing filters on the view
layoutstringoptionalLayout type: "table", "badge", "calendar"
fieldsobjectoptionalField display settings keyed by field_id
groupingobjectoptionalGrouping config

Request

curl -X POST https://api.syncello.io/v1/tools/podio/updateView \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "view_id": "123",
  "app_id": "123"
}'

Response

{
  "updated": true,
  "view_id": 61200088
}

Try It

Try it

Sign in to execute this tool

Delete View

Destructive

POST /v1/tools/podio/deleteView

Permanently delete a view. This cannot be undone. Use getView first to verify the correct view before deleting.

Parameters

NameTypeRequiredDescription
view_idnumberrequiredView ID to delete

Request

curl -X POST https://api.syncello.io/v1/tools/podio/deleteView \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "view_id": "123"
}'

Response

{
  "deleted": true,
  "view_id": 61200088
}

Try It

Try it

Sign in to execute this tool

Make View Default

Read Idempotent

POST /v1/tools/podio/makeViewDefault

Set a view as the default when users open the app. Must be a saved view (not a standard view) and the user must have app update rights.

Parameters

NameTypeRequiredDescription
view_idnumberrequiredView ID of a saved (non-standard) view to make default

Request

curl -X POST https://api.syncello.io/v1/tools/podio/makeViewDefault \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "view_id": "123"
}'

Response

{
  "default_set": true,
  "view_id": 61200088
}

Try It

Try it

Sign in to execute this tool

Update Last View

Write Idempotent

POST /v1/tools/podio/updateLastView

Save the user's most recent view preferences (sort, filters, layout) on an app. This state is retrieved via getView with view_id_or_name="last".

Parameters

NameTypeRequiredDescription
app_idnumberrequiredApp ID
sort_bystringoptionalSort field
sort_descbooleanoptionalSort descending
filtersarrayoptionalFilter objects
layoutstringoptionalLayout type
fieldsobjectoptionalField settings

Request

curl -X POST https://api.syncello.io/v1/tools/podio/updateLastView \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "app_id": "123"
}'

Response

{
  "updated": true,
  "app_id": 28471960
}

Try It

Try it

Sign in to execute this tool