3.2 KiB
3.2 KiB
Podio Routing Reference
App name: podio
Base URL proxied: api.podio.com
API Path Pattern
/podio/{resource}/{id}/
Note: Many Podio endpoints use trailing slashes.
Common Endpoints
Organizations
List Organizations
GET /podio/org/
Get Organization
GET /podio/org/{org_id}
Spaces (Workspaces)
List Spaces in Organization
GET /podio/space/org/{org_id}/
Get Space
GET /podio/space/{space_id}
Create Space
POST /podio/org/{org_id}/space/
Content-Type: application/json
{
"name": "New Workspace",
"privacy": "closed"
}
Applications
List Apps in Space
GET /podio/app/space/{space_id}/
Get App
GET /podio/app/{app_id}
Items
Filter Items
POST /podio/item/app/{app_id}/filter/
Content-Type: application/json
{
"limit": 30,
"offset": 0,
"sort_by": "created_on",
"sort_desc": true,
"filters": {
"status": [1, 2]
}
}
Get Item
GET /podio/item/{item_id}
Create Item
POST /podio/item/app/{app_id}/
Content-Type: application/json
{
"fields": {
"title": "New Item",
"status": 1
}
}
Update Item
PUT /podio/item/{item_id}
Content-Type: application/json
{
"fields": {
"title": "Updated Title"
}
}
Delete Item
DELETE /podio/item/{item_id}
Tasks
Tasks require at least one filter: org, space, app, responsible, reference, created_by, or completed_by.
List Tasks
GET /podio/task/?org={org_id}
GET /podio/task/?space={space_id}
GET /podio/task/?app={app_id}&completed=false
Get Task
GET /podio/task/{task_id}
Create Task
POST /podio/task/
Content-Type: application/json
{
"text": "Task description",
"due_date": "2026-03-15",
"ref_type": "item",
"ref_id": 3250776079
}
Complete Task
POST /podio/task/{task_id}/complete
Delete Task
DELETE /podio/task/{task_id}
Comments
Get Comments on Object
GET /podio/comment/{type}/{id}/
Where {type} is: item, task, status, etc.
Add Comment
POST /podio/comment/{type}/{id}
Content-Type: application/json
{
"value": "Comment text"
}
User
Get User Status
GET /podio/user/status
Pagination
Podio uses offset-based pagination:
{
"limit": 30,
"offset": 0
}
Response includes counts:
{
"total": 150,
"filtered": 45,
"items": [...]
}
Notes
- Organization, space, app, and item IDs are integers
- Many endpoints use trailing slashes (e.g.,
/org/,/filter/) - Category/status fields use option IDs (integers), not text values
- Field values can be specified by field_id or external_id
- Deleting an item cascades to associated tasks
- Tasks require at least one filter parameter
- Use
silent=trueto suppress notifications - Use
hook=falseto skip webhook triggers