Applications
Manage app definitions, fields, and configuration
14 tools
Create App
POST /v1/tools/podio/createApp
Create a new app in a Podio workspace with field definitions. Use podio_getSpacesOnOrganization or podio_getUserStatus to find the space_id. Icon auto-generates if omitted. Field types: text, number, date, category, app, contact, phone, email, embed, image, money, progress, location, duration, separator. NOTE: Do NOT include calculation fields here — they must be added after creation with podio_calculationField because they need to reference other field_ids. Each field needs: { type, config: { label, settings? } }. FIELD ORDERING: Fields are created in the exact order they appear in this array — array position IS the display order (assigned automatically; you do NOT need to set delta or any position value). Just list fields in the order you want them shown. This is critical when using separator fields as section headers — each separator MUST be placed immediately before the fields it groups. FIELD TYPE SELECTION: For text fields, default to size:"small", format:"plain" (single-line) — only use size:"large" when multiple paragraphs are expected (descriptions, notes, comments), and only use format:"html" when rich text formatting is explicitly needed. For addresses/locations, ALWAYS use type:"location" (not text) with structured:false for single-line address input. For the full field settings reference, use viewDocs("podio-field-types").
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
space_id | number | required | Space ID (from getSpacesOnOrganization, getUserStatus, or platform context) |
config | object | required | App configuration. Only "name" is required. |
fields | array | required | Array of field definitions to create with the app. Each field is { type, config: { label, settings? } } — type-specific keys go INSIDE config.settings, never directly on config. Common config.settings by type: category: { options: [{ text: "..." }], multiple: false, display: "dropdown" } (category REQUIRES at least one option); app: { referenced_apps: [{ app_id: N }] }; date: { calendar: true, time: "enabled" }; text: { size: "small"|"large" }; number: { decimals: 2 }; money: { allowed_currencies: ["USD"] }; contact: { type: "space_users" }. |
silent | boolean | optional | Suppress notifications |
Flags
| Name | Type | Description |
|---|---|---|
silent | boolean | Suppress notifications |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/createApp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"space_id": "123",
"config": "...",
"fields": "..."
}'Response
{
"app_id": 28471960,
"link": "https://podio.com/acme-corp/deals"
} Try It
Try it
Sign in to execute this tool
Sign InCreate Fields
POST /v1/tools/podio/createFields
Add one or more new fields to an existing Podio app. Additive-only: never updates or removes existing fields — use updateFields for that. Each field requires a type and config.label; settings depend on the type. Returns the server response (includes new field_ids). FIELD ORDERING: New fields are added to the END of the existing app by default. Before adding, call podio_getApp to see the existing fields and their order, then decide where the new field belongs — it does NOT always go at the bottom. If it must sit between existing fields, add it first and then call podio_updateFieldOrder with all field_ids in the desired display order. When adding separator fields as section headers, place them before the data fields they group.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | App ID to add fields to. |
fields | array | required | New fields to add. Do NOT include field_id on any entry. |
silent | boolean | optional |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/createFields \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123",
"fields": "..."
}'Response
{
"app_id": 28471960,
"fields_added": 2,
"created_fields": [
{
"field_id": 261000006,
"label": "Probability",
"external_id": "probability",
"type": "number"
},
{
"field_id": 261000007,
"label": "Notes",
"external_id": "notes",
"type": "text"
}
],
"hint": "Use the field_id values above (not labels) when setting field values in createItem/updateItem."
} Try It
Try it
Sign in to execute this tool
Sign InGet App
POST /v1/tools/podio/getApp
Get a Podio app schema. Returns compact field summaries by default — use field_id or field_label to get full detail on a specific field. IMPORTANT: Return the absolute minimum data required to fulfill the user's request. If the user mentions a specific field by name, use field_label to fetch only that field. Only fetch the full app when you need to see all fields (e.g., before creating an item). Prefer fields_only over full app response. Prefer field_type="basic" when the task involves creating or updating items (calc fields cannot be written to). Key response fields: field_id (use as key in createItem/updateItem), type (determines value format), config.settings.options (category option IDs).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | App ID (from platform context, getAppsBySpace, or searchPodio) |
field_id | number | optional | Get single field by ID |
field_label | string | optional | Get single field by label (case-insensitive) |
summary_only | boolean | optional | Config only, no fields |
fields_only | boolean | optional | Fields array only |
field_type | string | optional | Filter: all, basic, calculation |
include_deleted | boolean | optional | Include deleted fields in the response (default: false). By default only active fields are returned. |
Flags
| Name | Type | Description |
|---|---|---|
field_id | number | Get single field by ID |
field_label | string | Get single field by label (case-insensitive) |
summary_only | boolean | Config only, no fields |
fields_only | boolean | Fields array only |
field_type | string | Filter: all, basic, calculation |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/getApp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123"
}'Response
{
"app_id": 28471960,
"config": {
"name": "Deals",
"item_name": "Deal",
"description": "Sales pipeline",
"type": "standard",
"default_view": "table",
"icon_id": 334
},
"current_revision": 3,
"default_view_id": null,
"fields": [
{
"field_id": 261000001,
"external_id": "company-name",
"label": "Company Name",
"type": "text",
"config": {
"required": false,
"settings": {
"size": "small",
"format": "plain"
}
}
},
{
"field_id": 261000002,
"external_id": "stage",
"label": "Stage",
"type": "category",
"config": {
"required": false,
"settings": {
"options": [
{
"id": 1,
"text": "Prospect"
},
{
"id": 2,
"text": "Won"
}
],
"multiple": false
}
}
},
{
"field_id": 261000003,
"external_id": "deal-value",
"label": "Deal Value",
"type": "money",
"config": {
"required": false,
"settings": {
"allowed_currencies": [
"USD"
]
}
}
}
],
"space_id": 7482910,
"status": "active"
} Try It
Try it
Sign in to execute this tool
Sign InGet Apps By Space
POST /v1/tools/podio/getAppsBySpace
List all apps in a specific workspace. Use when you already know the workspace ID. Use summary_only: true for a smaller response with just app_id and name. To find apps by name, use searchPodio with ref_type: app instead.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
space_id | number | required | Space ID (from getSpacesOnOrganization, getUserStatus, or platform context) |
summary_only | boolean | optional | Return only app_id and name |
Flags
| Name | Type | Description |
|---|---|---|
summary_only | boolean | Return only app_id and name |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/getAppsBySpace \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"space_id": "123"
}'Response
[
{
"app_id": 28471960,
"config": {
"name": "Deals",
"item_name": "Deal",
"type": "standard",
"icon": "334.png",
"icon_id": 334
},
"current_revision": 3,
"is_default": false,
"link": "https://podio.com/acme-corp/deals",
"name": "Deals",
"space_id": 7482910,
"status": "active",
"url_label": "deals"
}
] Try It
Try it
Sign in to execute this tool
Sign InUpdate App
POST /v1/tools/podio/updateApp
Update Podio app-level config (name, item_name, description, icon, voting, tasks, etc.). Partial updates supported — only include what you want to change. For field changes use createFields, updateFields, updateFieldOrder, or calculationField.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | App ID (from getApp, getAppsBySpace, or platform context) |
config | object | optional | App config properties to change. Only include what you want to update — omitted properties are preserved. |
silent | boolean | optional | Suppress notifications |
return_full_response | boolean | optional | Return full JSON instead of summary |
Flags
| Name | Type | Description |
|---|---|---|
return_full_response | boolean | Return full JSON instead of summary |
silent | boolean | Suppress notifications |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/updateApp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123"
}'Response
{
"status": "ok",
"app_id": 28471960,
"changes": {
"config_updated": true,
"fields_added": 0,
"fields_deleted": 0
}
} Try It
Try it
Sign in to execute this tool
Sign InUpdate Fields
POST /v1/tools/podio/updateFields
Safely update fields on a Podio app. Validates every proposed change against the current app state and applies only the safe ones — unsafe operations are reported in the "skipped" bucket with explanations and alternatives. Does NOT accept settings.options directly for category fields; use option_ops instead — removal of options is intentionally not available because it causes irreversible data loss. Each option_ops entry is a SINGLE op object. Shapes: {op:"add", options:[{text:"5", color?:"DCEBD8"}, ...]} to add one or more new options; {op:"rename", option_id:123, text:"New name"} to rename one option; {op:"recolor", option_id:123, color:"E8F0F8"} to recolor one option; {op:"reorder", option_ids:[3,1,2]} to reorder by id. Do NOT put `text` at the op level for "add" — text belongs inside each options[] entry. Do NOT pass the full options list (that would be settings.options, which is refused). For calculation fields, prefer the dedicated calculationField tool. PREREQUISITE: call getApp first to collect field_ids and current option IDs.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | |
fields | array | required | |
silent | boolean | optional |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/updateFields \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123",
"fields": "..."
}'Response
{
"app_id": 28471960,
"applied": [
{
"field_id": 261000007,
"changes": [
"label"
]
}
],
"skipped": []
} Try It
Try it
Sign in to execute this tool
Sign InUpdate Field Order
POST /v1/tools/podio/updateFieldOrder
Reorder fields in an app. Pass an array of field_ids in the desired display order. Fields not in the array are appended at the end. Use getApp first to see current field_ids and their order (delta values). Preserves all field config during reordering.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | App ID (from getApp, getAppsBySpace, or platform context) |
field_order | array | required | Array of field IDs in the desired display order. Fields not included are appended at the end. Get current field IDs from getApp. |
silent | boolean | optional | Suppress notifications |
Flags
| Name | Type | Description |
|---|---|---|
silent | boolean | Suppress notifications |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/updateFieldOrder \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123",
"field_order": "..."
}'Response
{
"app_id": 28471960,
"app_name": "Deals",
"fields_reordered": 3,
"new_order": [
{
"field_id": 261000001,
"label": "Company Name",
"delta": 0
},
{
"field_id": 261000002,
"label": "Stage",
"delta": 1
},
{
"field_id": 261000003,
"label": "Deal Value",
"delta": 2
}
]
} Try It
Try it
Sign in to execute this tool
Sign InGet App Dependencies
POST /v1/tools/podio/getAppDependencies
Get apps that this app's relationship fields point TO. For example, if Projects has a "Client" relationship field pointing to Clients, getAppDependencies(Projects) returns [Clients]. Use getAppInverseDependencies for the reverse direction.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | App ID (from getApp, getAppsBySpace, or platform context) |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/getAppDependencies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123"
}'Response
{
"apps": [
{
"app_id": 28460003,
"config": {
"icon": "251.png",
"icon_id": 251,
"item_name": "Contact",
"name": "Contacts",
"type": "standard"
},
"current_revision": 12,
"is_default": false,
"item_name": "Contact",
"link": "https://podio.com/acme-corp/contacts",
"name": "Contacts",
"space_id": 7482910,
"status": "active",
"url": "https://podio.com/acme-corp/contacts",
"url_label": "contacts"
}
],
"dependencies": {}
} Try It
Try it
Sign in to execute this tool
Sign InGet App Inverse Dependencies
POST /v1/tools/podio/getAppInverseDependencies
Get apps that have relationship fields pointing TO this app. For example, if Projects has a "Client" relationship field pointing to Clients, getAppInverseDependencies(Clients) returns [Projects]. Useful for finding what would break if you delete this app.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | App ID (from getApp, getAppsBySpace, or platform context) |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/getAppInverseDependencies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123"
}'Response
{
"dependent_apps": [
{
"app_id": 28471960,
"field_id": 261000009
}
]
} Try It
Try it
Sign in to execute this tool
Sign InUpdate App Order
POST /v1/tools/podio/updateAppOrder
Reorder apps in a workspace. Pass a complete array of app_ids in the desired display order. Apps not in the array keep their relative position. Use getAppsBySpace first to get current app_ids.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
space_id | number | required | Space ID (from getSpacesOnOrganization, getUserStatus, or platform context) |
app_ids | array | required | Complete array of app IDs in the desired display order. Get current IDs from getAppsBySpace. |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/updateAppOrder \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"space_id": "123",
"app_ids": "..."
}'Response
{
"updated": true,
"space_id": 7900026,
"apps_reordered": 4
}Alternate mode
{
"space_id": 7482910,
"apps_reordered": 4
} Try It
Try it
Sign in to execute this tool
Sign InCalculation Field
POST /v1/tools/podio/calculationField
Create or update a Podio calculation field with script validation. CRITICAL — Podio calculations are a LIMITED JavaScript subset. Read these rules BEFORE writing a script. HOW RELATED-ITEM DATA WORKS: You CANNOT iterate over related items as objects. There are NO item objects with .fields or named properties. Instead, each field from a related app is a SEPARATE @[All of ...] reference returning a PARALLEL ARRAY. Combine data by pulling each field into its own array and indexing them together. WRONG: var contacts = @[Contacts](field_123); contacts.forEach(c => c.fields[456]) WRONG: contact['First Name'], contact.fields[123], item.value RIGHT: var names = @[All of Name with nulls](inn_275861713_275870858); var emails = @[All of Email with nulls](inn_275861716_275870858); for (var i = 0; i < names.length; i++) { names[i] + " <" + emails[i] + ">"; } CRITICAL — "with nulls" (inn_/outn_): When pulling MULTIPLE arrays from related items, ALWAYS use inn_/outn_ (with nulls) for ALL arrays. Without nulls, if a related item is missing a value for one field, that array shrinks and the indexes no longer align across arrays. inn_/outn_ preserves null positions so array[i] always refers to the same related item across all arrays. FIELD REFERENCE SYNTAX — @[Label](variable): Same-app: @[Field Label](field_NUMBER) e.g. @[Status](field_275861713) Unique ID: @[Unique ID](item_app_item_id) Related-app: @[All of Label](DIRECTION_TARGETFIELDID_RELFIELDID) DIRECTION: in (incoming, drops nulls), out (outgoing, drops nulls), inn (incoming with nulls), outn (outgoing with nulls). ALWAYS use inn_/outn_ (with nulls) when pulling multiple parallel arrays — without nulls, missing values cause arrays to shrink and indexes misalign. OUTGOING (out_/outn_): RELFIELDID is in THIS app (the relationship field here), TARGETFIELDID is in the RELATED app (the field to read there). INCOMING (in_/inn_): BOTH RELFIELDID and TARGETFIELDID are in the RELATED app. The RELFIELDID is the relationship field in the related app that points BACK to this app. e.g. outgoing: @[All of Name with nulls](outn_275861713_275870858) means: get Name (field 275861713) from related app, via relationship field 275870858 in THIS app e.g. incoming: @[All of Name with nulls](inn_275861713_275870858) means: get Name (field 275861713) from related app, via relationship field 275870858 in the RELATED app that points back here Aggregation: @[Sum of Label](in_sum_TARGETFIELDID_RELFIELDID) also max, min, avg FIELD VALUE TYPES (CRITICAL) — what @[All of] returns for each field type: Same-app (field_XXXXX): Nulls are actual null (falsy, == null works). moment(v) works on dates. - Text: [string]. Category: [string] text label. Multi Category: [object] "Red,Blue" comma-joined. - Date: [object] Date. moment(v) works directly. Date Range: start only (end inaccessible). - Number: [number]. Money: [number] no currency. Duration: [number] DECIMAL HOURS. Progress: [number] 0-1 FRACTION. - Contact: [object] stringifies to name. Phone/Email: [object] access v[0].type, v[0].value. Related with nulls (outn_/inn_): ALL values are typeof "object" and TRUTHY — even empty ones! - NULL CHECK: MUST use (v + '' != '') — NOT if(v) which is ALWAYS true! - moment() on dates: moment(v) FAILS — use moment(v + '') or moment(v[0]) - Phone/Email: v[0].type, v[0].value (extra wrapper level) - Number 0 vs null: v + '' == '' means null, v + '' == '0' means zero Related without nulls (out_/in_): Shorter arrays (nulls dropped). Bare primitives (string/number). - DANGER: Multi Category with out_/in_ is FLATTENED per-option, not per-item — array misaligns! - Phone/Email: v.type, v.value directly (no [0]) HOW TO FIND THE RIGHT IDs: OUTGOING (out_/outn_): 1. getApp on THIS app — find the relationship field (type "app") — its field_id = RELFIELDID (last number) 2. getApp on the RELATED app — find fields to read — their field_ids = TARGETFIELDIDs (first number) INCOMING (in_/inn_): 1. The RELATED app has a relationship field pointing to THIS app 2. getApp on the RELATED app — find its relationship field (type "app") that references THIS app — its field_id = RELFIELDID (last number) 3. In the SAME related app — find fields to read — their field_ids = TARGETFIELDIDs (first number) Both TARGETFIELDID and RELFIELDID come from the RELATED app for incoming references. The variable MUST be: field_N, item_app_item_id, in_N_N, out_N_N, inn_N_N, outn_N_N, or in_sum_N_N (etc). NO words like "contacts" or "my_field". UNSUPPORTED (will error): - .forEach(), .map(), .reduce(), .find(), .some(), .every() — use for (var i=0; i<arr.length; i++) - for...of loops — use traditional for or for...in - Template literals (backticks) — use string concatenation with + - return statements — the final expression is returned implicitly; use if/else where each branch ends with the value - async/await, import/require, arrow function callbacks - Accessing .fields[], .value, or ["Field Name"] on variables SUPPORTED: - var/let, traditional for loops, for...in, if/else, function definitions (can use return internally) - String: +, .join(), .toString(), .slice(), .toLowerCase(), .toUpperCase(), .trim(), .split(), .replace() - Number: Number(), parseInt(), parseFloat(), .toFixed(N), isNaN(), Math.floor/ceil/round - Array: .length, .sort(function(a,b){...}), .push(), .join(), .filter() - moment.js (global): moment(date).format("DD/MM/YYYY"), .add(), .subtract(), .diff(), .tz("timezone") - Date: new Date(), .getDate(), .setDate(), date arithmetic returns ms (/1000/60/60/24 for days) RETURN TYPES: "number" (set decimals 0-4, optional unit), "text" (supports markdown), "date" (set time/calendar) PATTERNS: Simple math: @[Qty](field_1) * @[Price](field_2) Conditional: var t = @[Type](field_1); if (t == "A") { @[Amount](field_2); } else { 0; } Count related: @[All of Title](inn_fieldId_relId).length Aggregation: @[Sum of Hours](in_sum_fieldId_relId) || 0 Date format: moment(@[Date](field_1)).format("YYYY/MM/DD") Markdown table: ALWAYS use inn_/outn_ (with nulls) for ALL arrays. Do NOT put | at the start or end of any line — only BETWEEN columns. Header, separator, and data rows must ALL use the same format: "Col1 | Col2" NOT "| Col1 | Col2 |". Example: var names = @[All of Name with nulls](inn_F1_R); var dates = @[All of Date with nulls](inn_F2_R); var table = ""; for (var i = 0; i < names.length; i++) { var nameStr = names[i] + ''; var dateStr = dates[i] + ''; var dateVal = dateStr != '' ? moment(dates[i] + '').format('YYYY-MM-DD') : ''; table += (nameStr != '' ? nameStr : '') + " | " + dateVal + "\n"; } if (table) { "Name | Date\n:--- | :---\n" + table; } else { "No items"; } WRONG header: "| Name | Email |\n| :--- | :--- |\n" WRONG — has outer pipes, data rows won't match RIGHT header: "Name | Email\n:--- | :---\n" RIGHT — pipes only between columns, matches data rows Section divider: var dummy = @[Any](field_1); "# TITLE \n ---"
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | App ID |
field_id | number | optional | Field ID — include to update an existing calculation field, omit to create a new one |
external_id | string | optional | External identifier |
config | object | required |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/calculationField \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123",
"config": "..."
}'Response
"Created calculation field. field_id: 261000008" Try It
Try it
Sign in to execute this tool
Sign InClone App
POST /v1/tools/podio/cloneApp
Create an exact duplicate of a Podio app with all fields, settings, and field order preserved. Calculation fields are excluded (they must be re-added manually with podio_calculationField after cloning because they reference field_ids that change). Relationship/app fields are copied as-is — if cloning to a different space, you may need to update their referenced_apps. Returns the new app_id, link, and a summary of cloned vs skipped fields.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | Source app ID to clone (from getAppsBySpace, getUserStatus, or platform context) |
space_id | number | optional | Target space ID for the cloned app. Defaults to the same space as the source app if omitted. |
name | string | optional | Name for the cloned app. Defaults to the same name as the source app (duplicate names are allowed). |
silent | boolean | optional | Suppress notifications (default: false) |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/cloneApp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123"
}'Response
{
"app_id": 28471999,
"link": "https://podio.com/acme-corp/deals-clone",
"source_app_id": 28471960,
"fields_cloned": 7,
"calculation_fields_skipped": 1,
"skipped_calculation_fields": [
"Weighted Value"
]
} Try It
Try it
Sign in to execute this tool
Sign InDelete App
POST /v1/tools/podio/deleteApp
Permanently delete an app and ALL its items — cannot be undone. Verify app_id before calling; use getApp to confirm the target. Set silent: true to prevent notifications.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | App ID (from getApp, getAppsBySpace, or platform context). Verify before calling — deletion is permanent. |
silent | boolean | optional | Suppress notifications |
Flags
| Name | Type | Description |
|---|---|---|
silent | boolean | Suppress notifications |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/deleteApp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123"
}'Response
{
"deleted": true,
"app_id": 28471960
} Try It
Try it
Sign in to execute this tool
Sign InDelete Fields
POST /v1/tools/podio/deleteFields
Delete one or more fields from a Podio app. DESTRUCTIVE — every value stored in the deleted fields across every item is lost irreversibly. REST API only; not exposed to the agent or MCP.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
app_id | number | required | |
field_ids | array | required | |
delete_values | boolean | optional | Also delete all data stored in these fields across all items. Default false. |
silent | boolean | optional |
Request
curl -X POST https://api.syncello.io/v1/tools/podio/deleteFields \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"app_id": "123",
"field_ids": "..."
}'Response
{
"app_id": 28471960,
"deleted": [
261000010
],
"errors": []
} Try It
Try it
Sign in to execute this tool
Sign In