{
  "info": {
    "_postman_id": "0e5a7ff4-c1b0-4a10-8c6b-teamgrid-api-v1",
    "description": "Generated from the stable TeamGrid API v1 OpenAPI contract.",
    "name": "TeamGrid API v1",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "item": [
        {
          "name": "Discover API v1",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to discover API v1. It returns public contract, version, regional endpoint, and capability metadata without requiring a credential.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [],
              "query": [],
              "raw": "{{baseUrl}}/"
            }
          },
          "response": []
        },
        {
          "name": "Get credential-aware system capabilities",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Intersects public product capability identifiers with workspace entitlement and this credential’s granted scopes. Raw plan, billing, feature-group, role, and permission identifiers are never exposed.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "system",
                "capabilities"
              ],
              "query": [],
              "raw": "{{baseUrl}}/system/capabilities"
            }
          },
          "response": []
        }
      ],
      "name": "System"
    },
    {
      "item": [
        {
          "name": "Get the authenticated workspace",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get the authenticated workspace. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "workspace"
              ],
              "query": [],
              "raw": "{{baseUrl}}/workspace"
            }
          },
          "response": []
        },
        {
          "name": "Get public workspace entitlements",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns stable public capability identifiers and entitlement state without raw plan, billing, feature-group, or role details.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "workspace",
                "entitlements"
              ],
              "query": [],
              "raw": "{{baseUrl}}/workspace/entitlements"
            }
          },
          "response": []
        },
        {
          "name": "Get public workspace settings",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get public workspace settings. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "workspace",
                "settings"
              ],
              "query": [],
              "raw": "{{baseUrl}}/workspace/settings"
            }
          },
          "response": []
        },
        {
          "name": "Update public workspace settings",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Atomically compares the complete public settings revision, applies only the six documented settings, durably audits the write, and retains a recoverable credential-owned idempotency record for seven days.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "workspace",
                "settings"
              ],
              "query": [],
              "raw": "{{baseUrl}}/workspace/settings"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"currency\": \"AUD\",\n  \"defaultLanguage\": \"de\",\n  \"defaultPlannedTime\": 0,\n  \"defaultProductivity\": 0,\n  \"defaultShowInScheduling\": false,\n  \"name\": \"string\"\n}"
            }
          },
          "response": []
        }
      ],
      "name": "Workspace"
    },
    {
      "item": [
        {
          "name": "List appointments in a bounded interval",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Lists native and provider-managed appointment metadata. Private foreign appointments are redacted; provider identifiers, participants, recurrence payloads, and tokens are never returned.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "appointments"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": false,
                  "key": "start",
                  "value": "{{start}}"
                },
                {
                  "disabled": false,
                  "key": "end",
                  "value": "{{end}}"
                },
                {
                  "disabled": true,
                  "key": "userId",
                  "value": "{{userId}}"
                }
              ],
              "raw": "{{baseUrl}}/appointments?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&start={{start}}&end={{end}}&userId={{userId}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a TeamGrid-managed appointment",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "The cell-local App re-authenticates the credential, derives the acting user from the credential principal, and applies tenant, sharing, plan, idempotency, and provider-management policy.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "appointments"
              ],
              "query": [],
              "raw": "{{baseUrl}}/appointments"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"allDay\": false,\n  \"busy\": false,\n  \"description\": \"string\",\n  \"end\": {\n    \"at\": \"2026-07-29T09:00:00.000Z\",\n    \"timeZone\": \"string\"\n  },\n  \"location\": \"string\",\n  \"start\": {\n    \"at\": \"2026-07-29T09:00:00.000Z\",\n    \"timeZone\": \"string\"\n  },\n  \"title\": \"string\",\n  \"visibility\": \"default\",\n  \"userId\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get an appointment",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get an appointment. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "appointments",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/appointments/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a TeamGrid-managed appointment",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "appointments",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/appointments/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"allDay\": false,\n  \"busy\": false,\n  \"description\": \"string\",\n  \"end\": {\n    \"at\": \"2026-07-29T09:00:00.000Z\",\n    \"timeZone\": \"string\"\n  },\n  \"location\": \"string\",\n  \"start\": {\n    \"at\": \"2026-07-29T09:00:00.000Z\",\n    \"timeZone\": \"string\"\n  },\n  \"title\": \"string\",\n  \"visibility\": \"default\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a TeamGrid-managed appointment",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "appointments",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/appointments/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore a TeamGrid-managed appointment",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "appointments",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/appointments/{id}/restore"
            }
          },
          "response": []
        },
        {
          "name": "List absences in a bounded interval",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Lists tenant-scoped absence metadata through product plan and membership policy. Foreign-user reads require delegated access.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "absences"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": false,
                  "key": "start",
                  "value": "{{start}}"
                },
                {
                  "disabled": false,
                  "key": "end",
                  "value": "{{end}}"
                },
                {
                  "disabled": true,
                  "key": "userId",
                  "value": "{{userId}}"
                }
              ],
              "raw": "{{baseUrl}}/absences?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&start={{start}}&end={{end}}&userId={{userId}}"
            }
          },
          "response": []
        },
        {
          "name": "Create an absence",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "The cell-local App re-authenticates the credential, derives the acting user from the credential principal, and applies tenant, sharing, plan, idempotency, and provider-management policy.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "absences"
              ],
              "query": [],
              "raw": "{{baseUrl}}/absences"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"end\": \"2026-07-29T09:00:00.000Z\",\n  \"reason\": null,\n  \"start\": \"2026-07-29T09:00:00.000Z\",\n  \"userId\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get an absence",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get an absence. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "absences",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/absences/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update an absence",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "absences",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/absences/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"end\": \"2026-07-29T09:00:00.000Z\",\n  \"reason\": null,\n  \"start\": \"2026-07-29T09:00:00.000Z\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive an absence",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "absences",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/absences/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an absence",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "absences",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/absences/{id}/restore"
            }
          },
          "response": []
        },
        {
          "name": "List user availability",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns bounded free intervals derived in the credential cell. Source appointments, absence reasons, provider payloads, working-hour configuration, and personal calendar details are never exposed.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "availability"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "start",
                  "value": "{{start}}"
                },
                {
                  "disabled": false,
                  "key": "end",
                  "value": "{{end}}"
                },
                {
                  "disabled": false,
                  "key": "timeZone",
                  "value": "{{timeZone}}"
                },
                {
                  "disabled": true,
                  "key": "userId",
                  "value": "{{userId}}"
                }
              ],
              "raw": "{{baseUrl}}/availability?start={{start}}&end={{end}}&timeZone={{timeZone}}&userId={{userId}}"
            }
          },
          "response": []
        }
      ],
      "name": "Calendar"
    },
    {
      "item": [
        {
          "name": "List target activity",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns a bounded, target-owned activity stream filtered by product permissions and every domain scope implied by each event. Comments, internal content, and unscoped system events are excluded.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "activity"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": false,
                  "key": "targetType",
                  "value": "{{targetType}}"
                },
                {
                  "disabled": false,
                  "key": "targetId",
                  "value": "{{targetId}}"
                }
              ],
              "raw": "{{baseUrl}}/activity?cursor={{cursor}}&limit={{limit}}&targetType={{targetType}}&targetId={{targetId}}"
            }
          },
          "response": []
        },
        {
          "name": "List target comments",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns strict comment DTOs for one tenant-owned task, project, or contact after target-domain scope and plan authorization.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": false,
                  "key": "targetType",
                  "value": "{{targetType}}"
                },
                {
                  "disabled": false,
                  "key": "targetId",
                  "value": "{{targetId}}"
                }
              ],
              "raw": "{{baseUrl}}/comments?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&targetType={{targetType}}&targetId={{targetId}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a target comment",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Creates plain-text product comments with canonical active-member mentions. Attachments and rich internal payloads are not accepted.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments"
              ],
              "query": [],
              "raw": "{{baseUrl}}/comments"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"targetId\": \"string\",\n  \"targetType\": \"contact\",\n  \"text\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a comment",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a comment. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/comments/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a comment",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/comments/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore a comment",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "comments",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/comments/{id}/restore"
            }
          },
          "response": []
        }
      ],
      "name": "Collaboration"
    },
    {
      "item": [
        {
          "name": "List document metadata",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Lists document metadata only. Content, edit locks, subscriptions, and storage internals are not selected.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "documents"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                }
              ],
              "raw": "{{baseUrl}}/documents?cursor={{cursor}}&limit={{limit}}&archived={{archived}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a document",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Creates a bounded plain document through the product document model with credential-bound idempotency.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "documents"
              ],
              "query": [],
              "raw": "{{baseUrl}}/documents"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"content\": \"string\",\n  \"name\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a document",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a document. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "documents",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/documents/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a document",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "documents",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/documents/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"content\": \"string\",\n  \"name\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a document",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "documents",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/documents/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore a document",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "documents",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/documents/{id}/restore"
            }
          },
          "response": []
        }
      ],
      "name": "Documents"
    },
    {
      "item": [
        {
          "name": "List public-space file metadata",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Lists metadata for files in TeamGrid task, project, contact, and workspace spaces. Object keys, buckets, providers, private spaces, user links, and signed URLs are never returned.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "files"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "entityType",
                  "value": "{{entityType}}"
                },
                {
                  "disabled": true,
                  "key": "entityId",
                  "value": "{{entityId}}"
                }
              ],
              "raw": "{{baseUrl}}/files?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&entityType={{entityType}}&entityId={{entityId}}"
            }
          },
          "response": []
        },
        {
          "name": "Get file metadata",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get file metadata. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Private content, destination secrets, and internal storage details are not exposed by this operation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "files",
                "{id}"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                }
              ],
              "raw": "{{baseUrl}}/files/{id}?archived={{archived}}"
            }
          },
          "response": []
        },
        {
          "name": "Rename a file",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "files",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/files/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"name\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a file",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "files",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/files/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore a file",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires the latest strong resource ETag. The cell-local App re-authenticates and atomically applies the tenant-bound revision before returning a fresh ETag.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "files",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/files/{id}/restore"
            }
          },
          "response": []
        },
        {
          "name": "Create a file download intent",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Creates a short-lived credential-authorized HTTPS download target after checking file visibility, malware state, and private storage configuration. Provider coordinates remain encapsulated by the intent.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "files",
                "{id}",
                "download-intent"
              ],
              "query": [],
              "raw": "{{baseUrl}}/files/{id}/download-intent"
            }
          },
          "response": []
        },
        {
          "name": "Reserve and create a private file upload intent",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Reserves workspace storage and returns a short-lived private HTTPS PUT target bound to the exact content length, MIME type, destination, credential, and idempotency key.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "file-upload-intents"
              ],
              "query": [],
              "raw": "{{baseUrl}}/file-upload-intents"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"destination\": {\n    \"id\": \"string\",\n    \"type\": \"contact\"\n  },\n  \"file\": {\n    \"fileName\": \"string\",\n    \"mimeType\": \"string\",\n    \"size\": 0\n  }\n}"
            }
          },
          "response": []
        },
        {
          "name": "Finalize a file upload intent",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Verifies the uploaded object size and MIME type, consumes the storage reservation, creates canonical file records, and returns only the public file projection.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "file-upload-intents",
                "{id}",
                "finalize"
              ],
              "query": [],
              "raw": "{{baseUrl}}/file-upload-intents/{id}/finalize"
            }
          },
          "response": []
        },
        {
          "name": "Cancel a file upload intent",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Cancels a credential-owned unfinalized upload reservation. Repeated cancellation is safe; finalized intents cannot be canceled.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "file-upload-intents",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/file-upload-intents/{id}"
            }
          },
          "response": []
        }
      ],
      "name": "Files"
    },
    {
      "item": [
        {
          "name": "List products",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list products. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "disabled",
                  "value": "{{disabled}}"
                },
                {
                  "disabled": true,
                  "key": "productGroupId",
                  "value": "{{productGroupId}}"
                }
              ],
              "raw": "{{baseUrl}}/products?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&disabled={{disabled}}&productGroupId={{productGroupId}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a product",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a product. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products"
              ],
              "query": [],
              "raw": "{{baseUrl}}/products"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"amount\": null,\n  \"annotation\": null,\n  \"costCenter\": null,\n  \"description\": null,\n  \"disabled\": null,\n  \"financeAccount\": null,\n  \"name\": \"string\",\n  \"priceGroupIds\": null,\n  \"productGroupId\": null,\n  \"productNumber\": null,\n  \"purchasePrice\": null,\n  \"retailPrice\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a product",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a product. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/products/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a product",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a product. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/products/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"amount\": null,\n  \"annotation\": null,\n  \"costCenter\": null,\n  \"description\": null,\n  \"disabled\": null,\n  \"financeAccount\": null,\n  \"name\": \"string\",\n  \"priceGroupIds\": null,\n  \"productGroupId\": null,\n  \"productNumber\": null,\n  \"purchasePrice\": null,\n  \"retailPrice\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a product",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a product. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/products/{id}"
            }
          },
          "response": []
        }
      ],
      "name": "Products"
    },
    {
      "item": [
        {
          "name": "List product groups",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list product groups. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "product-groups"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "parentId",
                  "value": "{{parentId}}"
                }
              ],
              "raw": "{{baseUrl}}/product-groups?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&parentId={{parentId}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a product group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a product group. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "product-groups"
              ],
              "query": [],
              "raw": "{{baseUrl}}/product-groups"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"description\": null,\n  \"name\": \"string\",\n  \"parentId\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a product group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a product group. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "product-groups",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/product-groups/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a product group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a product group. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "product-groups",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/product-groups/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"description\": null,\n  \"name\": \"string\",\n  \"parentId\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a product group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a product group. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "product-groups",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/product-groups/{id}"
            }
          },
          "response": []
        }
      ],
      "name": "Product Groups"
    },
    {
      "item": [
        {
          "name": "List projects",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list projects. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "projects"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "completed",
                  "value": "{{completed}}"
                },
                {
                  "disabled": true,
                  "key": "contactId",
                  "value": "{{contactId}}"
                },
                {
                  "disabled": true,
                  "key": "createdById",
                  "value": "{{createdById}}"
                },
                {
                  "disabled": true,
                  "key": "individualId",
                  "value": "{{individualId}}"
                },
                {
                  "disabled": true,
                  "key": "listId",
                  "value": "{{listId}}"
                },
                {
                  "disabled": true,
                  "key": "managerId",
                  "value": "{{managerId}}"
                },
                {
                  "disabled": true,
                  "key": "subscriberId",
                  "value": "{{subscriberId}}"
                }
              ],
              "raw": "{{baseUrl}}/projects?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&completed={{completed}}&contactId={{contactId}}&createdById={{createdById}}&individualId={{individualId}}&listId={{listId}}&managerId={{managerId}}&subscriberId={{subscriberId}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a project",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a project. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "projects"
              ],
              "query": [],
              "raw": "{{baseUrl}}/projects"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"additionalContactIds\": null,\n  \"color\": null,\n  \"contactId\": null,\n  \"description\": null,\n  \"dueAt\": \"2026-07-29T09:00:00.000Z\",\n  \"individualId\": null,\n  \"listId\": null,\n  \"managerId\": null,\n  \"name\": \"string\",\n  \"plannedEndAt\": \"2026-07-29T09:00:00.000Z\",\n  \"plannedStartAt\": \"2026-07-29T09:00:00.000Z\",\n  \"showInScheduling\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a project",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a project. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "projects",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/projects/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a project",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "projects",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/projects/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"additionalContactIds\": null,\n  \"color\": null,\n  \"contactId\": null,\n  \"description\": null,\n  \"dueAt\": \"2026-07-29T09:00:00.000Z\",\n  \"individualId\": null,\n  \"listId\": null,\n  \"managerId\": null,\n  \"name\": \"string\",\n  \"plannedEndAt\": \"2026-07-29T09:00:00.000Z\",\n  \"plannedStartAt\": \"2026-07-29T09:00:00.000Z\",\n  \"showInScheduling\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get project sharing",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get project sharing. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "projects",
                "{id}",
                "sharing"
              ],
              "query": [],
              "raw": "{{baseUrl}}/projects/{id}/sharing"
            }
          },
          "response": []
        },
        {
          "name": "Replace project sharing",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PUT",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "projects",
                "{id}",
                "sharing"
              ],
              "query": [],
              "raw": "{{baseUrl}}/projects/{id}/sharing"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"entries\": [\n    {\n      \"permissions\": [\n        \"string\"\n      ],\n      \"userId\": null,\n      \"workspaceId\": \"string\"\n    }\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Complete a project asynchronously",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to complete a project asynchronously. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "projects",
                "{id}",
                "complete"
              ],
              "query": [],
              "raw": "{{baseUrl}}/projects/{id}/complete"
            }
          },
          "response": []
        },
        {
          "name": "Reopen a project asynchronously",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to reopen a project asynchronously. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "projects",
                "{id}",
                "reopen"
              ],
              "query": [],
              "raw": "{{baseUrl}}/projects/{id}/reopen"
            }
          },
          "response": []
        },
        {
          "name": "Archive a project asynchronously",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a project asynchronously. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "projects",
                "{id}",
                "archive"
              ],
              "query": [],
              "raw": "{{baseUrl}}/projects/{id}/archive"
            }
          },
          "response": []
        },
        {
          "name": "Restore a project asynchronously",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to restore a project asynchronously. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "projects",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/projects/{id}/restore"
            }
          },
          "response": []
        },
        {
          "name": "Get a project lifecycle operation",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a project lifecycle operation. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-lifecycle-operations",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-lifecycle-operations/{id}"
            }
          },
          "response": []
        }
      ],
      "name": "Projects"
    },
    {
      "item": [
        {
          "name": "List project templates",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "The cell-local App re-authenticates the credential and verifies the projects.templates plan capability before this service reads only the tenant-scoped, metadata-only projection. Captured snapshot data is never selected or exposed.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-templates"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "createdAtFrom",
                  "value": "{{createdAtFrom}}"
                },
                {
                  "disabled": true,
                  "key": "createdAtTo",
                  "value": "{{createdAtTo}}"
                },
                {
                  "disabled": true,
                  "key": "originProjectId",
                  "value": "{{originProjectId}}"
                }
              ],
              "raw": "{{baseUrl}}/project-templates?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&createdAtFrom={{createdAtFrom}}&createdAtTo={{createdAtTo}}&originProjectId={{originProjectId}}"
            }
          },
          "response": []
        },
        {
          "name": "Capture a project as a template",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "The cell-local App re-authenticates the credential, verifies tenant ownership and the projects.templates.add plan permission, snapshots the source project with bounded list/task limits, and applies credential-bound idempotency.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-templates"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-templates"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"color\": \"string\",\n  \"description\": \"string\",\n  \"projectId\": \"string\",\n  \"title\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get project-template metadata",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "The cell-local App re-authenticates the credential and verifies the projects.templates plan capability before a tenant-scoped metadata-only read. The captured snapshot is never selected or exposed.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-templates",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-templates/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update project-template metadata",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-templates",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-templates/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"color\": \"string\",\n  \"description\": \"string\",\n  \"title\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a project template",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires exactly one latest strong resource ETag and returns the post-archive revision in the ETag header.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-templates",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-templates/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an archived project template",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-templates",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-templates/{id}/restore"
            }
          },
          "response": []
        },
        {
          "name": "Instantiate a project template asynchronously",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "The cell-local App re-authenticates the credential, verifies both required scopes, tenant ownership, projects.templates and projects.create plan permissions, validates every referenced resource, and starts a credential-owned asynchronous operation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-templates",
                "{id}",
                "instantiate"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-templates/{id}/instantiate"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"additionalContactIds\": null,\n  \"color\": null,\n  \"contactId\": null,\n  \"description\": \"string\",\n  \"dueAt\": \"2026-07-29T09:00:00.000Z\",\n  \"individualId\": null,\n  \"listId\": null,\n  \"managerId\": null,\n  \"name\": \"string\",\n  \"plannedEndAt\": \"2026-07-29T09:00:00.000Z\",\n  \"plannedStartAt\": \"2026-07-29T09:00:00.000Z\",\n  \"showInScheduling\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a project-template instantiation operation",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns only an operation owned by the authenticated credential in its workspace. The cell-local App re-authenticates both project-templates:write and projects:write scopes before every poll.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-template-instantiations",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-template-instantiations/{id}"
            }
          },
          "response": []
        }
      ],
      "name": "Project Templates"
    },
    {
      "item": [
        {
          "name": "List planned work in a bounded window",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns a stable ascending keyset page from the credential cell. The cursor is bound to the workspace and complete filter set. Authorization filtering can produce an empty page with a non-null cursor.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "planned-work"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": false,
                  "key": "start",
                  "value": "{{start}}"
                },
                {
                  "disabled": false,
                  "key": "end",
                  "value": "{{end}}"
                },
                {
                  "disabled": true,
                  "key": "taskId",
                  "value": "{{taskId}}"
                },
                {
                  "disabled": true,
                  "key": "projectId",
                  "value": "{{projectId}}"
                },
                {
                  "disabled": true,
                  "key": "userId",
                  "value": "{{userId}}"
                }
              ],
              "raw": "{{baseUrl}}/planned-work?cursor={{cursor}}&limit={{limit}}&start={{start}}&end={{end}}&taskId={{taskId}}&projectId={{projectId}}&userId={{userId}}"
            }
          },
          "response": []
        },
        {
          "name": "Get a planned-work replacement operation",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Polls a credential-owned, workspace-owned asynchronous replacement operation. Tenant and cell routing internals are never projected.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "planned-work-operations",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/planned-work-operations/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Get a task planned-work schedule",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns the task schedule and a strong revision ETag. Reads fail closed while a replacement overlaps the task.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}",
                "planned-work"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}/planned-work"
            }
          },
          "response": []
        },
        {
          "name": "Replace task planned work asynchronously",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Atomically compares the strong task schedule revision and accepts a credential-owned asynchronous replacement. The same Idempotency-Key and payload replay the original operation; a different payload conflicts.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PUT",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}",
                "planned-work"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}/planned-work"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"dayLoads\": [\n    0\n  ],\n  \"plannedEnd\": \"2026-07-29T09:00:00.000Z\",\n  \"plannedStart\": \"2026-07-29T09:00:00.000Z\"\n}"
            }
          },
          "response": []
        }
      ],
      "name": "Planned Work"
    },
    {
      "item": [
        {
          "name": "List project statements",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list project statements. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-statements"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "projectId",
                  "value": "{{projectId}}"
                },
                {
                  "disabled": true,
                  "key": "productId",
                  "value": "{{productId}}"
                },
                {
                  "disabled": true,
                  "key": "createdBy",
                  "value": "{{createdBy}}"
                },
                {
                  "disabled": true,
                  "key": "dateFrom",
                  "value": "{{dateFrom}}"
                },
                {
                  "disabled": true,
                  "key": "dateTo",
                  "value": "{{dateTo}}"
                },
                {
                  "disabled": true,
                  "key": "createdAtFrom",
                  "value": "{{createdAtFrom}}"
                },
                {
                  "disabled": true,
                  "key": "createdAtTo",
                  "value": "{{createdAtTo}}"
                },
                {
                  "disabled": true,
                  "key": "type",
                  "value": "{{type}}"
                }
              ],
              "raw": "{{baseUrl}}/project-statements?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&projectId={{projectId}}&productId={{productId}}&createdBy={{createdBy}}&dateFrom={{dateFrom}}&dateTo={{dateTo}}&createdAtFrom={{createdAtFrom}}&createdAtTo={{createdAtTo}}&type={{type}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a project statement",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a project statement. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-statements"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-statements"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"amount\": null,\n  \"comment\": null,\n  \"count\": null,\n  \"date\": \"2026-07-29T09:00:00.000Z\",\n  \"description\": null,\n  \"isCharge\": false,\n  \"productNumber\": null,\n  \"purchasePrice\": null,\n  \"title\": \"string\",\n  \"projectId\": \"string\",\n  \"productId\": null,\n  \"type\": \"manual\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a project statement",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a project statement. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-statements",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-statements/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a project statement",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a project statement. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-statements",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-statements/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"amount\": null,\n  \"comment\": null,\n  \"count\": null,\n  \"date\": \"2026-07-29T09:00:00.000Z\",\n  \"description\": null,\n  \"isCharge\": false,\n  \"productNumber\": null,\n  \"purchasePrice\": null,\n  \"title\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a project statement",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a project statement. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-statements",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-statements/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore a project statement",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to restore a project statement. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Finance-protected fields are omitted or rejected unless the credential also has the documented finance scope.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "project-statements",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/project-statements/{id}/restore"
            }
          },
          "response": []
        }
      ],
      "name": "Project Statements"
    },
    {
      "item": [
        {
          "name": "List tasks",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list tasks. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "assigneeId",
                  "value": "{{assigneeId}}"
                },
                {
                  "disabled": true,
                  "key": "completed",
                  "value": "{{completed}}"
                },
                {
                  "disabled": true,
                  "key": "contactId",
                  "value": "{{contactId}}"
                },
                {
                  "disabled": true,
                  "key": "groupId",
                  "value": "{{groupId}}"
                },
                {
                  "disabled": true,
                  "key": "listId",
                  "value": "{{listId}}"
                },
                {
                  "disabled": true,
                  "key": "personalListId",
                  "value": "{{personalListId}}"
                },
                {
                  "disabled": true,
                  "key": "projectId",
                  "value": "{{projectId}}"
                },
                {
                  "disabled": true,
                  "key": "serviceId",
                  "value": "{{serviceId}}"
                },
                {
                  "disabled": true,
                  "key": "subscriberId",
                  "value": "{{subscriberId}}"
                },
                {
                  "disabled": true,
                  "key": "tagId",
                  "value": "{{tagId}}"
                }
              ],
              "raw": "{{baseUrl}}/tasks?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&assigneeId={{assigneeId}}&completed={{completed}}&contactId={{contactId}}&groupId={{groupId}}&listId={{listId}}&personalListId={{personalListId}}&projectId={{projectId}}&serviceId={{serviceId}}&subscriberId={{subscriberId}}&tagId={{tagId}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a task",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a task. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"assigneeId\": null,\n  \"billable\": null,\n  \"contactId\": null,\n  \"description\": null,\n  \"dueAt\": \"2026-07-29T09:00:00.000Z\",\n  \"groupId\": null,\n  \"listId\": null,\n  \"name\": \"string\",\n  \"plannedEndAt\": \"2026-07-29T09:00:00.000Z\",\n  \"plannedMinutes\": null,\n  \"plannedStartAt\": \"2026-07-29T09:00:00.000Z\",\n  \"projectId\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Update multiple tasks safely",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Updates up to 35 tasks in input order. Every item is independently protected by its latest developer revision. The operation is not atomic: successful items remain committed when another item conflicts. Placement, assignment, lifecycle, and ordering changes use their dedicated endpoints.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "bulk-update"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/bulk-update"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"items\": [\n    {\n      \"data\": {\n        \"billable\": null,\n        \"contactId\": null,\n        \"description\": null,\n        \"dueAt\": \"2026-07-29T09:00:00.000Z\",\n        \"name\": \"string\",\n        \"plannedEndAt\": \"2026-07-29T09:00:00.000Z\",\n        \"plannedMinutes\": null,\n        \"plannedStartAt\": \"2026-07-29T09:00:00.000Z\",\n        \"serviceId\": null,\n        \"subscriberIds\": null,\n        \"tagIds\": null\n      },\n      \"id\": \"string\",\n      \"revision\": \"string\"\n    }\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a task",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a task. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a task",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"assigneeId\": null,\n  \"billable\": null,\n  \"contactId\": null,\n  \"description\": null,\n  \"dueAt\": \"2026-07-29T09:00:00.000Z\",\n  \"groupId\": null,\n  \"listId\": null,\n  \"name\": \"string\",\n  \"plannedEndAt\": \"2026-07-29T09:00:00.000Z\",\n  \"plannedMinutes\": null,\n  \"plannedStartAt\": \"2026-07-29T09:00:00.000Z\",\n  \"projectId\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a task",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires exactly one latest strong resource ETag and returns the post-archive revision in the ETag header.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an archived task",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}/restore"
            }
          },
          "response": []
        },
        {
          "name": "Duplicate a task",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Creates an idempotent copy from exactly the source revision selected by If-Match. The copy remains in the same workspace context and may be moved separately.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}",
                "duplicate"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}/duplicate"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"copyChecklist\": true,\n  \"copyCustomFieldValues\": true,\n  \"name\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Move or reorder a task",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Atomically changes assignment and ordering within one target task container. The neighboring task ids are validated in the same workspace and container.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}",
                "move"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}/move"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"assigneeId\": null,\n  \"axis\": \"assignee\",\n  \"groupId\": null,\n  \"listId\": null,\n  \"nextTaskId\": null,\n  \"personalListId\": null,\n  \"previousTaskId\": null,\n  \"projectId\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Replace a task checklist",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Atomically replaces the ordered task checklist. Existing ids may be retained; omitted ids are generated by TeamGrid.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PUT",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}",
                "subtasks"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}/subtasks"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"subtasks\": [\n    {\n      \"completed\": null,\n      \"id\": null,\n      \"title\": \"string\"\n    }\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Complete a task",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}",
                "complete"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}/complete"
            }
          },
          "response": []
        },
        {
          "name": "Reopen a completed task",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}",
                "reopen"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}/reopen"
            }
          },
          "response": []
        },
        {
          "name": "Start task time tracking",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to start task time tracking. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}",
                "timer",
                "start"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}/timer/start"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"at\": \"2026-07-29T09:00:00.000Z\",\n  \"userId\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Stop task time tracking",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to stop task time tracking. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "{id}",
                "timer",
                "stop"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tasks/{id}/timer/stop"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"at\": \"2026-07-29T09:00:00.000Z\",\n  \"userId\": \"string\"\n}"
            }
          },
          "response": []
        }
      ],
      "name": "Tasks"
    },
    {
      "item": [
        {
          "name": "List time entries",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list time entries. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "time-entries"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "billable",
                  "value": "{{billable}}"
                },
                {
                  "disabled": true,
                  "key": "billed",
                  "value": "{{billed}}"
                },
                {
                  "disabled": true,
                  "key": "createdById",
                  "value": "{{createdById}}"
                },
                {
                  "disabled": true,
                  "key": "from",
                  "value": "{{from}}"
                },
                {
                  "disabled": true,
                  "key": "serviceId",
                  "value": "{{serviceId}}"
                },
                {
                  "disabled": true,
                  "key": "to",
                  "value": "{{to}}"
                },
                {
                  "disabled": true,
                  "key": "taskId",
                  "value": "{{taskId}}"
                },
                {
                  "disabled": true,
                  "key": "userId",
                  "value": "{{userId}}"
                }
              ],
              "raw": "{{baseUrl}}/time-entries?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&billable={{billable}}&billed={{billed}}&createdById={{createdById}}&from={{from}}&serviceId={{serviceId}}&to={{to}}&taskId={{taskId}}&userId={{userId}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a time entry",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a time entry. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "time-entries"
              ],
              "query": [],
              "raw": "{{baseUrl}}/time-entries"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"billable\": null,\n  \"comment\": null,\n  \"endAt\": \"2026-07-29T09:00:00.000Z\",\n  \"serviceId\": null,\n  \"startAt\": \"2026-07-29T09:00:00.000Z\",\n  \"taskId\": \"string\",\n  \"userId\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a time entry",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a time entry. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "time-entries",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/time-entries/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a time entry",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a time entry. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "time-entries",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/time-entries/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"billable\": null,\n  \"comment\": null,\n  \"endAt\": \"2026-07-29T09:00:00.000Z\",\n  \"serviceId\": null,\n  \"startAt\": \"2026-07-29T09:00:00.000Z\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a time entry",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a time entry. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "time-entries",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/time-entries/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Get time-entry billing state",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns the dedicated billing and lock subresource with a strong ETag. Access requires the sensitive billing scope and the TeamGrid tasks.times.lock product permission.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "time-entries",
                "{id}",
                "billing"
              ],
              "query": [],
              "raw": "{{baseUrl}}/time-entries/{id}/billing"
            }
          },
          "response": []
        },
        {
          "name": "Update time-entry billing state",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Atomically marks a time entry billed or unbilled. The supplied strong ETag must match the current billing subresource; stale concurrent requests fail without overwriting a newer decision.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PUT",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "time-entries",
                "{id}",
                "billing"
              ],
              "query": [],
              "raw": "{{baseUrl}}/time-entries/{id}/billing"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"billed\": false\n}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an archived time entry",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to restore an archived time entry. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "time-entries",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/time-entries/{id}/restore"
            }
          },
          "response": []
        }
      ],
      "name": "Time Entries"
    },
    {
      "item": [
        {
          "name": "List contacts",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list contacts. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "category",
                  "value": "{{category}}"
                },
                {
                  "disabled": true,
                  "key": "companyId",
                  "value": "{{companyId}}"
                },
                {
                  "disabled": true,
                  "key": "createdById",
                  "value": "{{createdById}}"
                },
                {
                  "disabled": true,
                  "key": "customerId",
                  "value": "{{customerId}}"
                },
                {
                  "disabled": true,
                  "key": "groupId",
                  "value": "{{groupId}}"
                },
                {
                  "disabled": true,
                  "key": "parentContactId",
                  "value": "{{parentContactId}}"
                },
                {
                  "disabled": true,
                  "key": "type",
                  "value": "{{type}}"
                }
              ],
              "raw": "{{baseUrl}}/contacts?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&category={{category}}&companyId={{companyId}}&createdById={{createdById}}&customerId={{customerId}}&groupId={{groupId}}&parentContactId={{parentContactId}}&type={{type}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a contact",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a contact. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts"
              ],
              "query": [],
              "raw": "{{baseUrl}}/contacts"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"birthday\": \"2026-07-29T09:00:00.000Z\",\n  \"category\": \"customer\",\n  \"companyTitle\": null,\n  \"customerId\": null,\n  \"emails\": null,\n  \"firstName\": null,\n  \"gender\": \"female\",\n  \"groupId\": null,\n  \"lastName\": null,\n  \"nickname\": null,\n  \"notes\": null,\n  \"parentContactId\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a contact",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a contact. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/contacts/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a contact",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a contact. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/contacts/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"birthday\": \"2026-07-29T09:00:00.000Z\",\n  \"category\": \"customer\",\n  \"companyTitle\": null,\n  \"customerId\": null,\n  \"emails\": null,\n  \"firstName\": null,\n  \"gender\": \"female\",\n  \"groupId\": null,\n  \"lastName\": null,\n  \"nickname\": null,\n  \"notes\": null,\n  \"parentContactId\": null\n}"
            }
          },
          "response": []
        }
      ],
      "name": "Contacts"
    },
    {
      "item": [
        {
          "name": "List call notes",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list call notes. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "call-notes"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                }
              ],
              "raw": "{{baseUrl}}/call-notes?cursor={{cursor}}&limit={{limit}}&archived={{archived}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a call note",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a call note. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "call-notes"
              ],
              "query": [],
              "raw": "{{baseUrl}}/call-notes"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"callId\": \"string\",\n  \"content\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a call note",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a call note. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "call-notes",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/call-notes/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a call note",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a call note. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "call-notes",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/call-notes/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an archived call note",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to restore an archived call note. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "call-notes",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/call-notes/{id}/restore"
            }
          },
          "response": []
        }
      ],
      "name": "Call Notes"
    },
    {
      "item": [
        {
          "name": "List contact groups",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list contact groups. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contact-groups"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                }
              ],
              "raw": "{{baseUrl}}/contact-groups?cursor={{cursor}}&limit={{limit}}&archived={{archived}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a contact group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a contact group. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contact-groups"
              ],
              "query": [],
              "raw": "{{baseUrl}}/contact-groups"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"parentId\": null,\n  \"title\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a contact group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a contact group. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contact-groups",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/contact-groups/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a contact group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a contact group. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contact-groups",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/contact-groups/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"parentId\": null,\n  \"title\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a contact group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a contact group. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contact-groups",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/contact-groups/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an archived contact group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to restore an archived contact group. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contact-groups",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/contact-groups/{id}/restore"
            }
          },
          "response": []
        }
      ],
      "name": "Contact Groups"
    },
    {
      "item": [
        {
          "name": "List workspace users",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list workspace users. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "users"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                }
              ],
              "raw": "{{baseUrl}}/users?cursor={{cursor}}&limit={{limit}}"
            }
          },
          "response": []
        }
      ],
      "name": "Users"
    },
    {
      "item": [
        {
          "name": "List workspace lists",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list workspace lists. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "lists"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "type",
                  "value": "{{type}}"
                },
                {
                  "disabled": true,
                  "key": "parentId",
                  "value": "{{parentId}}"
                }
              ],
              "raw": "{{baseUrl}}/lists?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&type={{type}}&parentId={{parentId}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a list",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a list. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "lists"
              ],
              "query": [],
              "raw": "{{baseUrl}}/lists"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"name\": \"string\",\n  \"parentId\": null,\n  \"type\": \"tasks\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a list",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a list. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "lists",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/lists/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a list",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a list. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "lists",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/lists/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"name\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a list",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a list. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "lists",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/lists/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an archived list",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to restore an archived list. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "lists",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/lists/{id}/restore"
            }
          },
          "response": []
        },
        {
          "name": "List services",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list services. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "services"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                }
              ],
              "raw": "{{baseUrl}}/services?cursor={{cursor}}&limit={{limit}}&archived={{archived}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a service",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a service. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "services"
              ],
              "query": [],
              "raw": "{{baseUrl}}/services"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"billable\": false,\n  \"billingRate\": null,\n  \"title\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a service",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a service. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "services",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/services/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a service",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a service. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "services",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/services/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"billable\": false,\n  \"billingRate\": null,\n  \"title\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a service",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a service. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "services",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/services/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an archived service",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to restore an archived service. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "services",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/services/{id}/restore"
            }
          },
          "response": []
        },
        {
          "name": "List tags",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list tags. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tags"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                }
              ],
              "raw": "{{baseUrl}}/tags?cursor={{cursor}}&limit={{limit}}&archived={{archived}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a tag",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a tag. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tags"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tags"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"color\": \"string\",\n  \"name\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a tag",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a tag. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tags",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tags/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a tag",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a tag. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tags",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tags/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"color\": \"string\",\n  \"name\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a tag",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a tag. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tags",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tags/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an archived tag",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to restore an archived tag. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tags",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/tags/{id}/restore"
            }
          },
          "response": []
        }
      ],
      "name": "Task Metadata"
    },
    {
      "item": [
        {
          "name": "List custom-field definitions",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list custom-field definitions. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom-field-definitions"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                },
                {
                  "disabled": true,
                  "key": "defaultEnabled",
                  "value": "{{defaultEnabled}}"
                },
                {
                  "disabled": true,
                  "key": "fieldType",
                  "value": "{{fieldType}}"
                },
                {
                  "disabled": true,
                  "key": "targetType",
                  "value": "{{targetType}}"
                }
              ],
              "raw": "{{baseUrl}}/custom-field-definitions?cursor={{cursor}}&limit={{limit}}&archived={{archived}}&defaultEnabled={{defaultEnabled}}&fieldType={{fieldType}}&targetType={{targetType}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a custom-field definition",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a custom-field definition. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom-field-definitions"
              ],
              "query": [],
              "raw": "{{baseUrl}}/custom-field-definitions"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"configuration\": null,\n  \"defaultEnabled\": false,\n  \"description\": \"string\",\n  \"required\": false,\n  \"title\": \"string\",\n  \"fieldType\": \"contact\",\n  \"targetType\": \"contact\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a custom-field definition",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a custom-field definition. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom-field-definitions",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/custom-field-definitions/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a custom-field definition",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a custom-field definition. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom-field-definitions",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/custom-field-definitions/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"configuration\": null,\n  \"defaultEnabled\": false,\n  \"description\": \"string\",\n  \"required\": false,\n  \"title\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive a custom-field definition",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive a custom-field definition. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom-field-definitions",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/custom-field-definitions/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an archived custom-field definition",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to restore an archived custom-field definition. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom-field-definitions",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/custom-field-definitions/{id}/restore"
            }
          },
          "response": []
        }
      ],
      "name": "Custom Fields"
    },
    {
      "item": [
        {
          "name": "Read custom-field values for one resource",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "The cell-local App re-authenticates the credential and additionally requires a target-domain scope selected by targetType: contacts:read/write, projects:read/write, project-statements:read/write, or tasks:read/write. Reading a contact, project, tag, or user reference field, and validating a newly set reference, also requires the matching contacts:read, projects:read, tags:read, or users:read scope. Invalid legacy values are classified without exposing their payload. Batch reads accept 1–100 unique field ids for one resource and preserve request order.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom-field-values",
                "{targetType}",
                "{resourceId}",
                "batch-read"
              ],
              "query": [],
              "raw": "{{baseUrl}}/custom-field-values/{targetType}/{resourceId}/batch-read"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"fieldIds\": [\n    \"string\"\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a custom-field value",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "The cell-local App re-authenticates the credential and additionally requires a target-domain scope selected by targetType: contacts:read/write, projects:read/write, project-statements:read/write, or tasks:read/write. Reading a contact, project, tag, or user reference field, and validating a newly set reference, also requires the matching contacts:read, projects:read, tags:read, or users:read scope. Invalid legacy values are classified without exposing their payload.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom-field-values",
                "{targetType}",
                "{resourceId}",
                "{fieldId}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/custom-field-values/{targetType}/{resourceId}/{fieldId}"
            }
          },
          "response": []
        },
        {
          "name": "Set a custom-field value",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "The cell-local App re-authenticates the credential and additionally requires a target-domain scope selected by targetType: contacts:read/write, projects:read/write, project-statements:read/write, or tasks:read/write. Reading a contact, project, tag, or user reference field, and validating a newly set reference, also requires the matching contacts:read, projects:read, tags:read, or users:read scope. Invalid legacy values are classified without exposing their payload.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PUT",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom-field-values",
                "{targetType}",
                "{resourceId}",
                "{fieldId}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/custom-field-values/{targetType}/{resourceId}/{fieldId}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"value\": null\n}"
            }
          },
          "response": []
        },
        {
          "name": "Clear a custom-field value",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "The cell-local App re-authenticates the credential and additionally requires a target-domain scope selected by targetType: contacts:read/write, projects:read/write, project-statements:read/write, or tasks:read/write. Reading a contact, project, tag, or user reference field, and validating a newly set reference, also requires the matching contacts:read, projects:read, tags:read, or users:read scope. Invalid legacy values are classified without exposing their payload.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "custom-field-values",
                "{targetType}",
                "{resourceId}",
                "{fieldId}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/custom-field-values/{targetType}/{resourceId}/{fieldId}"
            }
          },
          "response": []
        }
      ],
      "name": "Custom Field Values"
    },
    {
      "item": [
        {
          "name": "List developer audit events",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list developer audit events. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Returned events are privacy-reduced and never include credentials, raw secrets, or unrestricted request bodies.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "audit-events"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "actorId",
                  "value": "{{actorId}}"
                },
                {
                  "disabled": true,
                  "key": "actorType",
                  "value": "{{actorType}}"
                },
                {
                  "disabled": true,
                  "key": "createdAtFrom",
                  "value": "{{createdAtFrom}}"
                },
                {
                  "disabled": true,
                  "key": "createdAtTo",
                  "value": "{{createdAtTo}}"
                },
                {
                  "disabled": true,
                  "key": "credentialId",
                  "value": "{{credentialId}}"
                },
                {
                  "disabled": true,
                  "key": "eventType",
                  "value": "{{eventType}}"
                },
                {
                  "disabled": true,
                  "key": "outcome",
                  "value": "{{outcome}}"
                },
                {
                  "disabled": true,
                  "key": "requestId",
                  "value": "{{requestId}}"
                },
                {
                  "disabled": true,
                  "key": "source",
                  "value": "{{source}}"
                },
                {
                  "disabled": true,
                  "key": "targetId",
                  "value": "{{targetId}}"
                },
                {
                  "disabled": true,
                  "key": "targetType",
                  "value": "{{targetType}}"
                }
              ],
              "raw": "{{baseUrl}}/audit-events?cursor={{cursor}}&limit={{limit}}&actorId={{actorId}}&actorType={{actorType}}&createdAtFrom={{createdAtFrom}}&createdAtTo={{createdAtTo}}&credentialId={{credentialId}}&eventType={{eventType}}&outcome={{outcome}}&requestId={{requestId}}&source={{source}}&targetId={{targetId}}&targetType={{targetType}}"
            }
          },
          "response": []
        }
      ],
      "name": "Audit"
    },
    {
      "item": [
        {
          "name": "List webhooks",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list webhooks. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                }
              ],
              "raw": "{{baseUrl}}/webhooks?cursor={{cursor}}&limit={{limit}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a webhook",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a webhook. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks"
              ],
              "query": [],
              "raw": "{{baseUrl}}/webhooks"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"actions\": [\n    \"string\"\n  ],\n  \"url\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a webhook",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a webhook. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/webhooks/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update or reactivate a webhook",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Updates the destination, subscribed events, or enabled state of a credential-owned webhook using its latest strong revision. Setting disabled to false clears automatic delivery-failure suspension.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/webhooks/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"actions\": [\n    \"string\"\n  ],\n  \"disabled\": false,\n  \"url\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Remove a webhook",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to remove a webhook. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/webhooks/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Rotate a credential-owned webhook signing secret",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Rotates the signing-secret generation for a credential-owned v2 webhook. The secret is derived only for this no-store response, remains absent from URLs and persistent records, and is reproduced only for an exact idempotent replay.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                "{id}",
                "secret-rotation"
              ],
              "query": [],
              "raw": "{{baseUrl}}/webhooks/{id}/secret-rotation"
            }
          },
          "response": []
        }
      ],
      "name": "Webhooks"
    },
    {
      "item": [
        {
          "name": "List webhook delivery history",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns only deliveries owned by the authenticated service credential. The App re-authenticates the credential and reapplies ownership and workspace isolation in the cell.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhook-deliveries"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "webhookId",
                  "value": "{{webhookId}}"
                },
                {
                  "disabled": true,
                  "key": "state",
                  "value": "{{state}}"
                },
                {
                  "disabled": true,
                  "key": "event",
                  "value": "{{event}}"
                }
              ],
              "raw": "{{baseUrl}}/webhook-deliveries?cursor={{cursor}}&limit={{limit}}&webhookId={{webhookId}}&state={{state}}&event={{event}}"
            }
          },
          "response": []
        },
        {
          "name": "Get webhook delivery metadata",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns a credential-owned delivery after the cell-local App reapplies credential ownership and workspace isolation.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhook-deliveries",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/webhook-deliveries/{id}"
            }
          },
          "response": []
        }
      ],
      "name": "Webhook Deliveries"
    },
    {
      "item": [
        {
          "name": "List workspace members",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list workspace members. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "members"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "includePii",
                  "value": "{{includePii}}"
                }
              ],
              "raw": "{{baseUrl}}/members?cursor={{cursor}}&limit={{limit}}&includePii={{includePii}}"
            }
          },
          "response": []
        },
        {
          "name": "Get a workspace member",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a workspace member. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "members",
                "{id}"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "includePii",
                  "value": "{{includePii}}"
                }
              ],
              "raw": "{{baseUrl}}/members/{id}?includePii={{includePii}}"
            }
          },
          "response": []
        },
        {
          "name": "Remove a workspace member",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to remove a workspace member. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "members",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/members/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Change a member role",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to change a member role. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "members",
                "{id}",
                "role"
              ],
              "query": [],
              "raw": "{{baseUrl}}/members/{id}/role"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"roleId\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "List pending invitations",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list pending invitations. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invitations"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "includePii",
                  "value": "{{includePii}}"
                }
              ],
              "raw": "{{baseUrl}}/invitations?cursor={{cursor}}&limit={{limit}}&includePii={{includePii}}"
            }
          },
          "response": []
        },
        {
          "name": "Invite a workspace member",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to invite a workspace member. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invitations"
              ],
              "query": [],
              "raw": "{{baseUrl}}/invitations"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"email\": \"string\",\n  \"firstname\": \"string\",\n  \"lastname\": \"string\",\n  \"position\": \"string\",\n  \"roleId\": \"string\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a pending invitation",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a pending invitation. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invitations",
                "{id}"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "includePii",
                  "value": "{{includePii}}"
                }
              ],
              "raw": "{{baseUrl}}/invitations/{id}?includePii={{includePii}}"
            }
          },
          "response": []
        },
        {
          "name": "Cancel a pending invitation",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to cancel a pending invitation. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invitations",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/invitations/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Resend a pending invitation",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to resend a pending invitation. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invitations",
                "{id}",
                "resend"
              ],
              "query": [],
              "raw": "{{baseUrl}}/invitations/{id}/resend"
            }
          },
          "response": []
        },
        {
          "name": "List workspace roles",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list workspace roles. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "roles"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                }
              ],
              "raw": "{{baseUrl}}/roles?cursor={{cursor}}&limit={{limit}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a workspace role",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a workspace role. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "roles"
              ],
              "query": [],
              "raw": "{{baseUrl}}/roles"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"description\": \"string\",\n  \"name\": \"string\",\n  \"permissions\": [\n    \"string\"\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a workspace role",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a workspace role. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "roles",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/roles/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a workspace role",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a workspace role. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "roles",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/roles/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"description\": \"string\",\n  \"name\": \"string\",\n  \"permissions\": [\n    \"string\"\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Delete a workspace role",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to delete a workspace role. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "roles",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/roles/{id}"
            }
          },
          "response": []
        },
        {
          "name": "List workspace groups",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list workspace groups. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "groups"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                }
              ],
              "raw": "{{baseUrl}}/groups?cursor={{cursor}}&limit={{limit}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a workspace group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create a workspace group. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "groups"
              ],
              "query": [],
              "raw": "{{baseUrl}}/groups"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"memberIds\": [\n    \"string\"\n  ],\n  \"name\": \"string\",\n  \"visibility\": \"all\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a workspace group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a workspace group. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "groups",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/groups/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update a workspace group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update a workspace group. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "groups",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/groups/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"memberIds\": [\n    \"string\"\n  ],\n  \"name\": \"string\",\n  \"visibility\": \"all\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Delete a workspace group",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to delete a workspace group. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "groups",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/groups/{id}"
            }
          },
          "response": []
        }
      ],
      "name": "Administration"
    },
    {
      "item": [
        {
          "name": "Search authorized TeamGrid resources",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Searches only the requested, scope-authorized product domains in the owning cell. Results are bounded, metadata-only, tenant-filtered and sharing-filtered.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "search"
              ],
              "query": [],
              "raw": "{{baseUrl}}/search"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"limit\": 1,\n  \"term\": \"string\",\n  \"types\": [\n    \"contacts\"\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Create an asynchronous export",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Creates a credential-owned asynchronous CSV export in the owning cell. Resource permissions, sharing filters and a 10,000-row bound are applied again by the export worker.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "exports"
              ],
              "query": [],
              "raw": "{{baseUrl}}/exports"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"createdAtFrom\": \"2026-07-29T09:00:00.000Z\",\n  \"createdAtTo\": \"2026-07-29T09:00:00.000Z\",\n  \"fields\": [\n    \"string\"\n  ],\n  \"fileName\": \"string\",\n  \"format\": \"string\",\n  \"includeArchived\": false,\n  \"maxRows\": 1,\n  \"resourceType\": \"auditEvents\",\n  \"updatedFrom\": \"2026-07-29T09:00:00.000Z\",\n  \"updatedUntil\": \"2026-07-29T09:00:00.000Z\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get export job status",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns only credential-owned job status; storage coordinates and signed URLs remain private.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "exports",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/exports/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Create an export download intent",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Creates a short-lived single-export capability only after the job succeeded and credential ownership, workspace and resource-domain permissions are revalidated.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "exports",
                "{id}",
                "download-intent"
              ],
              "query": [],
              "raw": "{{baseUrl}}/exports/{id}/download-intent"
            }
          },
          "response": []
        },
        {
          "name": "Download a completed export through TeamGrid",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Consumes the header-only opaque intent, resolves a private cell-local storage target internally, rejects redirects and streams at most 50 MiB. The storage URL never appears in the public response.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "exports",
                "{id}",
                "download"
              ],
              "query": [],
              "raw": "{{baseUrl}}/exports/{id}/download"
            }
          },
          "response": []
        }
      ],
      "name": "Search and Exports"
    },
    {
      "item": [
        {
          "name": "List public automation actions",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns the bounded public action catalog with secret-safe parameter metadata and the domain scopes required by each action.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-actions"
              ],
              "query": [],
              "raw": "{{baseUrl}}/automation-actions"
            }
          },
          "response": []
        },
        {
          "name": "List automation definitions",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list automation definitions. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-definitions"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "archived",
                  "value": "{{archived}}"
                }
              ],
              "raw": "{{baseUrl}}/automation-definitions?cursor={{cursor}}&limit={{limit}}&archived={{archived}}"
            }
          },
          "response": []
        },
        {
          "name": "Create an automation definition",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to create an automation definition. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-definitions"
              ],
              "query": [],
              "raw": "{{baseUrl}}/automation-definitions"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"description\": \"string\",\n  \"flow\": [\n    {\n      \"actionId\": \"automationTask\",\n      \"branches\": [\n        {\n          \"flow\": null,\n          \"key\": null\n        }\n      ],\n      \"config\": [\n        {\n          \"key\": null,\n          \"value\": null\n        }\n      ],\n      \"input\": [\n        {\n          \"key\": null,\n          \"value\": null\n        }\n      ],\n      \"output\": [\n        {\n          \"key\": null,\n          \"value\": null\n        }\n      ]\n    }\n  ],\n  \"name\": \"string\",\n  \"trigger\": {\n    \"data\": {\n      \"type\": \"projects\"\n    },\n    \"event\": \"change\"\n  }\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get an automation definition",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get an automation definition. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-definitions",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/automation-definitions/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Update an automation definition",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to update an automation definition. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-definitions",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/automation-definitions/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"description\": \"string\",\n  \"flow\": [\n    {\n      \"actionId\": \"automationTask\",\n      \"branches\": [\n        {\n          \"flow\": null,\n          \"key\": null\n        }\n      ],\n      \"config\": [\n        {\n          \"key\": null,\n          \"value\": null\n        }\n      ],\n      \"input\": [\n        {\n          \"key\": null,\n          \"value\": null\n        }\n      ],\n      \"output\": [\n        {\n          \"key\": null,\n          \"value\": null\n        }\n      ]\n    }\n  ],\n  \"name\": \"string\",\n  \"trigger\": {\n    \"data\": {\n      \"type\": \"projects\"\n    },\n    \"event\": \"change\"\n  }\n}"
            }
          },
          "response": []
        },
        {
          "name": "Archive an automation definition",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to archive an automation definition. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-definitions",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/automation-definitions/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Restore an automation definition",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to restore an automation definition. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-definitions",
                "{id}",
                "restore"
              ],
              "query": [],
              "raw": "{{baseUrl}}/automation-definitions/{id}/restore"
            }
          },
          "response": []
        },
        {
          "name": "List immutable automation definition versions",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list immutable automation definition versions. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-definitions",
                "{id}",
                "versions"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                }
              ],
              "raw": "{{baseUrl}}/automation-definitions/{id}/versions?cursor={{cursor}}&limit={{limit}}"
            }
          },
          "response": []
        },
        {
          "name": "List automation runs",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list automation runs. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-runs"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "definitionId",
                  "value": "{{definitionId}}"
                },
                {
                  "disabled": true,
                  "key": "referenceId",
                  "value": "{{referenceId}}"
                },
                {
                  "disabled": true,
                  "key": "referenceType",
                  "value": "{{referenceType}}"
                },
                {
                  "disabled": true,
                  "key": "state",
                  "value": "{{state}}"
                }
              ],
              "raw": "{{baseUrl}}/automation-runs?cursor={{cursor}}&limit={{limit}}&definitionId={{definitionId}}&referenceId={{referenceId}}&referenceType={{referenceType}}&state={{state}}"
            }
          },
          "response": []
        },
        {
          "name": "Get an automation run",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get an automation run. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-runs",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/automation-runs/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Abort a running automation",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to abort a running automation. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "automation-runs",
                "{id}",
                "abort"
              ],
              "query": [],
              "raw": "{{baseUrl}}/automation-runs/{id}/abort"
            }
          },
          "response": []
        }
      ],
      "name": "Automations"
    },
    {
      "item": [
        {
          "name": "List integration installation status",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns only secret-free configured installation metadata. Tokens, webhook secrets, provider account identifiers and connection diagnostics remain private.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "integration-installations"
              ],
              "query": [],
              "raw": "{{baseUrl}}/integration-installations"
            }
          },
          "response": []
        }
      ],
      "name": "Integrations"
    },
    {
      "item": [
        {
          "name": "Get the scoped public event catalog",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns only webhook events whose complete required-scope set is granted to this credential. Change-feed events, internal collections, automation implementation names, and unscoped product events remain private.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "events",
                "catalog"
              ],
              "query": [],
              "raw": "{{baseUrl}}/events/catalog"
            }
          },
          "response": []
        }
      ],
      "name": "Events"
    },
    {
      "item": [
        {
          "name": "List cell-local resource changes",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Returns metadata-only, cell-local changes at a fixed page watermark. The opaque cursor is bound to the credential, workspace, cell, epoch, and exact filter set. A 410 response requires a new checkpoint and full resource snapshot.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "changes"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                },
                {
                  "disabled": true,
                  "key": "operations",
                  "value": "{{operations}}"
                },
                {
                  "disabled": true,
                  "key": "resourceTypes",
                  "value": "{{resourceTypes}}"
                },
                {
                  "disabled": true,
                  "key": "startAtLatest",
                  "value": "{{startAtLatest}}"
                }
              ],
              "raw": "{{baseUrl}}/changes?cursor={{cursor}}&limit={{limit}}&operations={{operations}}&resourceTypes={{resourceTypes}}&startAtLatest={{startAtLatest}}"
            }
          },
          "response": []
        }
      ],
      "name": "Changes"
    },
    {
      "item": [
        {
          "name": "List personal access tokens owned by the current user",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list personal access tokens owned by the current user. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "personal-access-tokens"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                }
              ],
              "raw": "{{baseUrl}}/me/personal-access-tokens?cursor={{cursor}}&limit={{limit}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a personal access token",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Creates native v2 key material in the credential home cell. The token is returned only by this private no-store response and exact idempotent replays retained for seven days.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "personal-access-tokens"
              ],
              "query": [],
              "raw": "{{baseUrl}}/me/personal-access-tokens"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"description\": \"string\",\n  \"expiresAt\": \"2026-07-29T09:00:00.000Z\",\n  \"name\": \"string\",\n  \"scopes\": [\n    \"string\"\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Revoke a personal access token",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to revoke a personal access token. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "personal-access-tokens",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/me/personal-access-tokens/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Rotate a personal access token",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Issues one successor generation, places the predecessor in a bounded retiring grace period, and reveals the successor only in this no-store response or an exact idempotent replay.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "personal-access-tokens",
                "{id}",
                "rotation"
              ],
              "query": [],
              "raw": "{{baseUrl}}/me/personal-access-tokens/{id}/rotation"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"expiresAt\": \"2026-07-29T09:00:00.000Z\",\n  \"gracePeriodSeconds\": 60,\n  \"scopes\": [\n    \"string\"\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Create an independent service account credential",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Creates native v2 key material in the credential home cell. The token is returned only by this private no-store response and exact idempotent replays retained for seven days.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "service-accounts",
                "{id}",
                "credentials"
              ],
              "query": [],
              "raw": "{{baseUrl}}/service-accounts/{id}/credentials"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"description\": \"string\",\n  \"expiresAt\": \"2026-07-29T09:00:00.000Z\",\n  \"name\": \"string\",\n  \"scopes\": [\n    \"string\"\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Revoke a service account credential",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to revoke a service account credential. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "service-accounts",
                "{id}",
                "credentials",
                "{credentialId}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/service-accounts/{id}/credentials/{credentialId}"
            }
          },
          "response": []
        },
        {
          "name": "Rotate a service account credential",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Issues one successor generation, places the predecessor in a bounded retiring grace period, and reveals the successor only in this no-store response or an exact idempotent replay.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "service-accounts",
                "{id}",
                "credentials",
                "{credentialId}",
                "rotation"
              ],
              "query": [],
              "raw": "{{baseUrl}}/service-accounts/{id}/credentials/{credentialId}/rotation"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"expiresAt\": \"2026-07-29T09:00:00.000Z\",\n  \"gracePeriodSeconds\": 60,\n  \"scopes\": [\n    \"string\"\n  ]\n}"
            }
          },
          "response": []
        }
      ],
      "name": "Credentials"
    },
    {
      "item": [
        {
          "name": "List service accounts",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to list service accounts. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "service-accounts"
              ],
              "query": [
                {
                  "disabled": true,
                  "key": "cursor",
                  "value": "{{cursor}}"
                },
                {
                  "disabled": true,
                  "key": "limit",
                  "value": "{{limit}}"
                }
              ],
              "raw": "{{baseUrl}}/service-accounts?cursor={{cursor}}&limit={{limit}}"
            }
          },
          "response": []
        },
        {
          "name": "Create a service account and its initial credential",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Creates native v2 key material in the credential home cell. The token is returned only by this private no-store response and exact idempotent replays retained for seven days.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "service-accounts"
              ],
              "query": [],
              "raw": "{{baseUrl}}/service-accounts"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"description\": \"string\",\n  \"expiresAt\": \"2026-07-29T09:00:00.000Z\",\n  \"name\": \"string\",\n  \"scopes\": [\n    \"string\"\n  ]\n}"
            }
          },
          "response": []
        },
        {
          "name": "Get a service account",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get a service account. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "service-accounts",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/service-accounts/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Enable or disable a service account",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to enable or disable a service account. Only documented mutable fields are accepted; omitted fields retain their current values unless the request schema states replacement semantics. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "service-accounts",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/service-accounts/{id}"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"reason\": \"string\",\n  \"status\": \"active\"\n}"
            }
          },
          "response": []
        },
        {
          "name": "Permanently revoke a service account",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to permanently revoke a service account. The operation preserves TeamGrid lifecycle and permission rules instead of bypassing them with a direct data deletion. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "service-accounts",
                "{id}"
              ],
              "query": [],
              "raw": "{{baseUrl}}/service-accounts/{id}"
            }
          },
          "response": []
        },
        {
          "name": "Get the complete service account resource grant set",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Use this operation to get the complete service account resource grant set. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "service-accounts",
                "{id}",
                "resource-grants"
              ],
              "query": [],
              "raw": "{{baseUrl}}/service-accounts/{id}/resource-grants"
            }
          },
          "response": []
        },
        {
          "name": "Replace the complete service account resource grant set",
          "request": {
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "type": "string",
                  "value": "{{token}}"
                }
              ]
            },
            "description": "Atomically replaces the complete grant policy. Partial and stale publications fail closed.",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "PUT",
            "url": {
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "service-accounts",
                "{id}",
                "resource-grants"
              ],
              "query": [],
              "raw": "{{baseUrl}}/service-accounts/{id}/resource-grants"
            },
            "body": {
              "mode": "raw",
              "options": {
                "raw": {
                  "language": "json"
                }
              },
              "raw": "{\n  \"grants\": [\n    {\n      \"anchorId\": \"string\",\n      \"anchorType\": \"workspace\",\n      \"capabilities\": [\n        \"string\"\n      ],\n      \"expiresAt\": \"2026-07-29T09:00:00.000Z\",\n      \"inheritance\": \"domainDescendants\",\n      \"resourceKey\": \"string\"\n    }\n  ]\n}"
            }
          },
          "response": []
        }
      ],
      "name": "Service Accounts"
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.de.teamgrid.app/v1"
    },
    {
      "key": "token",
      "type": "secret",
      "value": ""
    }
  ]
}
