{"items":[{"type":"link","label":"WebWork Time Tracker API V2 Documentation","link":"/api","routeSlug":"/api","content":{"contentType":"overview","meta":{"name":"WebWork Time Tracker API V2 Documentation"},"children":[{"nodeType":"container","panels":[{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://webwork-tracker.com/support","url":"https://webwork-tracker.com/support"},{"kind":"email","title":"API Support","email":"api-support@webwork-tracker.com","label":"api-support@webwork-tracker.com","withCopyButton":true,"copyContent":"api-support@webwork-tracker.com"},{"kind":"externallink","label":"Terms of Service","labelTranslationKey":"info.termsOfService","url":"https://www.webwork-tracker.com/terms-of-service"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"cURL","lang":"curl"},{"key":"js","title":"JS","lang":"JavaScript"},{"key":"python","title":"Python","lang":"Python"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"java 8","title":"Java 8","lang":"Java8+Apache"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"c++","title":"C++","lang":"C++"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"WebWork Time Tracker API V2 Documentation (2.0.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Modern REST API for WebWork Time Tracker with OAuth2 authentication. This API provides access to workspaces, members, projects, and time tracking features."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scopes are enforced."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"read"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" permits GET only; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"write"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" permits POST/PUT/PATCH/DELETE (including deletes) as well as GET; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"admin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" adds the AI assistant's approval actions. A token without the required scope receives 403 with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.required_scope"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.granted_scope"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate Limit"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": 150 requests per minute per user, plus a maximum of 20 write requests per second. Exceeding either returns 429 with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Retry-After"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]}]}],"sectionId":"/api"}],"sectionId":"/api"}]}]}},{"type":"group","label":"Workspaces","link":"/api/workspaces","routeSlug":"/api/workspaces","items":[{"label":"Get All Workspaces","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/workspaces/getworkspaces","routeSlug":"/api/workspaces/getworkspaces","metadata":{"seo":{"title":"Get All Workspaces","description":"Retrieve all active workspaces for the authenticated user. Returns paginated list of workspaces where the user is a member, including workspace details and status. Only non-blocked, non-deleted workspaces are returned."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getWorkspaces","name":"Get All Workspaces","isWebhook":false,"pointer":"/paths/~1workspaces/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Workspaces","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve all active workspaces for the authenticated user. Returns paginated list of workspaces where the user is a member, including workspace details and status. Only non-blocked, non-deleted workspaces are returned."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_359","description":"Page number for pagination"},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Number of items per page"}],"pointer":"/paths/~1workspaces/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/workspaces","href":"workspaces/getworkspaces","openApiOperationId":"getWorkspaces","summary":"Get All Workspaces","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of workspaces","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_361"}},"schemaId":"schema_361"},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces/get/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1workspaces/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_361","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_361"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces/get/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/workspaces/getworkspaces"}],"panels":[]}]},"httpPath":"/workspaces"},{"label":"Get Single Workspace","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/workspaces/getworkspace","routeSlug":"/api/workspaces/getworkspace","metadata":{"seo":{"title":"Get Single Workspace","description":"Retrieve a single workspace membership by the ID returned by GET /workspaces. Same item shape as GET /workspaces. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getWorkspace","name":"Get Single Workspace","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspaceId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Workspace","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single workspace membership by the ID returned by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /workspaces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Same item shape as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /workspaces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Requires workspace owner or executive manager permissions."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspaceId","in":"path","schemaId":"schema_362","description":"ID of the workspace (as returned by GET /workspaces)","required":true,"example":1}],"pointer":"/paths/~1workspaces~1{workspaceId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspaceId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"workspaceId","in":"path","required":true,"example":1,"schemaId":"schema_362"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/workspaces/{workspaceId}","href":"workspaces/getworkspace","openApiOperationId":"getWorkspace","summary":"Get Single Workspace","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Workspace retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_363"}},"schemaId":"schema_363"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1workspaces~1{workspaceId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_363","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_363"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1workspaces~1{workspaceId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/workspaces/getworkspace"}],"panels":[]}]},"httpPath":"/workspaces/{workspaceId}"}],"content":{"contentType":"group","meta":{"name":"Workspaces"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Workspaces","showPageActions":true},{"nodeType":"markdoc","content":"Read workspace information for the authenticated user for using it in the other endpoints"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/workspaces","summary":"Get All Workspaces","prefix":{"name":"get","color":"get"},"badges":[],"link":"/workspaces/getworkspaces","deprecated":false},{"title":"/workspaces/{workspaceId}","summary":"Get Single Workspace","prefix":{"name":"get","color":"get"},"badges":[],"link":"/workspaces/getworkspace","deprecated":false}]}]}]}]}},{"type":"group","label":"Members","link":"/api/members","routeSlug":"/api/members","items":[{"label":"Get All Workspace Members","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/members/getmembers","routeSlug":"/api/members/getmembers","metadata":{"seo":{"title":"Get All Workspace Members","description":"Retrieve all team members in your workspace. Members are automatically filtered based on your role and permissions. You can apply additional filters to narrow down results. Rate and financial information is only visible if you have permission to view rates. Security: Only members of the specified workspace can access its member list."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMembers","name":"Get All Workspace Members","isWebhook":false,"pointer":"/paths/~1members/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Workspace Members","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all team members in your workspace. Members are automatically filtered based on your role and permissions. You can apply additional filters to narrow down results. Rate and financial information is only visible if you have permission to view rates. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only members of the specified workspace can access its member list."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true},{"name":"email","in":"query","schemaId":"schema_365","description":"Filter members by email address (exact match)"},{"name":"status","in":"query","schemaId":"schema_366","description":"Filter members by status"},{"name":"role","in":"query","schemaId":"schema_367","description":"Filter members by role"},{"name":"page","in":"query","schemaId":"schema_359","description":"Page number for pagination"},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Number of items per page"}],"pointer":"/paths/~1members/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/members","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"email","in":"query","required":false,"example":"john.doe@example.com","schemaId":"schema_365"},{"name":"status","in":"query","required":false,"example":"active","schemaId":"schema_366"},{"name":"role","in":"query","required":false,"example":"Regular User","schemaId":"schema_367"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/members","href":"members/getmembers","openApiOperationId":"getMembers","summary":"Get All Workspace Members","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of workspace members","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_368"}},"schemaId":"schema_368"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/401/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members/get/responses/404/content/application~1json/examples/member_not_found","paths/~1members/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members/get/responses/404/content/application~1json/examples/member_not_found","paths/~1members/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1members/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_368","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_368"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members/get/responses/404/content/application~1json/examples/member_not_found","paths/~1members/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members/get/responses/404/content/application~1json/examples/member_not_found","paths/~1members/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/members/getmembers"}],"panels":[]}]},"httpPath":"/members"},{"label":"Invite New Member","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/members/invitemember","routeSlug":"/api/members/invitemember","metadata":{"seo":{"title":"Invite New Member","description":"Invite a new member to your workspace. This endpoint is only accessible to Owners and Executive Managers. By default an invitation email and an in-app notification are sent to the invited member. Set notify to false to add the member silently — no email and no notification are sent, and you distribute the returned invitation_link yourself."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"inviteMember","name":"Invite New Member","isWebhook":false,"pointer":"/paths/~1members/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Invite New Member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invite a new member to your workspace. This endpoint is only accessible to Owners and Executive Managers. By default an invitation email and an in-app notification are sent to the invited member. Set "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"notify"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to add the member silently — no email and no notification are sent, and you distribute the returned "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invitation_link"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" yourself."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1members/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_369"}},"schemaId":"schema_369","pointer":"/paths/~1members/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/members","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_369"}},"responseCodes":["201","400","401","403","404","409","422","500"],"pointer":"/members","href":"members/invitemember","openApiOperationId":"inviteMember","summary":"Invite New Member","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_369","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_369"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Member invited successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_370"}},"schemaId":"schema_370"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members/post/responses/404/content/application~1json/examples/member_not_found","paths/~1members/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members/post/responses/404/content/application~1json/examples/member_not_found","paths/~1members/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"409","description":"Conflict - resource already exists or duplicate data","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1members/post/responses/409/content/application~1json/examples/member_already_exists"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1members/post/responses/409/content/application~1json/examples/member_already_exists"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1members/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1members/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1members/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_370","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_370"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members/post/responses/404/content/application~1json/examples/member_not_found","paths/~1members/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members/post/responses/404/content/application~1json/examples/member_not_found","paths/~1members/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1members/post/responses/409/content/application~1json/examples/member_already_exists"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1members/post/responses/409/content/application~1json/examples/member_already_exists"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1members/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1members/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/members/invitemember"}],"panels":[]}]},"httpPath":"/members"},{"label":"Get Single Member","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/members/getmember","routeSlug":"/api/members/getmember","metadata":{"seo":{"title":"Get Single Member","description":"Retrieve detailed information about a specific member in your workspace. Rate and financial information is only visible if you have permission to view rates."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMember","name":"Get Single Member","isWebhook":false,"pointer":"/paths/~1members~1{memberId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve detailed information about a specific member in your workspace. Rate and financial information is only visible if you have permission to view rates."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"memberId","in":"path","schemaId":"schema_371","description":"ID of the member","required":true}],"pointer":"/paths/~1members~1{memberId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1members~1{memberId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/members/{memberId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"memberId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/members/{memberId}","href":"members/getmember","openApiOperationId":"getMember","summary":"Get Single Member","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member details","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_372"}},"schemaId":"schema_372"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/401/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1members~1{memberId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_372","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_372"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/members/getmember"}],"panels":[]}]},"httpPath":"/members/{memberId}"},{"label":"Update Member","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/members/updatemember","routeSlug":"/api/members/updatemember","metadata":{"seo":{"title":"Update Member","description":"Update member information. This endpoint is only accessible to Owners and Executive Managers. You can update profile information, role, rate settings, and other member attributes. Security: You must be a member of the workspace AND have Owner/Executive Manager role. You can only update members within workspaces you have access to."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateMember","name":"Update Member","isWebhook":false,"pointer":"/paths/~1members~1{memberId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update member information. This endpoint is only accessible to Owners and Executive Managers. You can update profile information, role, rate settings, and other member attributes. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": You must be a member of the workspace AND have Owner/Executive Manager role. You can only update members within workspaces you have access to."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"memberId","in":"path","schemaId":"schema_371","description":"ID of the member to update","required":true}],"pointer":"/paths/~1members~1{memberId}/put/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1members~1{memberId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_373"}},"schemaId":"schema_373","pointer":"/paths/~1members~1{memberId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/members/{memberId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"memberId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_373"}},"responseCodes":["200","400","401","403","404","409","422","500"],"pointer":"/members/{memberId}","href":"members/updatemember","openApiOperationId":"updateMember","summary":"Update Member","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_373","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_373"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_374"}},"schemaId":"schema_374"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"409","description":"Conflict - resource already exists or duplicate data","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/duplicate_email","paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/member_already_exists"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/duplicate_email","paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/member_already_exists"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1members~1{memberId}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_374","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_374"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/duplicate_email","paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/member_already_exists"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/duplicate_email","paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/member_already_exists"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/members/updatemember"}],"panels":[]}]},"httpPath":"/members/{memberId}"},{"label":"Delete (Archive) Member","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/members/deletemember","routeSlug":"/api/members/deletemember","metadata":{"seo":{"title":"Delete (Archive) Member","description":"Delete (archive) a member from your workspace. This is a soft delete - the member can be restored later. This endpoint is only accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteMember","name":"Delete (Archive) Member","isWebhook":false,"pointer":"/paths/~1members~1{memberId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete (Archive) Member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete (archive) a member from your workspace. This is a soft delete - the member can be restored later. This endpoint is only accessible to Owners and Executive Managers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"memberId","in":"path","schemaId":"schema_371","description":"ID of the member to delete","required":true}],"pointer":"/paths/~1members~1{memberId}/delete/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1members~1{memberId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/members/{memberId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"memberId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/members/{memberId}","href":"members/deletemember","openApiOperationId":"deleteMember","summary":"Delete (Archive) Member","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member deleted successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_375"}},"schemaId":"schema_375"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1members~1{memberId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_375","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_375"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/members/deletemember"}],"panels":[]}]},"httpPath":"/members/{memberId}"},{"label":"Restore Archived Member","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/members/restoremember","routeSlug":"/api/members/restoremember","metadata":{"seo":{"title":"Restore Archived Member","description":"Restore a previously deleted (archived) member to your workspace. This endpoint is only accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"restoreMember","name":"Restore Archived Member","isWebhook":false,"pointer":"/paths/~1members~1{memberId}~1restore/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Restore Archived Member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Restore a previously deleted (archived) member to your workspace. This endpoint is only accessible to Owners and Executive Managers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"memberId","in":"path","schemaId":"schema_371","description":"ID of the member to restore","required":true}],"pointer":"/paths/~1members~1{memberId}~1restore/post/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1members~1{memberId}~1restore/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/members/{memberId}/restore","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"memberId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/members/{memberId}/restore","href":"members/restoremember","openApiOperationId":"restoreMember","summary":"Restore Archived Member","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member restored successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_376"}},"schemaId":"schema_376"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1members~1{memberId}~1restore/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_376","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_376"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/member_not_found","paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1restore/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/members/restoremember"}],"panels":[]}]},"httpPath":"/members/{memberId}/restore"},{"label":"Activate Invited Member","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/members/activatemember","routeSlug":"/api/members/activatemember","metadata":{"seo":{"title":"Activate Invited Member","description":"Activate an invited member on their behalf — the API equivalent of the member opening the invitation email and accepting it. Instead of waiting for the member to click the link and choose a password, you set the password in this request and the member's account becomes active immediately."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"activateMember","name":"Activate Invited Member","isWebhook":false,"pointer":"/paths/~1members~1{memberId}~1activate/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Activate Invited Member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activate an invited member on their behalf — the API equivalent of the member opening the invitation email and accepting it. Instead of waiting for the member to click the link and choose a password, you set the password in this request and the member's account becomes active immediately."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How it works"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invite the member with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /members"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — this creates a pending (inactive) account and a pending invitation."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned by the invite and the password to set."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The member's account and workspace membership are activated, the password is set, the pending invitation is consumed (the emailed link stops working), and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member.activated"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" webhook event is fired — exactly as if the member had accepted the invitation themselves."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The member can immediately sign in to WebWork with their email and the password you set."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Availability — request access first"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is disabled by default for every workspace. If you want to use it, you need to request it from WebWork support (support@webwork-tracker.com) and a WebWork admin must enable API member activation for your workspace; until it is enabled, requests return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"feature_required: \"api_member_activation\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". In addition, the workspace must be on the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Plus plan or higher"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (otherwise "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"plan_required: \"plus\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), and the caller must be an "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Owner or Executive Manager"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of the workspace."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activation rules"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The member must be a pending invited account that has never been activated. Members who already have an active WebWork account must accept the invitation via the email link themselves — requests for them return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (this prevents overwriting the password of an existing account)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A pending, non-expired invitation must exist for the member (invitations expire 30 days after they are sent; expired ones return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"410"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — re-invite the member to get a fresh invitation)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The member's email domain must match the workspace's company email domain — e.g. if the workspace owner signed up with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"@acme.com"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"@acme.com"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" members can be activated this way. Free email providers such as gmail.com never qualify as a company domain ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"422"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The password must contain at least 1 uppercase letter, 1 lowercase letter and 1 number, with length between the workspace's minimum password length (default 8) and 36 characters ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"422"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"memberId","in":"path","schemaId":"schema_371","description":"ID of the member to activate","required":true}],"pointer":"/paths/~1members~1{memberId}~1activate/post/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1members~1{memberId}~1activate/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_377"}},"schemaId":"schema_377","pointer":"/paths/~1members~1{memberId}~1activate/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/members/{memberId}/activate","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"memberId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_377"}},"responseCodes":["200","400","401","403","404","409","410","422","500"],"pointer":"/members/{memberId}/activate","href":"members/activatemember","openApiOperationId":"activateMember","summary":"Activate Invited Member","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_377","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_377"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member activated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_378"}},"schemaId":"schema_378"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the workspace plan is below Plus, API member activation is not enabled for the workspace, or the caller is not an Owner/Executive Manager","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_379","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/plan_required","paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/feature_required"]}},"schemaId":"schema_379","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/plan_required","paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/feature_required"]},{"code":"404","description":"Member not found in this workspace, or no pending invitation exists for the member","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"409","description":"Member is already active in this workspace, or already has an active account and must accept the invitation via the email link","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"410","description":"Gone - the resource has expired","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/410/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/410/content/application~1json/example"]},{"code":"422","description":"Validation failed - the password does not meet the requirements, or the member's email domain does not match the workspace email domain","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse"}},"schemaId":"components/schemas/ValidationErrorResponse"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1members~1{memberId}~1activate/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_378","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_378"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"schema_379","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/plan_required","paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/feature_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_379","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/plan_required","paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/feature_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"410","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/410/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/410/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1members~1{memberId}~1activate/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/members/activatemember"}],"panels":[]}]},"httpPath":"/members/{memberId}/activate"}],"content":{"contentType":"group","meta":{"name":"Members"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Members","showPageActions":true},{"nodeType":"markdoc","content":"Manage workspace members - invite, update roles, and remove members"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/members","summary":"Get All Workspace Members","prefix":{"name":"get","color":"get"},"badges":[],"link":"/members/getmembers","deprecated":false},{"title":"/members","summary":"Invite New Member","prefix":{"name":"post","color":"post"},"badges":[],"link":"/members/invitemember","deprecated":false},{"title":"/members/{memberId}","summary":"Get Single Member","prefix":{"name":"get","color":"get"},"badges":[],"link":"/members/getmember","deprecated":false},{"title":"/members/{memberId}","summary":"Update Member","prefix":{"name":"put","color":"put"},"badges":[],"link":"/members/updatemember","deprecated":false},{"title":"/members/{memberId}","summary":"Delete (Archive) Member","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/members/deletemember","deprecated":false},{"title":"/members/{memberId}/restore","summary":"Restore Archived Member","prefix":{"name":"post","color":"post"},"badges":[],"link":"/members/restoremember","deprecated":false},{"title":"/members/{memberId}/activate","summary":"Activate Invited Member","prefix":{"name":"post","color":"post"},"badges":[],"link":"/members/activatemember","deprecated":false}]}]}]}]}},{"type":"group","label":"Teams","link":"/api/teams","routeSlug":"/api/teams","items":[{"label":"Get All Teams","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/teams/getteams","routeSlug":"/api/teams/getteams","metadata":{"seo":{"title":"Get All Teams","description":"List workspace teams, paginated. Each team includes its assigned members (active workspace users only); every member carries an is_manager flag. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTeams","name":"Get All Teams","isWebhook":false,"pointer":"/paths/~1teams/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Teams","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List workspace teams, paginated. Each team includes its assigned members (active workspace users only); every member carries an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_manager"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" flag. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true},{"name":"page","in":"query","schemaId":"schema_359"},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Items per page (max 100)."}],"pointer":"/paths/~1teams/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/teams","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/teams","href":"teams/getteams","openApiOperationId":"getTeams","summary":"Get All Teams","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of teams.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_380"}},"schemaId":"schema_380"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1teams/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_380","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_380"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/teams/getteams"}],"panels":[]}]},"httpPath":"/teams"},{"label":"Create New Team","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/teams/createteam","routeSlug":"/api/teams/createteam","metadata":{"seo":{"title":"Create New Team","description":"Create a team. name is required, trimmed, max 70 chars, and unique per workspace (else 422). Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createTeam","name":"Create New Team","isWebhook":false,"pointer":"/paths/~1teams/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create New Team","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a team. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required, trimmed, max 70 chars, and unique per workspace (else 422). "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_381"}},"schemaId":"schema_381","pointer":"/paths/~1teams/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/teams","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_381"}},"responseCodes":["201","400","401","403","422","500"],"pointer":"/teams","href":"teams/createteam","openApiOperationId":"createTeam","summary":"Create New Team","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_381","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_381"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Team created. A newly created team has no members yet.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_382","exampleIds":["paths/~1teams/post/responses/201/content/application~1json/example"]}},"schemaId":"schema_382","exampleIds":["paths/~1teams/post/responses/201/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/403/content/application~1json/example"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1teams/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_382","exampleIds":["paths/~1teams/post/responses/201/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_382","exampleIds":["paths/~1teams/post/responses/201/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/403/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/teams/createteam"}],"panels":[]}]},"httpPath":"/teams"},{"label":"Get Single Team","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/teams/getteam","routeSlug":"/api/teams/getteam","metadata":{"seo":{"title":"Get Single Team","description":"Retrieve one team by its opaque encoded id, with assigned members and their is_manager flag. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTeam","name":"Get Single Team","isWebhook":false,"pointer":"/paths/~1teams~1{team_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Team","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve one team by its opaque encoded id, with assigned members and their "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_manager"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" flag. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"team_id","in":"path","schemaId":"schema_383","description":"Opaque encoded team id.","required":true}],"pointer":"/paths/~1teams~1{team_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","required":true}],"pointer":"/paths/~1teams~1{team_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/teams/{team_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"team_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","401","403","404","422","500"],"pointer":"/teams/{team_id}","href":"teams/getteam","openApiOperationId":"getTeam","summary":"Get Single Team","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The team.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_384"}},"schemaId":"schema_384"},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1teams~1{team_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_384","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_384"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/teams/getteam"}],"panels":[]}]},"httpPath":"/teams/{team_id}"},{"label":"Update Team","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/teams/updateteam","routeSlug":"/api/teams/updateteam","metadata":{"seo":{"title":"Update Team","description":"Rename a team. When present, name follows the same rules as create (trimmed non-empty, max 70, unique per workspace); a body that omits name entirely changes nothing and returns 200 with the team unmodified, while a name that is present but blank or null is rejected with 422. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateTeam","name":"Update Team","isWebhook":false,"pointer":"/paths/~1teams~1{team_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Team","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rename a team. When present, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" follows the same rules as create (trimmed non-empty, max 70, unique per workspace); a body that omits "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entirely changes nothing and returns 200 with the team unmodified, while a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that is present but blank or null is rejected with 422. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"team_id","in":"path","schemaId":"schema_383","description":"Opaque encoded team id.","required":true}],"pointer":"/paths/~1teams~1{team_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_385"}},"schemaId":"schema_385","pointer":"/paths/~1teams~1{team_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/teams/{team_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"team_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_385"}},"responseCodes":["200","401","403","404","422","500"],"pointer":"/teams/{team_id}","href":"teams/updateteam","openApiOperationId":"updateTeam","summary":"Update Team","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_385","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_385"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Team updated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_386"}},"schemaId":"schema_386"},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1teams~1{team_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_386","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_386"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/teams/updateteam"}],"panels":[]}]},"httpPath":"/teams/{team_id}"},{"label":"Delete Team","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/teams/deleteteam","routeSlug":"/api/teams/deleteteam","metadata":{"seo":{"title":"Delete Team","description":"Delete a team and all its member assignments. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTeam","name":"Delete Team","isWebhook":false,"pointer":"/paths/~1teams~1{team_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Team","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a team and all its member assignments. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"team_id","in":"path","schemaId":"schema_383","description":"Opaque encoded team id.","required":true}],"pointer":"/paths/~1teams~1{team_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"schemaId":"schema_387","pointer":"/paths/~1teams~1{team_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/teams/{team_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"team_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387"}},"responseCodes":["200","401","403","404","422","500"],"pointer":"/teams/{team_id}","href":"teams/deleteteam","openApiOperationId":"deleteTeam","summary":"Delete Team","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Team deleted.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_388"}},"schemaId":"schema_388"},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1teams~1{team_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_388","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_388"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/teams/deleteteam"}],"panels":[]}]},"httpPath":"/teams/{team_id}"},{"label":"Assign Member to Team","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/teams/assignteammember","routeSlug":"/api/teams/assignteammember","metadata":{"seo":{"title":"Assign Member to Team","description":"Assign a member to a team. Add-only: succeeds only when the member is not already in the team; re-assigning an already-assigned member returns 422 regardless of is_manager (assign never mutates an existing membership — use unassign to change it). Optional is_manager: true adds the member as Team Manager of this team (the member must already hold the Team Manager workspace role, else 422); false or omitted adds them as a plain member. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"assignTeamMember","name":"Assign Member to Team","isWebhook":false,"pointer":"/paths/~1teams~1{team_id}~1assign~1{member_id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Assign Member to Team","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assign a member to a team. Add-only: succeeds only when the member is not already in the team; re-assigning an already-assigned member returns 422 regardless of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_manager"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (assign never mutates an existing membership — use unassign to change it). Optional "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_manager"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" adds the member as Team Manager of this team (the member must already hold the Team Manager workspace role, else 422); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or omitted adds them as a plain member. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"team_id","in":"path","schemaId":"schema_383","description":"Opaque encoded team id.","required":true},{"name":"member_id","in":"path","schemaId":"schema_389","description":"Raw integer user id.","required":true}],"pointer":"/paths/~1teams~1{team_id}~1assign~1{member_id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_390"}},"schemaId":"schema_390","pointer":"/paths/~1teams~1{team_id}~1assign~1{member_id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/teams/{team_id}/assign/{member_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"team_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"},{"name":"member_id","in":"path","required":true,"example":42,"schemaId":"schema_389"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_390"}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/teams/{team_id}/assign/{member_id}","href":"teams/assignteammember","openApiOperationId":"assignTeamMember","summary":"Assign Member to Team","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_390","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_390"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member assigned; the updated team is returned.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_391"}},"schemaId":"schema_391"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_391","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_391"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/teams/assignteammember"}],"panels":[]}]},"httpPath":"/teams/{team_id}/assign/{member_id}"},{"label":"Unassign Member from Team","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/teams/unassignteammember","routeSlug":"/api/teams/unassignteammember","metadata":{"seo":{"title":"Unassign Member from Team","description":"Remove a member from a team. If the member was a Team Manager of that team, that status is removed as well. Returns 404 if the member is not assigned to the team. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"unassignTeamMember","name":"Unassign Member from Team","isWebhook":false,"pointer":"/paths/~1teams~1{team_id}~1unassign~1{member_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Unassign Member from Team","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Remove a member from a team. If the member was a Team Manager of that team, that status is removed as well. Returns 404 if the member is not assigned to the team. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"team_id","in":"path","schemaId":"schema_383","description":"Opaque encoded team id.","required":true},{"name":"member_id","in":"path","schemaId":"schema_389","description":"Raw integer user id.","required":true}],"pointer":"/paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"schemaId":"schema_387","pointer":"/paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/teams/{team_id}/unassign/{member_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"team_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"},{"name":"member_id","in":"path","required":true,"example":42,"schemaId":"schema_389"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387"}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/teams/{team_id}/unassign/{member_id}","href":"teams/unassignteammember","openApiOperationId":"unassignTeamMember","summary":"Unassign Member from Team","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member removed; the updated team is returned.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_392"}},"schemaId":"schema_392"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_392","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_392"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/teams/unassignteammember"}],"panels":[]}]},"httpPath":"/teams/{team_id}/unassign/{member_id}"}],"content":{"contentType":"group","meta":{"name":"Teams"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Teams","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manage workspace teams and their member assignments. Owner/Executive Manager role only. Each returned member carries an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_manager"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" flag — true when the member is a Team Manager for that team (workspace role Team Manager and flagged on the team). The public id is an opaque encoded string; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in assign/unassign is a raw integer user id."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/teams","summary":"Get All Teams","prefix":{"name":"get","color":"get"},"badges":[],"link":"/teams/getteams","deprecated":false},{"title":"/teams","summary":"Create New Team","prefix":{"name":"post","color":"post"},"badges":[],"link":"/teams/createteam","deprecated":false},{"title":"/teams/{team_id}","summary":"Get Single Team","prefix":{"name":"get","color":"get"},"badges":[],"link":"/teams/getteam","deprecated":false},{"title":"/teams/{team_id}","summary":"Update Team","prefix":{"name":"put","color":"put"},"badges":[],"link":"/teams/updateteam","deprecated":false},{"title":"/teams/{team_id}","summary":"Delete Team","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/teams/deleteteam","deprecated":false},{"title":"/teams/{team_id}/assign/{member_id}","summary":"Assign Member to Team","prefix":{"name":"post","color":"post"},"badges":[],"link":"/teams/assignteammember","deprecated":false},{"title":"/teams/{team_id}/unassign/{member_id}","summary":"Unassign Member from Team","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/teams/unassignteammember","deprecated":false}]}]}]}]}},{"type":"group","label":"Titles","link":"/api/titles","routeSlug":"/api/titles","items":[{"label":"Get All Titles","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/titles/gettitles","routeSlug":"/api/titles/gettitles","metadata":{"seo":{"title":"Get All Titles","description":"List workspace titles, paginated, each with its assigned members. Titles have no manager concept. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTitles","name":"Get All Titles","isWebhook":false,"pointer":"/paths/~1titles/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Titles","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List workspace titles, paginated, each with its assigned members. Titles have no manager concept. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","required":true},{"name":"page","in":"query","schemaId":"schema_359"},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Items per page (max 100)."}],"pointer":"/paths/~1titles/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/titles","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/titles","href":"titles/gettitles","openApiOperationId":"getTitles","summary":"Get All Titles","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of titles.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_393"}},"schemaId":"schema_393"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1titles/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_393","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_393"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/titles/gettitles"}],"panels":[]}]},"httpPath":"/titles"},{"label":"Create New Title","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/titles/createtitle","routeSlug":"/api/titles/createtitle","metadata":{"seo":{"title":"Create New Title","description":"Create a title. name is required, trimmed, max 70 chars, and unique per workspace (else 422). Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createTitle","name":"Create New Title","isWebhook":false,"pointer":"/paths/~1titles/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create New Title","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a title. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required, trimmed, max 70 chars, and unique per workspace (else 422). "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_394"}},"schemaId":"schema_394","pointer":"/paths/~1titles/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/titles","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_394"}},"responseCodes":["201","400","401","403","422","500"],"pointer":"/titles","href":"titles/createtitle","openApiOperationId":"createTitle","summary":"Create New Title","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_394","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_394"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Title created. A newly created title has no members yet.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_395","exampleIds":["paths/~1titles/post/responses/201/content/application~1json/example"]}},"schemaId":"schema_395","exampleIds":["paths/~1titles/post/responses/201/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/403/content/application~1json/example"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1titles/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_395","exampleIds":["paths/~1titles/post/responses/201/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_395","exampleIds":["paths/~1titles/post/responses/201/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/403/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/titles/createtitle"}],"panels":[]}]},"httpPath":"/titles"},{"label":"Get Single Title","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/titles/gettitle","routeSlug":"/api/titles/gettitle","metadata":{"seo":{"title":"Get Single Title","description":"Retrieve one title by its opaque encoded id, with assigned members. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTitle","name":"Get Single Title","isWebhook":false,"pointer":"/paths/~1titles~1{title_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Title","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve one title by its opaque encoded id, with assigned members. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"title_id","in":"path","schemaId":"schema_383","description":"Opaque encoded title id.","required":true}],"pointer":"/paths/~1titles~1{title_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","required":true}],"pointer":"/paths/~1titles~1{title_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/titles/{title_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"title_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","401","403","404","422","500"],"pointer":"/titles/{title_id}","href":"titles/gettitle","openApiOperationId":"getTitle","summary":"Get Single Title","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The title.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_396"}},"schemaId":"schema_396"},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1titles~1{title_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_396","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_396"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/titles/gettitle"}],"panels":[]}]},"httpPath":"/titles/{title_id}"},{"label":"Update Title","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/titles/updatetitle","routeSlug":"/api/titles/updatetitle","metadata":{"seo":{"title":"Update Title","description":"Rename a title. When present, name follows the same rules as create; a body that omits name entirely changes nothing and returns 200 with the title unmodified, while a name that is present but blank or null is rejected with 422. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateTitle","name":"Update Title","isWebhook":false,"pointer":"/paths/~1titles~1{title_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Title","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rename a title. When present, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" follows the same rules as create; a body that omits "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entirely changes nothing and returns 200 with the title unmodified, while a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that is present but blank or null is rejected with 422. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"title_id","in":"path","schemaId":"schema_383","description":"Opaque encoded title id.","required":true}],"pointer":"/paths/~1titles~1{title_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_397"}},"schemaId":"schema_397","pointer":"/paths/~1titles~1{title_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/titles/{title_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"title_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_397"}},"responseCodes":["200","401","403","404","422","500"],"pointer":"/titles/{title_id}","href":"titles/updatetitle","openApiOperationId":"updateTitle","summary":"Update Title","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_397","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_397"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Title updated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_398"}},"schemaId":"schema_398"},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1titles~1{title_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_398","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_398"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/titles/updatetitle"}],"panels":[]}]},"httpPath":"/titles/{title_id}"},{"label":"Delete Title","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/titles/deletetitle","routeSlug":"/api/titles/deletetitle","metadata":{"seo":{"title":"Delete Title","description":"Delete a title and all its member assignments. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTitle","name":"Delete Title","isWebhook":false,"pointer":"/paths/~1titles~1{title_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Title","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a title and all its member assignments. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"title_id","in":"path","schemaId":"schema_383","description":"Opaque encoded title id.","required":true}],"pointer":"/paths/~1titles~1{title_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"schemaId":"schema_387","pointer":"/paths/~1titles~1{title_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/titles/{title_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"title_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387"}},"responseCodes":["200","401","403","404","422","500"],"pointer":"/titles/{title_id}","href":"titles/deletetitle","openApiOperationId":"deleteTitle","summary":"Delete Title","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Title deleted.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_399"}},"schemaId":"schema_399"},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1titles~1{title_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_399","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_399"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/titles/deletetitle"}],"panels":[]}]},"httpPath":"/titles/{title_id}"},{"label":"Assign Member to Title","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/titles/assigntitlemember","routeSlug":"/api/titles/assigntitlemember","metadata":{"seo":{"title":"Assign Member to Title","description":"Assign a member to a title. Add-only: re-assigning an already-assigned member returns 422. Titles have no manager concept, so no is_manager field is accepted (sending one returns 422). Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"assignTitleMember","name":"Assign Member to Title","isWebhook":false,"pointer":"/paths/~1titles~1{title_id}~1assign~1{member_id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Assign Member to Title","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assign a member to a title. Add-only: re-assigning an already-assigned member returns 422. Titles have no manager concept, so no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_manager"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is accepted (sending one returns 422). "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"title_id","in":"path","schemaId":"schema_383","description":"Opaque encoded title id.","required":true},{"name":"member_id","in":"path","schemaId":"schema_389","description":"Raw integer user id.","required":true}],"pointer":"/paths/~1titles~1{title_id}~1assign~1{member_id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"schemaId":"schema_387","pointer":"/paths/~1titles~1{title_id}~1assign~1{member_id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/titles/{title_id}/assign/{member_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"title_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"},{"name":"member_id","in":"path","required":true,"example":42,"schemaId":"schema_389"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387"}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/titles/{title_id}/assign/{member_id}","href":"titles/assigntitlemember","openApiOperationId":"assignTitleMember","summary":"Assign Member to Title","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member assigned; the updated title is returned.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_400"}},"schemaId":"schema_400"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_400","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_400"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/titles/assigntitlemember"}],"panels":[]}]},"httpPath":"/titles/{title_id}/assign/{member_id}"},{"label":"Unassign Member from Title","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/titles/unassigntitlemember","routeSlug":"/api/titles/unassigntitlemember","metadata":{"seo":{"title":"Unassign Member from Title","description":"Remove a member from a title. Returns 404 if the member is not assigned. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"unassignTitleMember","name":"Unassign Member from Title","isWebhook":false,"pointer":"/paths/~1titles~1{title_id}~1unassign~1{member_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Unassign Member from Title","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Remove a member from a title. Returns 404 if the member is not assigned. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"title_id","in":"path","schemaId":"schema_383","description":"Opaque encoded title id.","required":true},{"name":"member_id","in":"path","schemaId":"schema_389","description":"Raw integer user id.","required":true}],"pointer":"/paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"schemaId":"schema_387","pointer":"/paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/titles/{title_id}/unassign/{member_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"title_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"},{"name":"member_id","in":"path","required":true,"example":42,"schemaId":"schema_389"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387"}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/titles/{title_id}/unassign/{member_id}","href":"titles/unassigntitlemember","openApiOperationId":"unassignTitleMember","summary":"Unassign Member from Title","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member removed; the updated title is returned.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_401"}},"schemaId":"schema_401"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_401","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_401"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/titles/unassigntitlemember"}],"panels":[]}]},"httpPath":"/titles/{title_id}/unassign/{member_id}"}],"content":{"contentType":"group","meta":{"name":"Titles"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Titles","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manage workspace titles and their member assignments. Owner/Executive Manager role only. Identical to Teams but with no manager concept (no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_manager"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). The public id is an opaque encoded string; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in assign/unassign is a raw integer user id."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/titles","summary":"Get All Titles","prefix":{"name":"get","color":"get"},"badges":[],"link":"/titles/gettitles","deprecated":false},{"title":"/titles","summary":"Create New Title","prefix":{"name":"post","color":"post"},"badges":[],"link":"/titles/createtitle","deprecated":false},{"title":"/titles/{title_id}","summary":"Get Single Title","prefix":{"name":"get","color":"get"},"badges":[],"link":"/titles/gettitle","deprecated":false},{"title":"/titles/{title_id}","summary":"Update Title","prefix":{"name":"put","color":"put"},"badges":[],"link":"/titles/updatetitle","deprecated":false},{"title":"/titles/{title_id}","summary":"Delete Title","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/titles/deletetitle","deprecated":false},{"title":"/titles/{title_id}/assign/{member_id}","summary":"Assign Member to Title","prefix":{"name":"post","color":"post"},"badges":[],"link":"/titles/assigntitlemember","deprecated":false},{"title":"/titles/{title_id}/unassign/{member_id}","summary":"Unassign Member from Title","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/titles/unassigntitlemember","deprecated":false}]}]}]}]}},{"type":"group","label":"Project Groups","link":"/api/project-groups","routeSlug":"/api/project-groups","items":[{"label":"Get All Groups","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-groups/getprojectgroups","routeSlug":"/api/project-groups/getprojectgroups","metadata":{"seo":{"title":"Get All Groups","description":"List workspace project groups, paginated. Each group includes its assigned projects (the workspace's live projects only — deleted ones are omitted). Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProjectGroups","name":"Get All Groups","isWebhook":false,"pointer":"/paths/~1project-groups/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Groups","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List workspace project groups, paginated. Each group includes its assigned projects (the workspace's live projects only — deleted ones are omitted). "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true},{"name":"page","in":"query","schemaId":"schema_359"},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Items per page (max 100)."}],"pointer":"/paths/~1project-groups/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/project-groups","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/project-groups","href":"project-groups/getprojectgroups","openApiOperationId":"getProjectGroups","summary":"Get All Groups","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of project groups.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_402"}},"schemaId":"schema_402"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-groups/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_402","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_402"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-groups/getprojectgroups"}],"panels":[]}]},"httpPath":"/project-groups"},{"label":"Create New Group","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-groups/createprojectgroup","routeSlug":"/api/project-groups/createprojectgroup","metadata":{"seo":{"title":"Create New Group","description":"Create a project group. name is required, trimmed, max 70 chars, and unique per workspace (else 422). The group is created empty — use the assign endpoint to add projects to it. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createProjectGroup","name":"Create New Group","isWebhook":false,"pointer":"/paths/~1project-groups/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create New Group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a project group. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required, trimmed, max 70 chars, and unique per workspace (else 422). The group is created empty — use the assign endpoint to add projects to it. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_403"}},"schemaId":"schema_403","pointer":"/paths/~1project-groups/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/project-groups","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_403"}},"responseCodes":["201","400","401","403","422","500"],"pointer":"/project-groups","href":"project-groups/createprojectgroup","openApiOperationId":"createProjectGroup","summary":"Create New Group","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_403","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_403"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Project group created. A newly created group has no projects yet.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_404","exampleIds":["paths/~1project-groups/post/responses/201/content/application~1json/example"]}},"schemaId":"schema_404","exampleIds":["paths/~1project-groups/post/responses/201/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/403/content/application~1json/example"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-groups/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_404","exampleIds":["paths/~1project-groups/post/responses/201/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_404","exampleIds":["paths/~1project-groups/post/responses/201/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/403/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-groups/createprojectgroup"}],"panels":[]}]},"httpPath":"/project-groups"},{"label":"Get Single Group","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-groups/getprojectgroup","routeSlug":"/api/project-groups/getprojectgroup","metadata":{"seo":{"title":"Get Single Group","description":"Retrieve one project group by its opaque encoded id, with its assigned projects. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProjectGroup","name":"Get Single Group","isWebhook":false,"pointer":"/paths/~1project-groups~1{project_group_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve one project group by its opaque encoded id, with its assigned projects. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"project_group_id","in":"path","schemaId":"schema_383","description":"Opaque encoded project group id.","required":true}],"pointer":"/paths/~1project-groups~1{project_group_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","required":true}],"pointer":"/paths/~1project-groups~1{project_group_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/project-groups/{project_group_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"project_group_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","401","403","404","422","500"],"pointer":"/project-groups/{project_group_id}","href":"project-groups/getprojectgroup","openApiOperationId":"getProjectGroup","summary":"Get Single Group","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The project group.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_405"}},"schemaId":"schema_405"},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-groups~1{project_group_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_405","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_405"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-groups/getprojectgroup"}],"panels":[]}]},"httpPath":"/project-groups/{project_group_id}"},{"label":"Update Group","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-groups/updateprojectgroup","routeSlug":"/api/project-groups/updateprojectgroup","metadata":{"seo":{"title":"Update Group","description":"Rename a project group. When present, name follows the same rules as create (trimmed non-empty, max 70, unique per workspace); a body that omits name entirely changes nothing and returns 200 with the group unmodified, while a name that is present but blank or null is rejected with 422. To change which projects a group contains, use the assign / unassign endpoints. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateProjectGroup","name":"Update Group","isWebhook":false,"pointer":"/paths/~1project-groups~1{project_group_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rename a project group. When present, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" follows the same rules as create (trimmed non-empty, max 70, unique per workspace); a body that omits "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entirely changes nothing and returns 200 with the group unmodified, while a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that is present but blank or null is rejected with 422. To change which projects a group contains, use the assign / unassign endpoints. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"project_group_id","in":"path","schemaId":"schema_383","description":"Opaque encoded project group id.","required":true}],"pointer":"/paths/~1project-groups~1{project_group_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_406"}},"schemaId":"schema_406","pointer":"/paths/~1project-groups~1{project_group_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/project-groups/{project_group_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"project_group_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_406"}},"responseCodes":["200","401","403","404","422","500"],"pointer":"/project-groups/{project_group_id}","href":"project-groups/updateprojectgroup","openApiOperationId":"updateProjectGroup","summary":"Update Group","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_406","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_406"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project group updated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_407"}},"schemaId":"schema_407"},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-groups~1{project_group_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_407","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_407"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-groups/updateprojectgroup"}],"panels":[]}]},"httpPath":"/project-groups/{project_group_id}"},{"label":"Delete Group","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-groups/deleteprojectgroup","routeSlug":"/api/project-groups/deleteprojectgroup","metadata":{"seo":{"title":"Delete Group","description":"Delete a project group and all of its project assignments. The projects themselves are not deleted — they simply become group-free. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteProjectGroup","name":"Delete Group","isWebhook":false,"pointer":"/paths/~1project-groups~1{project_group_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a project group and all of its project assignments. The projects themselves are not deleted — they simply become group-free. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"project_group_id","in":"path","schemaId":"schema_383","description":"Opaque encoded project group id.","required":true}],"pointer":"/paths/~1project-groups~1{project_group_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"schemaId":"schema_387","pointer":"/paths/~1project-groups~1{project_group_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/project-groups/{project_group_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"project_group_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387"}},"responseCodes":["200","401","403","404","422","500"],"pointer":"/project-groups/{project_group_id}","href":"project-groups/deleteprojectgroup","openApiOperationId":"deleteProjectGroup","summary":"Delete Group","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project group deleted.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_408"}},"schemaId":"schema_408"},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-groups~1{project_group_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_408","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_408"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-groups/deleteprojectgroup"}],"panels":[]}]},"httpPath":"/project-groups/{project_group_id}"},{"label":"Add Project to Group","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-groups/assignprojectgroupproject","routeSlug":"/api/project-groups/assignprojectgroupproject","metadata":{"seo":{"title":"Add Project to Group","description":"Assign a project to a project group. A project may belong to only one group: if the project is already in this group, or in any other group of the workspace, the request returns 422 — unassign it first. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"assignProjectGroupProject","name":"Add Project to Group","isWebhook":false,"pointer":"/paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add Project to Group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assign a project to a project group. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A project may belong to only one group"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": if the project is already in this group, or in any other group of the workspace, the request returns 422 — unassign it first. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"project_group_id","in":"path","schemaId":"schema_383","description":"Opaque encoded project group id.","required":true},{"name":"project_id","in":"path","schemaId":"schema_371","description":"Raw integer project id.","required":true}],"pointer":"/paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"schemaId":"schema_387","pointer":"/paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/project-groups/{project_group_id}/assign/{project_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"project_group_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"},{"name":"project_id","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387"}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/project-groups/{project_group_id}/assign/{project_id}","href":"project-groups/assignprojectgroupproject","openApiOperationId":"assignProjectGroupProject","summary":"Add Project to Group","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project assigned; the updated project group is returned.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_409"}},"schemaId":"schema_409"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_409","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_409"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-groups/assignprojectgroupproject"}],"panels":[]}]},"httpPath":"/project-groups/{project_group_id}/assign/{project_id}"},{"label":"Delete Project from Group","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-groups/unassignprojectgroupproject","routeSlug":"/api/project-groups/unassignprojectgroupproject","metadata":{"seo":{"title":"Delete Project from Group","description":"Remove a project from a project group, leaving it group-free. The project itself is not deleted. Returns 404 if the project is not assigned to that group. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"unassignProjectGroupProject","name":"Delete Project from Group","isWebhook":false,"pointer":"/paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Project from Group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Remove a project from a project group, leaving it group-free. The project itself is not deleted. Returns 404 if the project is not assigned to that group. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"project_group_id","in":"path","schemaId":"schema_383","description":"Opaque encoded project group id.","required":true},{"name":"project_id","in":"path","schemaId":"schema_371","description":"Raw integer project id.","required":true}],"pointer":"/paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"schemaId":"schema_387","pointer":"/paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/project-groups/{project_group_id}/unassign/{project_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"project_group_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"},{"name":"project_id","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387"}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/project-groups/{project_group_id}/unassign/{project_id}","href":"project-groups/unassignprojectgroupproject","openApiOperationId":"unassignProjectGroupProject","summary":"Delete Project from Group","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project removed; the updated project group is returned.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_410"}},"schemaId":"schema_410"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_410","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_410"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-groups/unassignprojectgroupproject"}],"panels":[]}]},"httpPath":"/project-groups/{project_group_id}/unassign/{project_id}"}],"content":{"contentType":"group","meta":{"name":"Project Groups"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Project Groups","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manage project groups — named buckets of projects — and their project assignments. Owner/Executive Manager role only. A project may belong to only ONE group: assigning a project that is already grouped returns 422. The public group id is an opaque encoded string; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in assign/unassign is a raw integer project id."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/project-groups","summary":"Get All Groups","prefix":{"name":"get","color":"get"},"badges":[],"link":"/project-groups/getprojectgroups","deprecated":false},{"title":"/project-groups","summary":"Create New Group","prefix":{"name":"post","color":"post"},"badges":[],"link":"/project-groups/createprojectgroup","deprecated":false},{"title":"/project-groups/{project_group_id}","summary":"Get Single Group","prefix":{"name":"get","color":"get"},"badges":[],"link":"/project-groups/getprojectgroup","deprecated":false},{"title":"/project-groups/{project_group_id}","summary":"Update Group","prefix":{"name":"put","color":"put"},"badges":[],"link":"/project-groups/updateprojectgroup","deprecated":false},{"title":"/project-groups/{project_group_id}","summary":"Delete Group","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/project-groups/deleteprojectgroup","deprecated":false},{"title":"/project-groups/{project_group_id}/assign/{project_id}","summary":"Add Project to Group","prefix":{"name":"post","color":"post"},"badges":[],"link":"/project-groups/assignprojectgroupproject","deprecated":false},{"title":"/project-groups/{project_group_id}/unassign/{project_id}","summary":"Delete Project from Group","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/project-groups/unassignprojectgroupproject","deprecated":false}]}]}]}]}},{"type":"group","label":"Projects","link":"/api/projects","routeSlug":"/api/projects","items":[{"label":"Get All Workspace Projects","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/projects/getprojects","routeSlug":"/api/projects/getprojects","metadata":{"seo":{"title":"Get All Workspace Projects","description":"Retrieve all projects in your workspace. Projects are automatically filtered based on your role and permissions. Role-based access: Owners and Executive Managers see all projects; Project Managers and Project Viewers see only managed projects; Team Managers see projects from managed teams; Regular Users see only projects they are assigned to. You can apply additional filters to narrow down results. Each project includes a read-only custom_fields array of {id, name, type, value} objects ([] when no values are set)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProjects","name":"Get All Workspace Projects","isWebhook":false,"pointer":"/paths/~1projects/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Workspace Projects","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all projects in your workspace. Projects are automatically filtered based on your role and permissions. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Role-based access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owners and Executive Managers see all projects; Project Managers and Project Viewers see only managed projects; Team Managers see projects from managed teams; Regular Users see only projects they are assigned to. You can apply additional filters to narrow down results. Each project includes a read-only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_fields"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{id, name, type, value}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" objects ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when no values are set)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true},{"name":"name","in":"query","schemaId":"schema_411","description":"Search projects by name (case-insensitive partial match)"},{"name":"page","in":"query","schemaId":"schema_359","description":"Page number for pagination"},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Number of items per page (max 100)"}],"pointer":"/paths/~1projects/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/projects","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"name","in":"query","required":false,"example":"Marketing","schemaId":"schema_411"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/projects","href":"projects/getprojects","openApiOperationId":"getProjects","summary":"Get All Workspace Projects","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Projects retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ProjectListResponse"}},"schemaId":"components/schemas/ProjectListResponse"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1projects/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ProjectListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ProjectListResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/projects/getprojects"}],"panels":[]}]},"httpPath":"/projects"},{"label":"Create New Project","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/projects/createproject","routeSlug":"/api/projects/createproject","metadata":{"seo":{"title":"Create New Project","description":"Create a new project in your workspace. This endpoint is only accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createProject","name":"Create New Project","isWebhook":false,"pointer":"/paths/~1projects/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create New Project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new project in your workspace. This endpoint is only accessible to Owners and Executive Managers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1projects/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_412"}},"schemaId":"schema_412","pointer":"/paths/~1projects/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/projects","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_412"}},"responseCodes":["201","400","401","403","422","500"],"pointer":"/projects","href":"projects/createproject","openApiOperationId":"createProject","summary":"Create New Project","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_412","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_412"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Project created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_413"}},"schemaId":"schema_413"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/403/content/application~1json/example"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1projects/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1projects/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1projects/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_413","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_413"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/403/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1projects/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1projects/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/projects/createproject"}],"panels":[]}]},"httpPath":"/projects"},{"label":"Get Single Project","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/projects/getproject","routeSlug":"/api/projects/getproject","metadata":{"seo":{"title":"Get Single Project","description":"Retrieve detailed information about a specific project in your workspace. Projects are filtered based on your role and permissions. Response includes a read-only custom_fields array of {id, name, type, value} objects ([] when no values are set)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProject","name":"Get Single Project","isWebhook":false,"pointer":"/paths/~1projects~1{projectId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve detailed information about a specific project in your workspace. Projects are filtered based on your role and permissions. Response includes a read-only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_fields"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{id, name, type, value}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" objects ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when no values are set)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"projectId","in":"path","schemaId":"schema_371","description":"ID of the project","required":true}],"pointer":"/paths/~1projects~1{projectId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1projects~1{projectId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/projects/{projectId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"projectId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/projects/{projectId}","href":"projects/getproject","openApiOperationId":"getProject","summary":"Get Single Project","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_414"}},"schemaId":"schema_414"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1projects~1{projectId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_414","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_414"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/projects/getproject"}],"panels":[]}]},"httpPath":"/projects/{projectId}"},{"label":"Update Project","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/projects/updateproject","routeSlug":"/api/projects/updateproject","metadata":{"seo":{"title":"Update Project","description":"Update an existing project in your workspace. This endpoint is only accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateProject","name":"Update Project","isWebhook":false,"pointer":"/paths/~1projects~1{projectId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update an existing project in your workspace. This endpoint is only accessible to Owners and Executive Managers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"projectId","in":"path","schemaId":"schema_371","description":"ID of the project to update","required":true}],"pointer":"/paths/~1projects~1{projectId}/put/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1projects~1{projectId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_415"}},"schemaId":"schema_415","pointer":"/paths/~1projects~1{projectId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/projects/{projectId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"projectId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_415"}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/projects/{projectId}","href":"projects/updateproject","openApiOperationId":"updateProject","summary":"Update Project","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_415","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_415"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_416"}},"schemaId":"schema_416"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1projects~1{projectId}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_416","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_416"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/projects/updateproject"}],"panels":[]}]},"httpPath":"/projects/{projectId}"},{"label":"Delete (Archive) Project","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/projects/deleteproject","routeSlug":"/api/projects/deleteproject","metadata":{"seo":{"title":"Delete (Archive) Project","description":"Delete (archive) a project from your workspace. This is a soft delete - the project can be restored later if needed. This endpoint is only accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteProject","name":"Delete (Archive) Project","isWebhook":false,"pointer":"/paths/~1projects~1{projectId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete (Archive) Project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete (archive) a project from your workspace. This is a soft delete - the project can be restored later if needed. This endpoint is only accessible to Owners and Executive Managers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"projectId","in":"path","schemaId":"schema_371","description":"ID of the project to delete","required":true}],"pointer":"/paths/~1projects~1{projectId}/delete/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1projects~1{projectId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/projects/{projectId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"projectId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/projects/{projectId}","href":"projects/deleteproject","openApiOperationId":"deleteProject","summary":"Delete (Archive) Project","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project deleted successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_417"}},"schemaId":"schema_417"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1projects~1{projectId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_417","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_417"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1projects~1{projectId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/projects/deleteproject"}],"panels":[]}]},"httpPath":"/projects/{projectId}"}],"content":{"contentType":"group","meta":{"name":"Projects"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Projects","showPageActions":true},{"nodeType":"markdoc","content":"Manage projects within workspaces"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/projects","summary":"Get All Workspace Projects","prefix":{"name":"get","color":"get"},"badges":[],"link":"/projects/getprojects","deprecated":false},{"title":"/projects","summary":"Create New Project","prefix":{"name":"post","color":"post"},"badges":[],"link":"/projects/createproject","deprecated":false},{"title":"/projects/{projectId}","summary":"Get Single Project","prefix":{"name":"get","color":"get"},"badges":[],"link":"/projects/getproject","deprecated":false},{"title":"/projects/{projectId}","summary":"Update Project","prefix":{"name":"put","color":"put"},"badges":[],"link":"/projects/updateproject","deprecated":false},{"title":"/projects/{projectId}","summary":"Delete (Archive) Project","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/projects/deleteproject","deprecated":false}]}]}]}]}},{"type":"group","label":"Contracts","link":"/api/contracts","routeSlug":"/api/contracts","items":[{"label":"Get All Workspace Contracts","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/contracts/getcontracts","routeSlug":"/api/contracts/getcontracts","metadata":{"seo":{"title":"Get All Workspace Contracts","description":"Retrieve all contracts (project-member assignments) in your workspace. Contracts are automatically filtered based on your role and permissions: Role-based access: Owners and Executive Managers see all contracts; Project Managers see contracts for managed projects + their own contracts; Team Managers see contracts for managed teams + their own contracts; Regular Users see only their own contracts; Clients see only contracts for projects they have access to. Rate information is only visible if you have permission to view rates AND the project is billable. You can apply additional filters (project_id, user_id, status) to narrow down results."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getContracts","name":"Get All Workspace Contracts","isWebhook":false,"pointer":"/paths/~1contracts/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Workspace Contracts","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all contracts (project-member assignments) in your workspace. Contracts are automatically filtered based on your role and permissions: "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Role-based access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owners and Executive Managers see all contracts; Project Managers see contracts for managed projects + their own contracts; Team Managers see contracts for managed teams + their own contracts; Regular Users see only their own contracts; Clients see only contracts for projects they have access to. Rate information is only visible if you have permission to view rates AND the project is billable. You can apply additional filters (project_id, user_id, status) to narrow down results."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true},{"name":"project_id","in":"query","schemaId":"schema_371","description":"Filter contracts by project ID"},{"name":"user_id","in":"query","schemaId":"schema_371","description":"Filter contracts by user ID"},{"name":"status","in":"query","schemaId":"schema_418","description":"Filter contracts by status"},{"name":"page","in":"query","schemaId":"schema_419","description":"Page number for pagination"},{"name":"per_page","in":"query","schemaId":"schema_420","description":"Number of items per page (max 100)"}],"pointer":"/paths/~1contracts/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/contracts","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"project_id","in":"query","required":false,"example":100,"schemaId":"schema_371"},{"name":"user_id","in":"query","required":false,"example":100,"schemaId":"schema_371"},{"name":"status","in":"query","required":false,"example":"active","schemaId":"schema_418"},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":20,"schemaId":"schema_420"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/contracts","href":"contracts/getcontracts","openApiOperationId":"getContracts","summary":"Get All Workspace Contracts","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Contracts retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ContractListResponse"}},"schemaId":"components/schemas/ContractListResponse"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1contracts/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ContractListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ContractListResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/contracts/getcontracts"}],"panels":[]}]},"httpPath":"/contracts"},{"label":"Create New Contract","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/contracts/createcontract","routeSlug":"/api/contracts/createcontract","metadata":{"seo":{"title":"Create New Contract","description":"Create a new contract (assign a member to a project) in your workspace. This endpoint is only accessible to Owners and Executive Managers. Rate information will only be saved if you have permission to view rates."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createContract","name":"Create New Contract","isWebhook":false,"pointer":"/paths/~1contracts/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create New Contract","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new contract (assign a member to a project) in your workspace. This endpoint is only accessible to Owners and Executive Managers. Rate information will only be saved if you have permission to view rates."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1contracts/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_421","exampleIds":["paths/~1contracts/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_421","exampleIds":["paths/~1contracts/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1contracts/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/contracts","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_421","exampleIds":["paths/~1contracts/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403","404","409","422","500"],"pointer":"/contracts","href":"contracts/createcontract","openApiOperationId":"createContract","summary":"Create New Contract","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_421","exampleIds":["paths/~1contracts/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_421","exampleIds":["paths/~1contracts/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Contract created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_422"}},"schemaId":"schema_422"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts/post/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts/post/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"409","description":"Conflict - resource already exists or duplicate data","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1contracts/post/responses/409/content/application~1json/examples/member_already_exists"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1contracts/post/responses/409/content/application~1json/examples/member_already_exists"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1contracts/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1contracts/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1contracts/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_422","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_422"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts/post/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts/post/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1contracts/post/responses/409/content/application~1json/examples/member_already_exists"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1contracts/post/responses/409/content/application~1json/examples/member_already_exists"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1contracts/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1contracts/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/contracts/createcontract"}],"panels":[]}]},"httpPath":"/contracts"},{"label":"Get Single Contract","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/contracts/getcontract","routeSlug":"/api/contracts/getcontract","metadata":{"seo":{"title":"Get Single Contract","description":"Retrieve detailed information about a specific contract in your workspace. Contracts are filtered based on your role and permissions. Rate information is only visible if you have permission to view rates AND the project is billable."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getContract","name":"Get Single Contract","isWebhook":false,"pointer":"/paths/~1contracts~1{contractId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Contract","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve detailed information about a specific contract in your workspace. Contracts are filtered based on your role and permissions. Rate information is only visible if you have permission to view rates AND the project is billable."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"contractId","in":"path","schemaId":"schema_371","description":"ID of the contract","required":true}],"pointer":"/paths/~1contracts~1{contractId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1contracts~1{contractId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/contracts/{contractId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"contractId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/contracts/{contractId}","href":"contracts/getcontract","openApiOperationId":"getContract","summary":"Get Single Contract","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Contract retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ContractResponse"}},"schemaId":"components/schemas/ContractResponse"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1contracts~1{contractId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ContractResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ContractResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/contracts/getcontract"}],"panels":[]}]},"httpPath":"/contracts/{contractId}"},{"label":"Update Contract","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/contracts/updatecontract","routeSlug":"/api/contracts/updatecontract","metadata":{"seo":{"title":"Update Contract","description":"Update an existing contract in your workspace. This endpoint is only accessible to Owners and Executive Managers. Rate information will only be updated if you have permission to view rates."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateContract","name":"Update Contract","isWebhook":false,"pointer":"/paths/~1contracts~1{contractId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Contract","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update an existing contract in your workspace. This endpoint is only accessible to Owners and Executive Managers. Rate information will only be updated if you have permission to view rates."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"contractId","in":"path","schemaId":"schema_371","description":"ID of the contract to update","required":true}],"pointer":"/paths/~1contracts~1{contractId}/put/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1contracts~1{contractId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_423","exampleIds":["paths/~1contracts~1{contractId}/put/requestBody/content/application~1json/example"]}},"schemaId":"schema_423","exampleIds":["paths/~1contracts~1{contractId}/put/requestBody/content/application~1json/example"],"pointer":"/paths/~1contracts~1{contractId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/contracts/{contractId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"contractId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_423","exampleIds":["paths/~1contracts~1{contractId}/put/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/contracts/{contractId}","href":"contracts/updatecontract","openApiOperationId":"updateContract","summary":"Update Contract","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_423","exampleIds":["paths/~1contracts~1{contractId}/put/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_423","exampleIds":["paths/~1contracts~1{contractId}/put/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Contract updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ContractResponse"}},"schemaId":"components/schemas/ContractResponse"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1contracts~1{contractId}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ContractResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ContractResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/contracts/updatecontract"}],"panels":[]}]},"httpPath":"/contracts/{contractId}"},{"label":"Delete Contract","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/contracts/deletecontract","routeSlug":"/api/contracts/deletecontract","metadata":{"seo":{"title":"Delete Contract","description":"Delete (soft delete) a contract from your workspace. This endpoint is only accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteContract","name":"Delete Contract","isWebhook":false,"pointer":"/paths/~1contracts~1{contractId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Contract","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete (soft delete) a contract from your workspace. This endpoint is only accessible to Owners and Executive Managers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"contractId","in":"path","schemaId":"schema_371","description":"ID of the contract to delete","required":true}],"pointer":"/paths/~1contracts~1{contractId}/delete/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true}],"pointer":"/paths/~1contracts~1{contractId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/contracts/{contractId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"contractId","in":"path","required":true,"example":100,"schemaId":"schema_371"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/contracts/{contractId}","href":"contracts/deletecontract","openApiOperationId":"deleteContract","summary":"Delete Contract","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Contract deleted successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_424"}},"schemaId":"schema_424"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1contracts~1{contractId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_424","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_424"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1contracts~1{contractId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/contracts/deletecontract"}],"panels":[]}]},"httpPath":"/contracts/{contractId}"}],"content":{"contentType":"group","meta":{"name":"Contracts"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Contracts","showPageActions":true},{"nodeType":"markdoc","content":"Manage contracts (project-member assignments) within workspaces. Contracts define which members are assigned to which projects, with settings for rates, hours limits, and screenshot modes. Rate information is only visible if you have permission to view rates and the project is billable."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/contracts","summary":"Get All Workspace Contracts","prefix":{"name":"get","color":"get"},"badges":[],"link":"/contracts/getcontracts","deprecated":false},{"title":"/contracts","summary":"Create New Contract","prefix":{"name":"post","color":"post"},"badges":[],"link":"/contracts/createcontract","deprecated":false},{"title":"/contracts/{contractId}","summary":"Get Single Contract","prefix":{"name":"get","color":"get"},"badges":[],"link":"/contracts/getcontract","deprecated":false},{"title":"/contracts/{contractId}","summary":"Update Contract","prefix":{"name":"put","color":"put"},"badges":[],"link":"/contracts/updatecontract","deprecated":false},{"title":"/contracts/{contractId}","summary":"Delete Contract","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/contracts/deletecontract","deprecated":false}]}]}]}]}},{"type":"group","label":"Tasks","link":"/api/tasks","routeSlug":"/api/tasks","items":[{"label":"Get All Project Tasks","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/gettasks","routeSlug":"/api/tasks/gettasks","metadata":{"seo":{"title":"Get All Project Tasks","description":"Retrieve all tasks in a specific project. You can apply filters by status, priority, or parent_id to narrow down results. Use parent_id=null to get only top-level tasks, or parent_id={id} to get subtasks of a specific task."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTasks","name":"Get All Project Tasks","isWebhook":false,"pointer":"/paths/~1tasks/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Project Tasks","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all tasks in a specific project. You can apply filters by status, priority, or parent_id to narrow down results. Use parent_id=null to get only top-level tasks, or parent_id={id} to get subtasks of a specific task."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"Workspace ID","required":true},{"name":"project_id","in":"query","schemaId":"schema_371","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Project ID. Required unless contract_id is provided."},"children":[]}]}]}]},{"name":"contract_id","in":"query","schemaId":"schema_425","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contract ID. Can be used as an alternative to project_id — the project will be resolved from the contract."},"children":[]}]}]}]},{"name":"status","in":"query","schemaId":"schema_362","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter tasks by status code. Default statuses: 0 = Open, 10 = In Progress, 20 = Done, 30 = Closed. Custom status codes (e.g. 1, 2, 11, 21) are also supported if configured for the workspace/project."},"children":[]}]}]}]},{"name":"priority","in":"query","schemaId":"schema_426","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter tasks by priority: 10 = Urgent, 20 = High, 30 = Normal, 40 = Low"},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_427","description":"Page number for pagination"},{"name":"per_page","in":"query","schemaId":"schema_428","description":"Number of results per page"},{"name":"parent_id","in":"query","schemaId":"schema_429","description":"Filter tasks by parent task ID. Use 'null' or '0' to get only top-level tasks. Use a task ID to get only subtasks of that parent."},{"name":"order_by","in":"query","schemaId":"schema_430","description":"Sort order by task ID"}],"pointer":"/paths/~1tasks/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tasks","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"project_id","in":"query","required":false,"example":100,"schemaId":"schema_371"},{"name":"contract_id","in":"query","required":false,"example":50,"schemaId":"schema_425"},{"name":"status","in":"query","required":false,"schemaId":"schema_362"},{"name":"priority","in":"query","required":false,"schemaId":"schema_426"},{"name":"page","in":"query","required":false,"schemaId":"schema_427"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_428"},{"name":"parent_id","in":"query","required":false,"example":"null","schemaId":"schema_429"},{"name":"order_by","in":"query","required":false,"schemaId":"schema_430"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/tasks","href":"tasks/gettasks","openApiOperationId":"getTasks","summary":"Get All Project Tasks","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Tasks retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_431"}},"schemaId":"schema_431"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_431","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_431"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/gettasks"}],"panels":[]}]},"httpPath":"/tasks"},{"label":"Create New Task","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/createtask","routeSlug":"/api/tasks/createtask","metadata":{"seo":{"title":"Create New Task","description":"Create a new task or subtask in a project. To create a subtask, provide a parent_id pointing to an existing top-level task. Only one level of nesting is supported. Accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createTask","name":"Create New Task","isWebhook":false,"pointer":"/paths/~1tasks/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create New Task","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new task or subtask in a project. To create a subtask, provide a parent_id pointing to an existing top-level task. Only one level of nesting is supported. Accessible to Owners and Executive Managers."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_432"}},"schemaId":"schema_432","pointer":"/paths/~1tasks/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/tasks","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_432"}},"responseCodes":["201","400","401","422","500"],"pointer":"/tasks","href":"tasks/createtask","openApiOperationId":"createTask","summary":"Create New Task","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_432","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_432"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Task created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_433"}},"schemaId":"schema_433"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/401/content/application~1json/example"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_433","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_433"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/401/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/createtask"}],"panels":[]}]},"httpPath":"/tasks"},{"label":"Get Single Task","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/gettask","routeSlug":"/api/tasks/gettask","metadata":{"seo":{"title":"Get Single Task","description":"Retrieve detailed information about a specific task."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTask","name":"Get Single Task","isWebhook":false,"pointer":"/paths/~1tasks~1{taskId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Task","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve detailed information about a specific task."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"taskId","in":"path","schemaId":"schema_362","description":"ID of the task","required":true}],"pointer":"/paths/~1tasks~1{taskId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"Workspace ID","required":true},{"name":"project_id","in":"query","schemaId":"schema_362","description":"Project ID","required":true}],"pointer":"/paths/~1tasks~1{taskId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tasks/{taskId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"taskId","in":"path","required":true,"schemaId":"schema_362"}],"query":[{"name":"workspace_id","in":"query","required":true,"schemaId":"schema_362"},{"name":"project_id","in":"query","required":true,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/tasks/{taskId}","href":"tasks/gettask","openApiOperationId":"getTask","summary":"Get Single Task","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_434"}},"schemaId":"schema_434"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/401/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{taskId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_434","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_434"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/gettask"}],"panels":[]}]},"httpPath":"/tasks/{taskId}"},{"label":"Update Task","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/updatetask","routeSlug":"/api/tasks/updatetask","metadata":{"seo":{"title":"Update Task","description":"Update an existing task. Accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateTask","name":"Update Task","isWebhook":false,"pointer":"/paths/~1tasks~1{taskId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Task","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update an existing task. Accessible to Owners and Executive Managers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"taskId","in":"path","schemaId":"schema_362","description":"ID of the task","required":true}],"pointer":"/paths/~1tasks~1{taskId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_435"}},"schemaId":"schema_435","pointer":"/paths/~1tasks~1{taskId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/tasks/{taskId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"taskId","in":"path","required":true,"schemaId":"schema_362"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_435"}},"responseCodes":["200","400","401","404","422","500"],"pointer":"/tasks/{taskId}","href":"tasks/updatetask","openApiOperationId":"updateTask","summary":"Update Task","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_435","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_435"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}},"schemaId":"schema_436"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/401/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{taskId}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_436","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/updatetask"}],"panels":[]}]},"httpPath":"/tasks/{taskId}"},{"label":"Delete Task","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/deletetask","routeSlug":"/api/tasks/deletetask","metadata":{"seo":{"title":"Delete Task","description":"Delete (soft delete) a task from a project. Accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTask","name":"Delete Task","isWebhook":false,"pointer":"/paths/~1tasks~1{taskId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Task","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete (soft delete) a task from a project. Accessible to Owners and Executive Managers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"taskId","in":"path","schemaId":"schema_362","description":"ID of the task","required":true}],"pointer":"/paths/~1tasks~1{taskId}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_437"}},"schemaId":"schema_437","pointer":"/paths/~1tasks~1{taskId}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/tasks/{taskId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"taskId","in":"path","required":true,"schemaId":"schema_362"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_437"}},"responseCodes":["200","400","401","404","500"],"pointer":"/tasks/{taskId}","href":"tasks/deletetask","openApiOperationId":"deleteTask","summary":"Delete Task","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_437","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_437"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task deleted successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_438","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/200/content/application~1json/example"]}},"schemaId":"schema_438","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/200/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/401/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{taskId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_438","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_438","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/deletetask"}],"panels":[]}]},"httpPath":"/tasks/{taskId}"},{"label":"Get Task Assignees","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/gettaskassignees","routeSlug":"/api/tasks/gettaskassignees","metadata":{"seo":{"title":"Get Task Assignees","description":"Retrieve all users assigned to a specific task."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTaskAssignees","name":"Get Task Assignees","isWebhook":false,"pointer":"/paths/~1tasks~1{taskId}~1assignees/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Task Assignees","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve all users assigned to a specific task."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"taskId","in":"path","schemaId":"schema_362","description":"ID of the task","required":true}],"pointer":"/paths/~1tasks~1{taskId}~1assignees/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"Workspace ID","required":true},{"name":"project_id","in":"query","schemaId":"schema_362","description":"Project ID","required":true}],"pointer":"/paths/~1tasks~1{taskId}~1assignees/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tasks/{taskId}/assignees","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"taskId","in":"path","required":true,"schemaId":"schema_362"}],"query":[{"name":"workspace_id","in":"query","required":true,"schemaId":"schema_362"},{"name":"project_id","in":"query","required":true,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/tasks/{taskId}/assignees","href":"tasks/gettaskassignees","openApiOperationId":"getTaskAssignees","summary":"Get Task Assignees","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task assignees retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_439"}},"schemaId":"schema_439"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/401/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{taskId}~1assignees/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_439","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_439"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assignees/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/gettaskassignees"}],"panels":[]}]},"httpPath":"/tasks/{taskId}/assignees"},{"label":"Assign Task to User","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/assigntask","routeSlug":"/api/tasks/assigntask","metadata":{"seo":{"title":"Assign Task to User","description":"Assign a task to a specific user. The user must be a member of the project."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"assignTask","name":"Assign Task to User","isWebhook":false,"pointer":"/paths/~1tasks~1{taskId}~1assign~1{userId}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Assign Task to User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Assign a task to a specific user. The user must be a member of the project."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"taskId","in":"path","schemaId":"schema_362","description":"ID of the task","required":true},{"name":"userId","in":"path","schemaId":"schema_362","description":"ID of the user to assign the task to","required":true}],"pointer":"/paths/~1tasks~1{taskId}~1assign~1{userId}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_437"}},"schemaId":"schema_437","pointer":"/paths/~1tasks~1{taskId}~1assign~1{userId}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/tasks/{taskId}/assign/{userId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"taskId","in":"path","required":true,"schemaId":"schema_362"},{"name":"userId","in":"path","required":true,"schemaId":"schema_362"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_437"}},"responseCodes":["200","400","401","404","500"],"pointer":"/tasks/{taskId}/assign/{userId}","href":"tasks/assigntask","openApiOperationId":"assignTask","summary":"Assign Task to User","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_437","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_437"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task assigned successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_440"}},"schemaId":"schema_440"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/401/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_440","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_440"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/assigntask"}],"panels":[]}]},"httpPath":"/tasks/{taskId}/assign/{userId}"},{"label":"Unassign Task from User","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/unassigntask","routeSlug":"/api/tasks/unassigntask","metadata":{"seo":{"title":"Unassign Task from User","description":"Remove a user assignment from a task. workspace_id and project_id are required in the request body — project_id must be the task's project (same as GET/DELETE task and assign). Returns 404 if the user is not currently assigned to the task. Access: Owner / Executive Manager only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"unassignTask","name":"Unassign Task from User","isWebhook":false,"pointer":"/paths/~1tasks~1{taskId}~1unassign~1{userId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Unassign Task from User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Remove a user assignment from a task. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"workspace_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are required in the request body — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must be the task's project (same as GET/DELETE task and assign). Returns 404 if the user is not currently assigned to the task. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner / Executive Manager only."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"taskId","in":"path","schemaId":"schema_362","description":"ID of the task","required":true},{"name":"userId","in":"path","schemaId":"schema_362","description":"ID of the user to unassign from the task","required":true}],"pointer":"/paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_437"}},"schemaId":"schema_437","pointer":"/paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/tasks/{taskId}/unassign/{userId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"taskId","in":"path","required":true,"schemaId":"schema_362"},{"name":"userId","in":"path","required":true,"schemaId":"schema_362"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_437"}},"responseCodes":["200","400","401","404","500"],"pointer":"/tasks/{taskId}/unassign/{userId}","href":"tasks/unassigntask","openApiOperationId":"unassignTask","summary":"Unassign Task from User","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_437","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_437"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task unassigned successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_441","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/200/content/application~1json/example"]}},"schemaId":"schema_441","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/200/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/401/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_441","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_441","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/unassigntask"}],"panels":[]}]},"httpPath":"/tasks/{taskId}/unassign/{userId}"},{"label":"Get All Task Statuses","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/gettaskstatuses","routeSlug":"/api/tasks/gettaskstatuses","metadata":{"seo":{"title":"Get All Task Statuses","description":"Retrieve all task statuses for a workspace. Status IDs are plain integers where the type group = floor(id / 10): 0 = open, 1 = active, 2 = done, 3 = closed. Built-in statuses are 0, 10, 20, and 30. When project_id is supplied, the project's status override is returned; if the project has no override, the workspace defaults are returned. Accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTaskStatuses","name":"Get All Task Statuses","isWebhook":false,"pointer":"/paths/~1task-statuses/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Task Statuses","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all task statuses for a workspace. Status IDs are plain integers where the type group = floor(id / 10): 0 = open, 1 = active, 2 = done, 3 = closed. Built-in statuses are 0, 10, 20, and 30. When project_id is supplied, the project's status override is returned; if the project has no override, the workspace defaults are returned. Accessible to Owners and Executive Managers."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"Workspace ID","required":true},{"name":"project_id","in":"query","schemaId":"schema_371","description":"Project ID. Optional. When supplied, returns the project's status override, falling back to workspace defaults if the project has none."},{"name":"page","in":"query","schemaId":"schema_427","description":"Page number for pagination"},{"name":"per_page","in":"query","schemaId":"schema_442","description":"Number of results per page (maximum 100)"}],"pointer":"/paths/~1task-statuses/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/task-statuses","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"project_id","in":"query","required":false,"example":100,"schemaId":"schema_371"},{"name":"page","in":"query","required":false,"schemaId":"schema_427"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_442"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/task-statuses","href":"tasks/gettaskstatuses","openApiOperationId":"getTaskStatuses","summary":"Get All Task Statuses","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task statuses retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_443"}},"schemaId":"schema_443"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1task-statuses/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_443","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_443"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/gettaskstatuses"}],"panels":[]}]},"httpPath":"/task-statuses"},{"label":"Create New Task Status","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/createtaskstatus","routeSlug":"/api/tasks/createtaskstatus","metadata":{"seo":{"title":"Create New Task Status","description":"Create a new custom task status within a type group. Each type group allows a maximum of 10 statuses. When project_id is supplied, the status is created on the project's status override; if the project has no override yet, one is first materialized as a copy of the current workspace statuses (including any custom or renamed statuses), then the new status is added to it. Otherwise the status is added to the workspace defaults. Accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createTaskStatus","name":"Create New Task Status","isWebhook":false,"pointer":"/paths/~1task-statuses/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create New Task Status","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new custom task status within a type group. Each type group allows a maximum of 10 statuses. When project_id is supplied, the status is created on the project's status override; if the project has no override yet, one is first materialized as a copy of the current workspace statuses (including any custom or renamed statuses), then the new status is added to it. Otherwise the status is added to the workspace defaults. Accessible to Owners and Executive Managers."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_444"}},"schemaId":"schema_444","pointer":"/paths/~1task-statuses/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/task-statuses","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_444"}},"responseCodes":["201","400","401","403","409","422","500"],"pointer":"/task-statuses","href":"tasks/createtaskstatus","openApiOperationId":"createTaskStatus","summary":"Create New Task Status","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_444","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_444"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Task status created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_445"}},"schemaId":"schema_445"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/403/content/application~1json/example"]},{"code":"409","description":"Conflict - resource already exists or duplicate data","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1task-statuses/post/responses/409/content/application~1json/examples/member_already_exists"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1task-statuses/post/responses/409/content/application~1json/examples/member_already_exists"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1task-statuses/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_445","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_445"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/403/content/application~1json/example"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1task-statuses/post/responses/409/content/application~1json/examples/member_already_exists"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/409/content/application~1json/examples/duplicate_email","paths/~1task-statuses/post/responses/409/content/application~1json/examples/member_already_exists"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/createtaskstatus"}],"panels":[]}]},"httpPath":"/task-statuses"},{"label":"Get Single Task Status","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/gettaskstatus","routeSlug":"/api/tasks/gettaskstatus","metadata":{"seo":{"title":"Get Single Task Status","description":"Retrieve detailed information about a specific task status. When project_id is supplied, the status is resolved from the project's status override, falling back to workspace defaults. Accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTaskStatus","name":"Get Single Task Status","isWebhook":false,"pointer":"/paths/~1task-statuses~1{statusId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Task Status","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve detailed information about a specific task status. When project_id is supplied, the status is resolved from the project's status override, falling back to workspace defaults. Accessible to Owners and Executive Managers."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"statusId","in":"path","schemaId":"schema_362","description":"ID of the task status","required":true}],"pointer":"/paths/~1task-statuses~1{statusId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"Workspace ID","required":true},{"name":"project_id","in":"query","schemaId":"schema_371","description":"Project ID. Optional. When supplied, the status is resolved from the project's status override."}],"pointer":"/paths/~1task-statuses~1{statusId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/task-statuses/{statusId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"statusId","in":"path","required":true,"schemaId":"schema_362"}],"query":[{"name":"workspace_id","in":"query","required":true,"schemaId":"schema_362"},{"name":"project_id","in":"query","required":false,"example":100,"schemaId":"schema_371"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/task-statuses/{statusId}","href":"tasks/gettaskstatus","openApiOperationId":"getTaskStatus","summary":"Get Single Task Status","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task status retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_446"}},"schemaId":"schema_446"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1task-statuses~1{statusId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_446","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_446"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/gettaskstatus"}],"panels":[]}]},"httpPath":"/task-statuses/{statusId}"},{"label":"Update Task Status","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/updatetaskstatus","routeSlug":"/api/tasks/updatetaskstatus","metadata":{"seo":{"title":"Update Task Status","description":"Update the label and/or color of an existing task status. At least one of text or color must be provided. When project_id is supplied, the update applies to the project's status override. Accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateTaskStatus","name":"Update Task Status","isWebhook":false,"pointer":"/paths/~1task-statuses~1{statusId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Task Status","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update the label and/or color of an existing task status. At least one of text or color must be provided. When project_id is supplied, the update applies to the project's status override. Accessible to Owners and Executive Managers."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"statusId","in":"path","schemaId":"schema_362","description":"ID of the task status","required":true}],"pointer":"/paths/~1task-statuses~1{statusId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_447"}},"schemaId":"schema_447","pointer":"/paths/~1task-statuses~1{statusId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/task-statuses/{statusId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"statusId","in":"path","required":true,"schemaId":"schema_362"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_447"}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/task-statuses/{statusId}","href":"tasks/updatetaskstatus","openApiOperationId":"updateTaskStatus","summary":"Update Task Status","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_447","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_447"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task status updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_448"}},"schemaId":"schema_448"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1task-statuses~1{statusId}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_448","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_448"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/updatetaskstatus"}],"panels":[]}]},"httpPath":"/task-statuses/{statusId}"},{"label":"Delete Task Status","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/deletetaskstatus","routeSlug":"/api/tasks/deletetaskstatus","metadata":{"seo":{"title":"Delete Task Status","description":"Delete a custom task status. Built-in statuses (id % 10 == 0) cannot be deleted. Tasks using the deleted status are moved to reassign_to, or to the group base status when reassign_to is omitted. When project_id is supplied, the deletion applies to the project's status override. Accessible to Owners and Executive Managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTaskStatus","name":"Delete Task Status","isWebhook":false,"pointer":"/paths/~1task-statuses~1{statusId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Task Status","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a custom task status. Built-in statuses (id % 10 == 0) cannot be deleted. Tasks using the deleted status are moved to reassign_to, or to the group base status when reassign_to is omitted. When project_id is supplied, the deletion applies to the project's status override. Accessible to Owners and Executive Managers."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"statusId","in":"path","schemaId":"schema_362","description":"ID of the task status","required":true}],"pointer":"/paths/~1task-statuses~1{statusId}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_449"}},"schemaId":"schema_449","pointer":"/paths/~1task-statuses~1{statusId}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/task-statuses/{statusId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"statusId","in":"path","required":true,"schemaId":"schema_362"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_449"}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/task-statuses/{statusId}","href":"tasks/deletetaskstatus","openApiOperationId":"deleteTaskStatus","summary":"Delete Task Status","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_449","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_449"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task status deleted successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_450"}},"schemaId":"schema_450"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1task-statuses~1{statusId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_450","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_450"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1task-statuses~1{statusId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/deletetaskstatus"}],"panels":[]}]},"httpPath":"/task-statuses/{statusId}"},{"label":"Get Task Comments","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/gettaskcomments","routeSlug":"/api/tasks/gettaskcomments","metadata":{"seo":{"title":"Get Task Comments","description":"Retrieve the threaded comments for a task. Only root comments are returned at the top level; each carries its nested replies (threaded via parent_id). workspace_id is required as a query parameter. project_id is derived from the task and is not a parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTaskComments","name":"Get Task Comments","isWebhook":false,"pointer":"/paths/~1tasks~1{task_id}~1comments/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Task Comments","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the threaded comments for a task. Only root comments are returned at the top level; each carries its nested replies (threaded via parent_id). workspace_id is required as a query parameter. project_id is derived from the task and is not a parameter."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"task_id","in":"path","schemaId":"schema_362","description":"ID of the task","required":true}],"pointer":"/paths/~1tasks~1{task_id}~1comments/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"Workspace ID","required":true},{"name":"page","in":"query","schemaId":"schema_427","description":"Page number for pagination"},{"name":"per_page","in":"query","schemaId":"schema_442","description":"Number of results per page (maximum 100)"}],"pointer":"/paths/~1tasks~1{task_id}~1comments/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tasks/{task_id}/comments","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"task_id","in":"path","required":true,"schemaId":"schema_362"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"page","in":"query","required":false,"schemaId":"schema_427"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_442"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/tasks/{task_id}/comments","href":"tasks/gettaskcomments","openApiOperationId":"getTaskComments","summary":"Get Task Comments","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task comments retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_451"}},"schemaId":"schema_451"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{task_id}~1comments/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_451","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_451"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/gettaskcomments"}],"panels":[]}]},"httpPath":"/tasks/{task_id}/comments"},{"label":"Create Task Comment","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/createtaskcomment","routeSlug":"/api/tasks/createtaskcomment","metadata":{"seo":{"title":"Create Task Comment","description":"Create a comment on a task. Pass parent_id to post a reply within an existing thread; omit it for a top-level comment. workspace_id is required in the body. project_id is derived from the task and is not a parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createTaskComment","name":"Create Task Comment","isWebhook":false,"pointer":"/paths/~1tasks~1{task_id}~1comments/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Task Comment","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a comment on a task. Pass parent_id to post a reply within an existing thread; omit it for a top-level comment. workspace_id is required in the body. project_id is derived from the task and is not a parameter."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"task_id","in":"path","schemaId":"schema_362","description":"ID of the task","required":true}],"pointer":"/paths/~1tasks~1{task_id}~1comments/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_452"}},"schemaId":"schema_452","pointer":"/paths/~1tasks~1{task_id}~1comments/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/tasks/{task_id}/comments","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"task_id","in":"path","required":true,"schemaId":"schema_362"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_452"}},"responseCodes":["201","400","401","403","404","422","500"],"pointer":"/tasks/{task_id}/comments","href":"tasks/createtaskcomment","openApiOperationId":"createTaskComment","summary":"Create Task Comment","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_452","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_452"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Task comment created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_453"}},"schemaId":"schema_453"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{task_id}~1comments/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_453","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_453"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/createtaskcomment"}],"panels":[]}]},"httpPath":"/tasks/{task_id}/comments"},{"label":"Get Single Task Comment","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/gettaskcomment","routeSlug":"/api/tasks/gettaskcomment","metadata":{"seo":{"title":"Get Single Task Comment","description":"Retrieve a single task comment with its replies and file attachments. workspace_id is required as a query parameter. project_id is derived from the task and is not a parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTaskComment","name":"Get Single Task Comment","isWebhook":false,"pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Task Comment","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single task comment with its replies and file attachments. workspace_id is required as a query parameter. project_id is derived from the task and is not a parameter."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"task_id","in":"path","schemaId":"schema_362","description":"ID of the task","required":true},{"name":"comment_id","in":"path","schemaId":"schema_362","description":"ID of the comment","required":true}],"pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"Workspace ID","required":true}],"pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tasks/{task_id}/comments/{comment_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"task_id","in":"path","required":true,"schemaId":"schema_362"},{"name":"comment_id","in":"path","required":true,"schemaId":"schema_362"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/tasks/{task_id}/comments/{comment_id}","href":"tasks/gettaskcomment","openApiOperationId":"getTaskComment","summary":"Get Single Task Comment","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task comment retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_454"}},"schemaId":"schema_454"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_454","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_454"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/gettaskcomment"}],"panels":[]}]},"httpPath":"/tasks/{task_id}/comments/{comment_id}"},{"label":"Update Task Comment","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/updatetaskcomment","routeSlug":"/api/tasks/updatetaskcomment","metadata":{"seo":{"title":"Update Task Comment","description":"Update the text of a task comment. Only the comment author may edit; a 403 is returned otherwise. workspace_id is required in the body. project_id is derived from the task and is not a parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateTaskComment","name":"Update Task Comment","isWebhook":false,"pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Task Comment","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update the text of a task comment. Only the comment author may edit; a 403 is returned otherwise. workspace_id is required in the body. project_id is derived from the task and is not a parameter."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"task_id","in":"path","schemaId":"schema_362","description":"ID of the task","required":true},{"name":"comment_id","in":"path","schemaId":"schema_362","description":"ID of the comment","required":true}],"pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_455"}},"schemaId":"schema_455","pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/tasks/{task_id}/comments/{comment_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"task_id","in":"path","required":true,"schemaId":"schema_362"},{"name":"comment_id","in":"path","required":true,"schemaId":"schema_362"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_455"}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/tasks/{task_id}/comments/{comment_id}","href":"tasks/updatetaskcomment","openApiOperationId":"updateTaskComment","summary":"Update Task Comment","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_455","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_455"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task comment updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_456"}},"schemaId":"schema_456"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_456","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_456"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/updatetaskcomment"}],"panels":[]}]},"httpPath":"/tasks/{task_id}/comments/{comment_id}"},{"label":"Delete Task Comment","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/tasks/deletetaskcomment","routeSlug":"/api/tasks/deletetaskcomment","metadata":{"seo":{"title":"Delete Task Comment","description":"Delete a task comment. Deleting a comment cascades to its replies and attached files. Only the comment author may delete; a 403 is returned otherwise. workspace_id is required in the body. project_id is derived from the task and is not a parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTaskComment","name":"Delete Task Comment","isWebhook":false,"pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Task Comment","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a task comment. Deleting a comment cascades to its replies and attached files. Only the comment author may delete; a 403 is returned otherwise. workspace_id is required in the body. project_id is derived from the task and is not a parameter."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"task_id","in":"path","schemaId":"schema_362","description":"ID of the task","required":true},{"name":"comment_id","in":"path","schemaId":"schema_362","description":"ID of the comment","required":true}],"pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_457"}},"schemaId":"schema_457","pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/tasks/{task_id}/comments/{comment_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"task_id","in":"path","required":true,"schemaId":"schema_362"},{"name":"comment_id","in":"path","required":true,"schemaId":"schema_362"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_457"}},"responseCodes":["200","400","401","403","404","500"],"pointer":"/tasks/{task_id}/comments/{comment_id}","href":"tasks/deletetaskcomment","openApiOperationId":"deleteTaskComment","summary":"Delete Task Comment","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_457","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_457"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task comment deleted successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_458"}},"schemaId":"schema_458"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_458","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_458"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tasks/deletetaskcomment"}],"panels":[]}]},"httpPath":"/tasks/{task_id}/comments/{comment_id}"}],"content":{"contentType":"group","meta":{"name":"Tasks"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Tasks","showPageActions":true},{"nodeType":"markdoc","content":"Manage tasks within projects"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/tasks","summary":"Get All Project Tasks","prefix":{"name":"get","color":"get"},"badges":[],"link":"/tasks/gettasks","deprecated":false},{"title":"/tasks","summary":"Create New Task","prefix":{"name":"post","color":"post"},"badges":[],"link":"/tasks/createtask","deprecated":false},{"title":"/tasks/{taskId}","summary":"Get Single Task","prefix":{"name":"get","color":"get"},"badges":[],"link":"/tasks/gettask","deprecated":false},{"title":"/tasks/{taskId}","summary":"Update Task","prefix":{"name":"put","color":"put"},"badges":[],"link":"/tasks/updatetask","deprecated":false},{"title":"/tasks/{taskId}","summary":"Delete Task","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/tasks/deletetask","deprecated":false},{"title":"/tasks/{taskId}/assignees","summary":"Get Task Assignees","prefix":{"name":"get","color":"get"},"badges":[],"link":"/tasks/gettaskassignees","deprecated":false},{"title":"/tasks/{taskId}/assign/{userId}","summary":"Assign Task to User","prefix":{"name":"post","color":"post"},"badges":[],"link":"/tasks/assigntask","deprecated":false},{"title":"/tasks/{taskId}/unassign/{userId}","summary":"Unassign Task from User","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/tasks/unassigntask","deprecated":false},{"title":"/task-statuses","summary":"Get All Task Statuses","prefix":{"name":"get","color":"get"},"badges":[],"link":"/tasks/gettaskstatuses","deprecated":false},{"title":"/task-statuses","summary":"Create New Task Status","prefix":{"name":"post","color":"post"},"badges":[],"link":"/tasks/createtaskstatus","deprecated":false},{"title":"/task-statuses/{statusId}","summary":"Get Single Task Status","prefix":{"name":"get","color":"get"},"badges":[],"link":"/tasks/gettaskstatus","deprecated":false},{"title":"/task-statuses/{statusId}","summary":"Update Task Status","prefix":{"name":"put","color":"put"},"badges":[],"link":"/tasks/updatetaskstatus","deprecated":false},{"title":"/task-statuses/{statusId}","summary":"Delete Task Status","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/tasks/deletetaskstatus","deprecated":false},{"title":"/tasks/{task_id}/comments","summary":"Get Task Comments","prefix":{"name":"get","color":"get"},"badges":[],"link":"/tasks/gettaskcomments","deprecated":false},{"title":"/tasks/{task_id}/comments","summary":"Create Task Comment","prefix":{"name":"post","color":"post"},"badges":[],"link":"/tasks/createtaskcomment","deprecated":false},{"title":"/tasks/{task_id}/comments/{comment_id}","summary":"Get Single Task Comment","prefix":{"name":"get","color":"get"},"badges":[],"link":"/tasks/gettaskcomment","deprecated":false},{"title":"/tasks/{task_id}/comments/{comment_id}","summary":"Update Task Comment","prefix":{"name":"put","color":"put"},"badges":[],"link":"/tasks/updatetaskcomment","deprecated":false},{"title":"/tasks/{task_id}/comments/{comment_id}","summary":"Delete Task Comment","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/tasks/deletetaskcomment","deprecated":false}]}]}]}]}},{"type":"group","label":"Project Viewers","link":"/api/project-viewers","routeSlug":"/api/project-viewers","items":[{"label":"Get All Project Viewers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-viewers/getprojectviewers","routeSlug":"/api/project-viewers/getprojectviewers","metadata":{"seo":{"title":"Get All Project Viewers","description":"Retrieve all project viewers for a specific workspace. Requires workspace_id as query parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProjectViewers","name":"Get All Project Viewers","isWebhook":false,"pointer":"/paths/~1project-viewers/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Project Viewers","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all project viewers for a specific workspace. Requires workspace_id as query parameter."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","required":true}],"pointer":"/paths/~1project-viewers/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/project-viewers","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/project-viewers","href":"project-viewers/getprojectviewers","openApiOperationId":"getProjectViewers","summary":"Get All Project Viewers","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-viewers/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-viewers/getprojectviewers"}],"panels":[]}]},"httpPath":"/project-viewers"},{"label":"Create Project Viewer","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-viewers/createprojectviewer","routeSlug":"/api/project-viewers/createprojectviewer","metadata":{"seo":{"title":"Create Project Viewer","description":"Create Project Viewer"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createProjectViewer","name":"Create Project Viewer","isWebhook":false,"pointer":"/paths/~1project-viewers/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Project Viewer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_460"}},"schemaId":"schema_460","pointer":"/paths/~1project-viewers/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/project-viewers","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_460"}},"responseCodes":["201","400","401","500"],"pointer":"/project-viewers","href":"project-viewers/createprojectviewer","openApiOperationId":"createProjectViewer","summary":"Create Project Viewer","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_460","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_460"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Resource created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-viewers/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-viewers/createprojectviewer"}],"panels":[]}]},"httpPath":"/project-viewers"},{"label":"Get Project Viewer","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-viewers/getprojectviewer","routeSlug":"/api/project-viewers/getprojectviewer","metadata":{"seo":{"title":"Get Project Viewer","description":"Get Project Viewer"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProjectViewer","name":"Get Project Viewer","isWebhook":false,"pointer":"/paths/~1project-viewers~1{viewerId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Project Viewer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"viewerId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1project-viewers~1{viewerId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","required":true}],"pointer":"/paths/~1project-viewers~1{viewerId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/project-viewers/{viewerId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"viewerId","in":"path","required":true,"schemaId":"schema_461"}],"query":[{"name":"workspace_id","in":"query","required":true,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/project-viewers/{viewerId}","href":"project-viewers/getprojectviewer","openApiOperationId":"getProjectViewer","summary":"Get Project Viewer","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-viewers~1{viewerId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-viewers/getprojectviewer"}],"panels":[]}]},"httpPath":"/project-viewers/{viewerId}"},{"label":"Delete Project Viewer","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-viewers/deleteprojectviewer","routeSlug":"/api/project-viewers/deleteprojectviewer","metadata":{"seo":{"title":"Delete Project Viewer","description":"Delete Project Viewer"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteProjectViewer","name":"Delete Project Viewer","isWebhook":false,"pointer":"/paths/~1project-viewers~1{viewerId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Project Viewer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"viewerId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1project-viewers~1{viewerId}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"schemaId":"schema_462","pointer":"/paths/~1project-viewers~1{viewerId}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/project-viewers/{viewerId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"viewerId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_462"}},"responseCodes":["200","400","401","500"],"pointer":"/project-viewers/{viewerId}","href":"project-viewers/deleteprojectviewer","openApiOperationId":"deleteProjectViewer","summary":"Delete Project Viewer","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_462","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-viewers~1{viewerId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-viewers/deleteprojectviewer"}],"panels":[]}]},"httpPath":"/project-viewers/{viewerId}"},{"label":"Restore Project Viewer","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-viewers/restoreprojectviewer","routeSlug":"/api/project-viewers/restoreprojectviewer","metadata":{"seo":{"title":"Restore Project Viewer","description":"Restore Project Viewer"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"restoreProjectViewer","name":"Restore Project Viewer","isWebhook":false,"pointer":"/paths/~1project-viewers~1{viewerId}~1restore/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Restore Project Viewer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"viewerId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1project-viewers~1{viewerId}~1restore/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"schemaId":"schema_462","pointer":"/paths/~1project-viewers~1{viewerId}~1restore/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/project-viewers/{viewerId}/restore","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"viewerId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_462"}},"responseCodes":["200","400","401","500"],"pointer":"/project-viewers/{viewerId}/restore","href":"project-viewers/restoreprojectviewer","openApiOperationId":"restoreProjectViewer","summary":"Restore Project Viewer","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_462","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-viewers~1{viewerId}~1restore/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1restore/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-viewers/restoreprojectviewer"}],"panels":[]}]},"httpPath":"/project-viewers/{viewerId}/restore"},{"label":"Assign Project to Viewer","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-viewers/assignprojecttoviewer","routeSlug":"/api/project-viewers/assignprojecttoviewer","metadata":{"seo":{"title":"Assign Project to Viewer","description":"Assign Project to Viewer"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"assignProjectToViewer","name":"Assign Project to Viewer","isWebhook":false,"pointer":"/paths/~1project-viewers~1{viewerId}~1assign-project/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Assign Project to Viewer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"viewerId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1project-viewers~1{viewerId}~1assign-project/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_463"}},"schemaId":"schema_463","pointer":"/paths/~1project-viewers~1{viewerId}~1assign-project/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/project-viewers/{viewerId}/assign-project","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"viewerId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_463"}},"responseCodes":["200","400","401","500"],"pointer":"/project-viewers/{viewerId}/assign-project","href":"project-viewers/assignprojecttoviewer","openApiOperationId":"assignProjectToViewer","summary":"Assign Project to Viewer","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_463","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_463"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-viewers~1{viewerId}~1assign-project/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-viewers/assignprojecttoviewer"}],"panels":[]}]},"httpPath":"/project-viewers/{viewerId}/assign-project"},{"label":"Unassign Project from Viewer","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/project-viewers/unassignprojectfromviewer","routeSlug":"/api/project-viewers/unassignprojectfromviewer","metadata":{"seo":{"title":"Unassign Project from Viewer","description":"Unassign Project from Viewer"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"unassignProjectFromViewer","name":"Unassign Project from Viewer","isWebhook":false,"pointer":"/paths/~1project-viewers~1{viewerId}~1unassign-project/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Unassign Project from Viewer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"viewerId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1project-viewers~1{viewerId}~1unassign-project/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_463"}},"schemaId":"schema_463","pointer":"/paths/~1project-viewers~1{viewerId}~1unassign-project/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/project-viewers/{viewerId}/unassign-project","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"viewerId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_463"}},"responseCodes":["200","400","401","500"],"pointer":"/project-viewers/{viewerId}/unassign-project","href":"project-viewers/unassignprojectfromviewer","openApiOperationId":"unassignProjectFromViewer","summary":"Unassign Project from Viewer","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_463","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_463"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project-viewers/unassignprojectfromviewer"}],"panels":[]}]},"httpPath":"/project-viewers/{viewerId}/unassign-project"}],"content":{"contentType":"group","meta":{"name":"Project Viewers"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Project Viewers","showPageActions":true},{"nodeType":"markdoc","content":"Manage project viewers - external users who can view specific projects"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/project-viewers","summary":"Get All Project Viewers","prefix":{"name":"get","color":"get"},"badges":[],"link":"/project-viewers/getprojectviewers","deprecated":false},{"title":"/project-viewers","summary":"Create Project Viewer","prefix":{"name":"post","color":"post"},"badges":[],"link":"/project-viewers/createprojectviewer","deprecated":false},{"title":"/project-viewers/{viewerId}","summary":"Get Project Viewer","prefix":{"name":"get","color":"get"},"badges":[],"link":"/project-viewers/getprojectviewer","deprecated":false},{"title":"/project-viewers/{viewerId}","summary":"Delete Project Viewer","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/project-viewers/deleteprojectviewer","deprecated":false},{"title":"/project-viewers/{viewerId}/restore","summary":"Restore Project Viewer","prefix":{"name":"post","color":"post"},"badges":[],"link":"/project-viewers/restoreprojectviewer","deprecated":false},{"title":"/project-viewers/{viewerId}/assign-project","summary":"Assign Project to Viewer","prefix":{"name":"post","color":"post"},"badges":[],"link":"/project-viewers/assignprojecttoviewer","deprecated":false},{"title":"/project-viewers/{viewerId}/unassign-project","summary":"Unassign Project from Viewer","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/project-viewers/unassignprojectfromviewer","deprecated":false}]}]}]}]}},{"type":"group","label":"Timesheets","link":"/api/timesheets","routeSlug":"/api/timesheets","items":[{"label":"Get All Timesheets","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/timesheets/gettimesheets","routeSlug":"/api/timesheets/gettimesheets","metadata":{"seo":{"title":"Get All Timesheets","description":"Retrieve all timesheets for a specific workspace. Supports filtering by status, date range, user ID, and specific timesheet ID. Results are paginated and can be sorted by creation date."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTimesheets","name":"Get All Timesheets","isWebhook":false,"pointer":"/paths/~1timesheets/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Timesheets","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all timesheets for a specific workspace. Supports filtering by status, date range, user ID, and specific timesheet ID. Results are paginated and can be sorted by creation date."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filters:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Filter by specific encrypted timesheet ID"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Filter by timesheet status (e.g., open, submitted, approved, rejected)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Filter by date range"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Filter by user ID"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"order_by"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Sort by creation date (asc or desc)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response Structure:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Totals:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Each timesheet includes user information ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), date range ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", submission details, and status."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Daily Breakdown:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"daily_breakdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object contains daily tracked time grouped by date. Each date has an array of project entries showing "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"contract_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for that day."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Amount Information:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields (both at timesheet level and in daily breakdown) are only included if the authenticated user has permission to see rates in the workspace."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are paginated with configurable page size"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Default: 20 items per page, maximum: 100"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace","required":true},{"name":"id","in":"query","schemaId":"schema_383","description":"Filter by specific encrypted timesheet ID. The ID is an encrypted string."},{"name":"status","in":"query","schemaId":"schema_464","description":"Filter by timesheet status. Possible values: pending, submitted, approved, rejected."},{"name":"date_from","in":"query","schemaId":"schema_465","description":"Filter timesheets starting from this date (inclusive). Format: YYYY-MM-DD."},{"name":"date_to","in":"query","schemaId":"schema_466","description":"Filter timesheets up to this date (inclusive). Format: YYYY-MM-DD."},{"name":"user_id","in":"query","schemaId":"schema_467","description":"Filter timesheets by user ID. Returns only timesheets belonging to the specified user."},{"name":"order_by","in":"query","schemaId":"schema_468","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort order for timesheets by created_at. Possible values: asc (ascending), desc (descending)."},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_419","description":"Page number for pagination. Default: 1."},{"name":"per_page","in":"query","schemaId":"schema_420","description":"Number of items per page. Minimum: 1, Maximum: 100, Default: 20."}],"pointer":"/paths/~1timesheets/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/timesheets","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"id","in":"query","required":false,"example":"encoded_id_string","schemaId":"schema_383"},{"name":"status","in":"query","required":false,"example":"pending","schemaId":"schema_464"},{"name":"date_from","in":"query","required":false,"example":"2024-01-01","schemaId":"schema_465"},{"name":"date_to","in":"query","required":false,"example":"2024-01-31","schemaId":"schema_466"},{"name":"user_id","in":"query","required":false,"example":123,"schemaId":"schema_467"},{"name":"order_by","in":"query","required":false,"example":"desc","schemaId":"schema_468"},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":20,"schemaId":"schema_420"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","422","500"],"pointer":"/timesheets","href":"timesheets/gettimesheets","openApiOperationId":"getTimesheets","summary":"Get All Timesheets","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Timesheets retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_469","exampleIds":["paths/~1timesheets/get/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_469","exampleIds":["paths/~1timesheets/get/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/401/content/application~1json/example"]},{"code":"422","description":"Invalid identifier provided","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1timesheets/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_469","exampleIds":["paths/~1timesheets/get/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_469","exampleIds":["paths/~1timesheets/get/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/401/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/timesheets/gettimesheets"}],"panels":[]}]},"httpPath":"/timesheets"},{"label":"Get Single Timesheet","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/timesheets/gettimesheet","routeSlug":"/api/timesheets/gettimesheet","metadata":{"seo":{"title":"Get Single Timesheet","description":"Retrieve a single timesheet approval with its daily breakdown. Same item shape as GET /timesheets. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTimesheet","name":"Get Single Timesheet","isWebhook":false,"pointer":"/paths/~1timesheets~1{timesheetId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Timesheet","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single timesheet approval with its daily breakdown. Same item shape as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /timesheets"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Requires workspace owner or executive manager permissions."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"timesheetId","in":"path","schemaId":"schema_470","description":"Encrypted UUID identifier of the timesheet (as returned by GET /timesheets)","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"}],"pointer":"/paths/~1timesheets~1{timesheetId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"ID of the workspace","required":true,"example":1}],"pointer":"/paths/~1timesheets~1{timesheetId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/timesheets/{timesheetId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"timesheetId","in":"path","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","schemaId":"schema_470"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/timesheets/{timesheetId}","href":"timesheets/gettimesheet","openApiOperationId":"getTimesheet","summary":"Get Single Timesheet","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Timesheet retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_471"}},"schemaId":"schema_471"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Invalid timesheet identifier provided.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_472"}},"schemaId":"schema_472"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1timesheets~1{timesheetId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_471","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_471"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_472","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_472"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/timesheets/gettimesheet"}],"panels":[]}]},"httpPath":"/timesheets/{timesheetId}"},{"label":"Approve Timesheet","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/timesheets/approvetimesheet","routeSlug":"/api/timesheets/approvetimesheet","metadata":{"seo":{"title":"Approve Timesheet","description":"Approve a submitted timesheet. Only workspace owners and executive managers can approve timesheets. The timesheet must be in 'submitted' status to be approved."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"approveTimesheet","name":"Approve Timesheet","isWebhook":false,"pointer":"/paths/~1timesheets~1{timesheetId}~1approve/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Approve Timesheet","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Approve a submitted timesheet. Only workspace owners and executive managers can approve timesheets. The timesheet must be in 'submitted' status to be approved."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"timesheetId","in":"path","schemaId":"schema_383","description":"Encrypted timesheet ID","required":true}],"pointer":"/paths/~1timesheets~1{timesheetId}~1approve/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_473"}},"schemaId":"schema_473","pointer":"/paths/~1timesheets~1{timesheetId}~1approve/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/timesheets/{timesheetId}/approve","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"timesheetId","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_473"}},"responseCodes":["200","400","401","422","500"],"pointer":"/timesheets/{timesheetId}/approve","href":"timesheets/approvetimesheet","openApiOperationId":"approveTimesheet","summary":"Approve Timesheet","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_473","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_473"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Timesheet approved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_474","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/200/content/application~1json/example"]}},"schemaId":"schema_474","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/200/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/401/content/application~1json/example"]},{"code":"422","description":"Invalid timesheet identifier","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1timesheets~1{timesheetId}~1approve/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_474","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_474","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/401/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1approve/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/timesheets/approvetimesheet"}],"panels":[]}]},"httpPath":"/timesheets/{timesheetId}/approve"},{"label":"Reject Timesheet","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/timesheets/rejecttimesheet","routeSlug":"/api/timesheets/rejecttimesheet","metadata":{"seo":{"title":"Reject Timesheet","description":"Reject a submitted timesheet with a reason. Only workspace owners and executive managers can reject timesheets. The timesheet must be in 'submitted' status to be rejected. A reason must be provided."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"rejectTimesheet","name":"Reject Timesheet","isWebhook":false,"pointer":"/paths/~1timesheets~1{timesheetId}~1reject/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Reject Timesheet","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Reject a submitted timesheet with a reason. Only workspace owners and executive managers can reject timesheets. The timesheet must be in 'submitted' status to be rejected. A reason must be provided."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"timesheetId","in":"path","schemaId":"schema_383","description":"Encrypted timesheet ID","required":true}],"pointer":"/paths/~1timesheets~1{timesheetId}~1reject/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_475"}},"schemaId":"schema_475","pointer":"/paths/~1timesheets~1{timesheetId}~1reject/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/timesheets/{timesheetId}/reject","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"timesheetId","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_475"}},"responseCodes":["200","400","401","422","500"],"pointer":"/timesheets/{timesheetId}/reject","href":"timesheets/rejecttimesheet","openApiOperationId":"rejectTimesheet","summary":"Reject Timesheet","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_475","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_475"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Timesheet rejected successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_476","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/200/content/application~1json/example"]}},"schemaId":"schema_476","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/200/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/401/content/application~1json/example"]},{"code":"422","description":"Invalid timesheet identifier or validation error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1timesheets~1{timesheetId}~1reject/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_476","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_476","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/401/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1reject/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/timesheets/rejecttimesheet"}],"panels":[]}]},"httpPath":"/timesheets/{timesheetId}/reject"},{"label":"Submit Timesheet","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/timesheets/submittimesheet","routeSlug":"/api/timesheets/submittimesheet","metadata":{"seo":{"title":"Submit Timesheet","description":"Submit a timesheet for approval. The timesheet must be in 'pending' or 'rejected' status to be submitted. Once submitted, it will be reviewed by workspace owners or executive managers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"submitTimesheet","name":"Submit Timesheet","isWebhook":false,"pointer":"/paths/~1timesheets~1{timesheetId}~1submit/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Submit Timesheet","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Submit a timesheet for approval. The timesheet must be in 'pending' or 'rejected' status to be submitted. Once submitted, it will be reviewed by workspace owners or executive managers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"timesheetId","in":"path","schemaId":"schema_383","description":"Encrypted timesheet ID","required":true}],"pointer":"/paths/~1timesheets~1{timesheetId}~1submit/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_473"}},"schemaId":"schema_473","pointer":"/paths/~1timesheets~1{timesheetId}~1submit/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/timesheets/{timesheetId}/submit","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"timesheetId","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_473"}},"responseCodes":["200","400","401","422","500"],"pointer":"/timesheets/{timesheetId}/submit","href":"timesheets/submittimesheet","openApiOperationId":"submitTimesheet","summary":"Submit Timesheet","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_473","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_473"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Timesheet submitted successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_477","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/200/content/application~1json/example"]}},"schemaId":"schema_477","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/200/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/401/content/application~1json/example"]},{"code":"422","description":"Invalid timesheet identifier","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1timesheets~1{timesheetId}~1submit/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_477","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_477","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/401/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1submit/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/timesheets/submittimesheet"}],"panels":[]}]},"httpPath":"/timesheets/{timesheetId}/submit"},{"label":"Unsubmit Timesheet","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/timesheets/unsubmittimesheet","routeSlug":"/api/timesheets/unsubmittimesheet","metadata":{"seo":{"title":"Unsubmit Timesheet","description":"Unsubmit a previously submitted timesheet. This returns the timesheet to 'pending' status, allowing the user to make changes before resubmitting."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"unsubmitTimesheet","name":"Unsubmit Timesheet","isWebhook":false,"pointer":"/paths/~1timesheets~1{timesheetId}~1unsubmit/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Unsubmit Timesheet","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Unsubmit a previously submitted timesheet. This returns the timesheet to 'pending' status, allowing the user to make changes before resubmitting."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"timesheetId","in":"path","schemaId":"schema_383","description":"Encrypted timesheet ID","required":true}],"pointer":"/paths/~1timesheets~1{timesheetId}~1unsubmit/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_473"}},"schemaId":"schema_473","pointer":"/paths/~1timesheets~1{timesheetId}~1unsubmit/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/timesheets/{timesheetId}/unsubmit","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"timesheetId","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_473"}},"responseCodes":["200","400","401","422","500"],"pointer":"/timesheets/{timesheetId}/unsubmit","href":"timesheets/unsubmittimesheet","openApiOperationId":"unsubmitTimesheet","summary":"Unsubmit Timesheet","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_473","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_473"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Timesheet unsubmitted successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_478","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/200/content/application~1json/example"]}},"schemaId":"schema_478","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/200/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/401/content/application~1json/example"]},{"code":"422","description":"Invalid timesheet identifier","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_478","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_478","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/401/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/timesheets/unsubmittimesheet"}],"panels":[]}]},"httpPath":"/timesheets/{timesheetId}/unsubmit"}],"content":{"contentType":"group","meta":{"name":"Timesheets"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Timesheets","showPageActions":true},{"nodeType":"markdoc","content":"Manage timesheet approvals and submissions"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/timesheets","summary":"Get All Timesheets","prefix":{"name":"get","color":"get"},"badges":[],"link":"/timesheets/gettimesheets","deprecated":false},{"title":"/timesheets/{timesheetId}","summary":"Get Single Timesheet","prefix":{"name":"get","color":"get"},"badges":[],"link":"/timesheets/gettimesheet","deprecated":false},{"title":"/timesheets/{timesheetId}/approve","summary":"Approve Timesheet","prefix":{"name":"put","color":"put"},"badges":[],"link":"/timesheets/approvetimesheet","deprecated":false},{"title":"/timesheets/{timesheetId}/reject","summary":"Reject Timesheet","prefix":{"name":"put","color":"put"},"badges":[],"link":"/timesheets/rejecttimesheet","deprecated":false},{"title":"/timesheets/{timesheetId}/submit","summary":"Submit Timesheet","prefix":{"name":"put","color":"put"},"badges":[],"link":"/timesheets/submittimesheet","deprecated":false},{"title":"/timesheets/{timesheetId}/unsubmit","summary":"Unsubmit Timesheet","prefix":{"name":"put","color":"put"},"badges":[],"link":"/timesheets/unsubmittimesheet","deprecated":false}]}]}]}]}},{"type":"group","label":"Time Requests","link":"/api/time-requests","routeSlug":"/api/time-requests","items":[{"label":"Get All Time Requests","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-requests/gettimerequests","routeSlug":"/api/time-requests/gettimerequests","metadata":{"seo":{"title":"Get All Time Requests","description":"Retrieve all time requests for a specific workspace. Requires workspace_id as query parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTimeRequests","name":"Get All Time Requests","isWebhook":false,"pointer":"/paths/~1time-requests/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Time Requests","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all time requests for a specific workspace. Requires workspace_id as query parameter."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"Workspace ID (required)","required":true},{"name":"status","in":"query","schemaId":"schema_479","description":"Filter by status. Must be one of: pending, approved, rejected"},{"name":"user_id","in":"query","schemaId":"schema_362","description":"Filter by user ID"},{"name":"project_id","in":"query","schemaId":"schema_362","description":"Filter by project ID"},{"name":"date_from","in":"query","schemaId":"schema_480","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start date for filtering time requests (required). Format: YYYY-MM-DD. Must be before or equal to date_to."},"children":[]}]}]}],"required":true},{"name":"date_to","in":"query","schemaId":"schema_480","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End date for filtering time requests (required). Format: YYYY-MM-DD. Must be after or equal to date_from."},"children":[]}]}]}],"required":true},{"name":"id","in":"query","schemaId":"schema_461","description":"Filter by encrypted time request ID"},{"name":"page","in":"query","schemaId":"schema_427","description":"Page number for pagination"},{"name":"per_page","in":"query","schemaId":"schema_481","description":"Number of results per page (max 100)"}],"pointer":"/paths/~1time-requests/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/time-requests","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"status","in":"query","required":false,"schemaId":"schema_479"},{"name":"user_id","in":"query","required":false,"schemaId":"schema_362"},{"name":"project_id","in":"query","required":false,"schemaId":"schema_362"},{"name":"date_from","in":"query","required":true,"schemaId":"schema_480"},{"name":"date_to","in":"query","required":true,"schemaId":"schema_480"},{"name":"id","in":"query","required":false,"schemaId":"schema_461"},{"name":"page","in":"query","required":false,"schemaId":"schema_427"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_481"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/time-requests","href":"time-requests/gettimerequests","openApiOperationId":"getTimeRequests","summary":"Get All Time Requests","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-requests/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-requests/gettimerequests"}],"panels":[]}]},"httpPath":"/time-requests"},{"label":"Create Time Request","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-requests/createtimerequest","routeSlug":"/api/time-requests/createtimerequest","metadata":{"seo":{"title":"Create Time Request","description":"Create a new time request. The system will use existing logic based on user permissions and workspace auto-approval settings to determine whether the time is added immediately or creates a pending request."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createTimeRequest","name":"Create Time Request","isWebhook":false,"pointer":"/paths/~1time-requests/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Time Request","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new time request. The system will use existing logic based on user permissions and workspace auto-approval settings to determine whether the time is added immediately or creates a pending request."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_482","exampleIds":["paths/~1time-requests/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_482","exampleIds":["paths/~1time-requests/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1time-requests/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/time-requests","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_482","exampleIds":["paths/~1time-requests/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","500"],"pointer":"/time-requests","href":"time-requests/createtimerequest","openApiOperationId":"createTimeRequest","summary":"Create Time Request","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_482","exampleIds":["paths/~1time-requests/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_482","exampleIds":["paths/~1time-requests/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Time request created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_483","exampleIds":["paths/~1time-requests/post/responses/201/content/application~1json/example"]}},"schemaId":"schema_483","exampleIds":["paths/~1time-requests/post/responses/201/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-requests/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_483","exampleIds":["paths/~1time-requests/post/responses/201/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_483","exampleIds":["paths/~1time-requests/post/responses/201/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-requests/createtimerequest"}],"panels":[]}]},"httpPath":"/time-requests"},{"label":"Get Single Time Request","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-requests/gettimerequest","routeSlug":"/api/time-requests/gettimerequest","metadata":{"seo":{"title":"Get Single Time Request","description":"Retrieve a single manual time request. Same item shape as GET /time-requests. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTimeRequest","name":"Get Single Time Request","isWebhook":false,"pointer":"/paths/~1time-requests~1{timeRequestId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Time Request","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single manual time request. Same item shape as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /time-requests"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Requires workspace owner or executive manager permissions."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"timeRequestId","in":"path","schemaId":"schema_470","description":"Encrypted UUID identifier of the time request (as returned by GET /time-requests)","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"}],"pointer":"/paths/~1time-requests~1{timeRequestId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"ID of the workspace","required":true,"example":1}],"pointer":"/paths/~1time-requests~1{timeRequestId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/time-requests/{timeRequestId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"timeRequestId","in":"path","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","schemaId":"schema_470"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/time-requests/{timeRequestId}","href":"time-requests/gettimerequest","openApiOperationId":"getTimeRequest","summary":"Get Single Time Request","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Time request retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_484"}},"schemaId":"schema_484"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Invalid time request identifier provided.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_485"}},"schemaId":"schema_485"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-requests~1{timeRequestId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_484","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_484"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_485","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_485"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-requests/gettimerequest"}],"panels":[]}]},"httpPath":"/time-requests/{timeRequestId}"},{"label":"Approve Time Request","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-requests/approvetimerequest","routeSlug":"/api/time-requests/approvetimerequest","metadata":{"seo":{"title":"Approve Time Request","description":"Approve a pending time request."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"approveTimeRequest","name":"Approve Time Request","isWebhook":false,"pointer":"/paths/~1time-requests~1{timeRequestId}~1approve/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Approve Time Request","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Approve a pending time request."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"timeRequestId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1time-requests~1{timeRequestId}~1approve/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_486","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_486","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1time-requests~1{timeRequestId}~1approve/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/time-requests/{timeRequestId}/approve","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"timeRequestId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_486","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","500"],"pointer":"/time-requests/{timeRequestId}/approve","href":"time-requests/approvetimerequest","openApiOperationId":"approveTimeRequest","summary":"Approve Time Request","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_486","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_486","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Time request approved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_487","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/200/content/application~1json/example"]}},"schemaId":"schema_487","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/200/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-requests~1{timeRequestId}~1approve/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_487","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_487","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1approve/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-requests/approvetimerequest"}],"panels":[]}]},"httpPath":"/time-requests/{timeRequestId}/approve"},{"label":"Reject Time Request","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-requests/rejecttimerequest","routeSlug":"/api/time-requests/rejecttimerequest","metadata":{"seo":{"title":"Reject Time Request","description":"Reject a pending time request. Requires a comment explaining the rejection reason."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"rejectTimeRequest","name":"Reject Time Request","isWebhook":false,"pointer":"/paths/~1time-requests~1{timeRequestId}~1reject/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Reject Time Request","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Reject a pending time request. Requires a comment explaining the rejection reason."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"timeRequestId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1time-requests~1{timeRequestId}~1reject/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_488","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_488","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1time-requests~1{timeRequestId}~1reject/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/time-requests/{timeRequestId}/reject","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"timeRequestId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_488","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","500"],"pointer":"/time-requests/{timeRequestId}/reject","href":"time-requests/rejecttimerequest","openApiOperationId":"rejectTimeRequest","summary":"Reject Time Request","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_488","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_488","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Time request rejected successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_489","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/200/content/application~1json/example"]}},"schemaId":"schema_489","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/200/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-requests~1{timeRequestId}~1reject/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_489","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_489","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-requests~1{timeRequestId}~1reject/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-requests/rejecttimerequest"}],"panels":[]}]},"httpPath":"/time-requests/{timeRequestId}/reject"}],"content":{"contentType":"group","meta":{"name":"Time Requests"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Time Requests","showPageActions":true},{"nodeType":"markdoc","content":"Manage manual time requests and approvals"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/time-requests","summary":"Get All Time Requests","prefix":{"name":"get","color":"get"},"badges":[],"link":"/time-requests/gettimerequests","deprecated":false},{"title":"/time-requests","summary":"Create Time Request","prefix":{"name":"post","color":"post"},"badges":[],"link":"/time-requests/createtimerequest","deprecated":false},{"title":"/time-requests/{timeRequestId}","summary":"Get Single Time Request","prefix":{"name":"get","color":"get"},"badges":[],"link":"/time-requests/gettimerequest","deprecated":false},{"title":"/time-requests/{timeRequestId}/approve","summary":"Approve Time Request","prefix":{"name":"post","color":"post"},"badges":[],"link":"/time-requests/approvetimerequest","deprecated":false},{"title":"/time-requests/{timeRequestId}/reject","summary":"Reject Time Request","prefix":{"name":"post","color":"post"},"badges":[],"link":"/time-requests/rejecttimerequest","deprecated":false}]}]}]}]}},{"type":"group","label":"Leaves","link":"/api/leaves","routeSlug":"/api/leaves","items":[{"label":"Get All Leaves","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/leaves/getleaves","routeSlug":"/api/leaves/getleaves","metadata":{"seo":{"title":"Get All Leaves","description":"Retrieve all leave requests for a specific workspace. Requires workspace_id as query parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLeaves","name":"Get All Leaves","isWebhook":false,"pointer":"/paths/~1leaves/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Leaves","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all leave requests for a specific workspace. Requires workspace_id as query parameter."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"The workspace ID","required":true},{"name":"id","in":"query","schemaId":"schema_461","description":"Filter by leave request ID"},{"name":"user_id","in":"query","schemaId":"schema_362","description":"Filter by user ID"},{"name":"policy_id","in":"query","schemaId":"schema_362","description":"Filter by leave policy ID"},{"name":"is_paid","in":"query","schemaId":"schema_490","description":"Filter by paid leave status (yes or no)"},{"name":"date_from","in":"query","schemaId":"schema_465","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter leaves from this date (format: Y-m-d). If provided, date_to must be after or equal to date_from."},"children":[]}]}]}]},{"name":"date_to","in":"query","schemaId":"schema_491","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter leaves until this date (format: Y-m-d). Must be after or equal to date_from if date_from is provided."},"children":[]}]}]}]},{"name":"status","in":"query","schemaId":"schema_492","description":"Filter by leave request status. Case-insensitive. One of: pending, approved, rejected, deleted."}],"pointer":"/paths/~1leaves/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/leaves","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"id","in":"query","required":false,"schemaId":"schema_461"},{"name":"user_id","in":"query","required":false,"schemaId":"schema_362"},{"name":"policy_id","in":"query","required":false,"schemaId":"schema_362"},{"name":"is_paid","in":"query","required":false,"schemaId":"schema_490"},{"name":"date_from","in":"query","required":false,"example":"2024-01-01","schemaId":"schema_465"},{"name":"date_to","in":"query","required":false,"example":"2024-12-31","schemaId":"schema_491"},{"name":"status","in":"query","required":false,"schemaId":"schema_492"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/leaves","href":"leaves/getleaves","openApiOperationId":"getLeaves","summary":"Get All Leaves","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_493"}},"schemaId":"schema_493"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1leaves/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_493","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_493"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/leaves/getleaves"}],"panels":[]}]},"httpPath":"/leaves"},{"label":"Request Leave","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/leaves/createleaverequest","routeSlug":"/api/leaves/createleaverequest","metadata":{"seo":{"title":"Request Leave","description":"Create a leave request for a member against a policy."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createLeaveRequest","name":"Request Leave","isWebhook":false,"pointer":"/paths/~1leaves/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Request Leave","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a leave request for a member against a policy."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Soft-deleted policies:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" a deleted policy is normally not requestable and returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 Leave policy not found."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The one exception is a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"monthly"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" policy the target member still has positive earned (accrued) balance for — it remains requestable so the member can spend that balance down. Any other soft-deleted policy is still rejected."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_494","exampleIds":["paths/~1leaves/post/requestBody/content/application~1json/examples/day-based","paths/~1leaves/post/requestBody/content/application~1json/examples/hour-based"]}},"schemaId":"schema_494","exampleIds":["paths/~1leaves/post/requestBody/content/application~1json/examples/day-based","paths/~1leaves/post/requestBody/content/application~1json/examples/hour-based"],"pointer":"/paths/~1leaves/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/leaves","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_494","exampleIds":["paths/~1leaves/post/requestBody/content/application~1json/examples/day-based","paths/~1leaves/post/requestBody/content/application~1json/examples/hour-based"]}},"responseCodes":["201","400","401","403","404","422","500"],"pointer":"/leaves","href":"leaves/createleaverequest","openApiOperationId":"createLeaveRequest","summary":"Request Leave","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_494","exampleIds":["paths/~1leaves/post/requestBody/content/application~1json/examples/day-based","paths/~1leaves/post/requestBody/content/application~1json/examples/hour-based"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_494","exampleIds":["paths/~1leaves/post/requestBody/content/application~1json/examples/day-based","paths/~1leaves/post/requestBody/content/application~1json/examples/hour-based"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_495"}},"schemaId":"schema_495"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1leaves/post/responses/404/content/application~1json/examples/member_not_found","paths/~1leaves/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1leaves/post/responses/404/content/application~1json/examples/member_not_found","paths/~1leaves/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Unprocessable Entity - Validation failed or business rule violation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_496","exampleIds":["paths/~1leaves/post/responses/422/content/application~1json/examples/invalid_policy_id","paths/~1leaves/post/responses/422/content/application~1json/examples/advance_notice_required","paths/~1leaves/post/responses/422/content/application~1json/examples/validation_errors","paths/~1leaves/post/responses/422/content/application~1json/examples/same_day_conflict","paths/~1leaves/post/responses/422/content/application~1json/examples/hourly_leave_validation","paths/~1leaves/post/responses/422/content/application~1json/examples/file_validation","paths/~1leaves/post/responses/422/content/application~1json/examples/note_validation"]}},"schemaId":"schema_496","exampleIds":["paths/~1leaves/post/responses/422/content/application~1json/examples/invalid_policy_id","paths/~1leaves/post/responses/422/content/application~1json/examples/advance_notice_required","paths/~1leaves/post/responses/422/content/application~1json/examples/validation_errors","paths/~1leaves/post/responses/422/content/application~1json/examples/same_day_conflict","paths/~1leaves/post/responses/422/content/application~1json/examples/hourly_leave_validation","paths/~1leaves/post/responses/422/content/application~1json/examples/file_validation","paths/~1leaves/post/responses/422/content/application~1json/examples/note_validation"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1leaves/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_495","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_495"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1leaves/post/responses/404/content/application~1json/examples/member_not_found","paths/~1leaves/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1leaves/post/responses/404/content/application~1json/examples/member_not_found","paths/~1leaves/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_496","exampleIds":["paths/~1leaves/post/responses/422/content/application~1json/examples/invalid_policy_id","paths/~1leaves/post/responses/422/content/application~1json/examples/advance_notice_required","paths/~1leaves/post/responses/422/content/application~1json/examples/validation_errors","paths/~1leaves/post/responses/422/content/application~1json/examples/same_day_conflict","paths/~1leaves/post/responses/422/content/application~1json/examples/hourly_leave_validation","paths/~1leaves/post/responses/422/content/application~1json/examples/file_validation","paths/~1leaves/post/responses/422/content/application~1json/examples/note_validation"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_496","exampleIds":["paths/~1leaves/post/responses/422/content/application~1json/examples/invalid_policy_id","paths/~1leaves/post/responses/422/content/application~1json/examples/advance_notice_required","paths/~1leaves/post/responses/422/content/application~1json/examples/validation_errors","paths/~1leaves/post/responses/422/content/application~1json/examples/same_day_conflict","paths/~1leaves/post/responses/422/content/application~1json/examples/hourly_leave_validation","paths/~1leaves/post/responses/422/content/application~1json/examples/file_validation","paths/~1leaves/post/responses/422/content/application~1json/examples/note_validation"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/leaves/createleaverequest"}],"panels":[]}]},"httpPath":"/leaves"},{"label":"Get Leave Balances","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/leaves/getleavebalances","routeSlug":"/api/leaves/getleavebalances","metadata":{"seo":{"title":"Get Leave Balances","description":"Per-member remaining balance for each leave policy in the period."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLeaveBalances","name":"Get Leave Balances","isWebhook":false,"pointer":"/paths/~1leaves~1balances/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Leave Balances","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Per-member remaining balance for each leave policy in the period."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Soft-deleted monthly policies:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" a deleted "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"monthly"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" policy a member still has positive earned (accrued) balance for is included, with its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"balance"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reported as accrued-to-date minus used (in the policy's own unit) so the member can see what remains to spend. Other soft-deleted policies with no usage are omitted."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One-duration-for-all (TOTAL) workspaces:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" there is a single shared allowance rather than per-policy balances, so each member object additionally carries "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_balance"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{days, hours}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") — the shared pool minus total used, in the workspace unit. For a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"monthly"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" workspace schedule this is the accrued-to-date pool (it grows each month); for annual/hire-based it is the fixed pool (hire-based prorated by hire date). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_balance"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when no allowance is configured, and is omitted entirely for Separate-duration (SPLIT) workspaces (which use the per-policy "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"balance"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"The workspace ID","required":true},{"name":"date_from","in":"query","schemaId":"schema_465","description":"Start of the period to report balances for (format: Y-m-d). Required.","required":true},{"name":"date_to","in":"query","schemaId":"schema_491","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the period to report balances for (format: Y-m-d). Required. Must be after or equal to date_from."},"children":[]}]}]}],"required":true},{"name":"user_id","in":"query","schemaId":"schema_362","description":"Filter balances by a specific user ID"}],"pointer":"/paths/~1leaves~1balances/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/leaves/balances","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"date_from","in":"query","required":true,"example":"2024-01-01","schemaId":"schema_465"},{"name":"date_to","in":"query","required":true,"example":"2024-12-31","schemaId":"schema_491"},{"name":"user_id","in":"query","required":false,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/leaves/balances","href":"leaves/getleavebalances","openApiOperationId":"getLeaveBalances","summary":"Get Leave Balances","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_497"}},"schemaId":"schema_497"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1leaves~1balances/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_497","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_497"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1balances/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/leaves/getleavebalances"}],"panels":[]}]},"httpPath":"/leaves/balances"},{"label":"Get Leave Policies","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/leaves/getleavepolicies","routeSlug":"/api/leaves/getleavepolicies","metadata":{"seo":{"title":"Get Leave Policies","description":"Workspace leave policies requestable in this workspace."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLeavePolicies","name":"Get Leave Policies","isWebhook":false,"pointer":"/paths/~1leaves~1policies/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Leave Policies","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workspace leave policies requestable in this workspace."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each policy's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"balance_schedule"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is one of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"annually"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"monthly"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hired-date based"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Soft-deleted monthly policies:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" a deleted "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"monthly"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" policy that members still have positive earned (accrued) balance for is included here (so its balance stays spendable), even though it is no longer an active policy."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","required":true}],"pointer":"/paths/~1leaves~1policies/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/leaves/policies","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/leaves/policies","href":"leaves/getleavepolicies","openApiOperationId":"getLeavePolicies","summary":"Get Leave Policies","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_498"}},"schemaId":"schema_498"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1leaves~1policies/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_498","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_498"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1policies/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/leaves/getleavepolicies"}],"panels":[]}]},"httpPath":"/leaves/policies"},{"label":"Get Single Leave Request","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/leaves/getleave","routeSlug":"/api/leaves/getleave","metadata":{"seo":{"title":"Get Single Leave Request","description":"Retrieve a single leave request, including approval steps on multi-level approval workspaces. Same item shape as GET /leaves. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLeave","name":"Get Single Leave Request","isWebhook":false,"pointer":"/paths/~1leaves~1{leaveRequestId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Leave Request","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single leave request, including approval steps on multi-level approval workspaces. Same item shape as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /leaves"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Requires workspace owner or executive manager permissions."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"leaveRequestId","in":"path","schemaId":"schema_470","description":"Encrypted UUID identifier of the leave request (as returned by GET /leaves)","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"}],"pointer":"/paths/~1leaves~1{leaveRequestId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"ID of the workspace","required":true,"example":1}],"pointer":"/paths/~1leaves~1{leaveRequestId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/leaves/{leaveRequestId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"leaveRequestId","in":"path","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","schemaId":"schema_470"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/leaves/{leaveRequestId}","href":"leaves/getleave","openApiOperationId":"getLeave","summary":"Get Single Leave Request","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Leave request retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_499"}},"schemaId":"schema_499"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Invalid leave request identifier provided","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_500"}},"schemaId":"schema_500"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1leaves~1{leaveRequestId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_499","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_499"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_500","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_500"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/leaves/getleave"}],"panels":[]}]},"httpPath":"/leaves/{leaveRequestId}"},{"label":"Approve Leave Request","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/leaves/approveleaverequest","routeSlug":"/api/leaves/approveleaverequest","metadata":{"seo":{"title":"Approve Leave Request","description":"Approve a pending leave request."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"approveLeaveRequest","name":"Approve Leave Request","isWebhook":false,"pointer":"/paths/~1leaves~1{leaveRequestId}~1approve/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Approve Leave Request","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Approve a pending leave request."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Multi-level workspaces:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" approval is sequential and role-gated, exactly like the web app. A request must be approved level by level (level 1, then level 2, …); each call approves the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"current"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" pending level, and the request stays "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pending"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" until the final level approves. You may only approve a level whose configured roles include your own role — approving a level you are not eligible for returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". (Levels assigned to roles you do not hold must be approved by those role-holders in the web/app.) The per-level progress is visible in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"approval_steps"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array on the Get Leaves response."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Single-level workspaces:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" behaves as before — one call fully approves the request."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"leaveRequestId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1leaves~1{leaveRequestId}~1approve/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"schemaId":"schema_462","pointer":"/paths/~1leaves~1{leaveRequestId}~1approve/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/leaves/{leaveRequestId}/approve","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"leaveRequestId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_462"}},"responseCodes":["200","400","401","403","500"],"pointer":"/leaves/{leaveRequestId}/approve","href":"leaves/approveleaverequest","openApiOperationId":"approveLeaveRequest","summary":"Approve Leave Request","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_462","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1leaves~1{leaveRequestId}~1approve/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1approve/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/leaves/approveleaverequest"}],"panels":[]}]},"httpPath":"/leaves/{leaveRequestId}/approve"},{"label":"Reject Leave Request","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/leaves/rejectleaverequest","routeSlug":"/api/leaves/rejectleaverequest","metadata":{"seo":{"title":"Reject Leave Request","description":"Reject a pending leave request. A reason is required."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"rejectLeaveRequest","name":"Reject Leave Request","isWebhook":false,"pointer":"/paths/~1leaves~1{leaveRequestId}~1reject/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Reject Leave Request","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reject a pending leave request. A "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Multi-level workspaces:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" rejection is role-gated like approval — you may only reject the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"current"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" pending level, and only if its configured roles include your own role (otherwise "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Rejecting any level rejects the whole request; approvers who already signed off earlier levels are notified."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Single-level workspaces:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" behaves as before."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"leaveRequestId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1leaves~1{leaveRequestId}~1reject/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"schemaId":"schema_462","pointer":"/paths/~1leaves~1{leaveRequestId}~1reject/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/leaves/{leaveRequestId}/reject","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"leaveRequestId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_462"}},"responseCodes":["200","400","401","403","500"],"pointer":"/leaves/{leaveRequestId}/reject","href":"leaves/rejectleaverequest","openApiOperationId":"rejectLeaveRequest","summary":"Reject Leave Request","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_462","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1leaves~1{leaveRequestId}~1reject/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1leaves~1{leaveRequestId}~1reject/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/leaves/rejectleaverequest"}],"panels":[]}]},"httpPath":"/leaves/{leaveRequestId}/reject"}],"content":{"contentType":"group","meta":{"name":"Leaves"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Leaves","showPageActions":true},{"nodeType":"markdoc","content":"Manage leave requests, balances, and policies"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/leaves","summary":"Get All Leaves","prefix":{"name":"get","color":"get"},"badges":[],"link":"/leaves/getleaves","deprecated":false},{"title":"/leaves","summary":"Request Leave","prefix":{"name":"post","color":"post"},"badges":[],"link":"/leaves/createleaverequest","deprecated":false},{"title":"/leaves/balances","summary":"Get Leave Balances","prefix":{"name":"get","color":"get"},"badges":[],"link":"/leaves/getleavebalances","deprecated":false},{"title":"/leaves/policies","summary":"Get Leave Policies","prefix":{"name":"get","color":"get"},"badges":[],"link":"/leaves/getleavepolicies","deprecated":false},{"title":"/leaves/{leaveRequestId}","summary":"Get Single Leave Request","prefix":{"name":"get","color":"get"},"badges":[],"link":"/leaves/getleave","deprecated":false},{"title":"/leaves/{leaveRequestId}/approve","summary":"Approve Leave Request","prefix":{"name":"put","color":"put"},"badges":[],"link":"/leaves/approveleaverequest","deprecated":false},{"title":"/leaves/{leaveRequestId}/reject","summary":"Reject Leave Request","prefix":{"name":"put","color":"put"},"badges":[],"link":"/leaves/rejectleaverequest","deprecated":false}]}]}]}]}},{"type":"group","label":"Expenses","link":"/api/expenses","routeSlug":"/api/expenses","items":[{"label":"Get All Expenses","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/expenses/getexpenses","routeSlug":"/api/expenses/getexpenses","metadata":{"seo":{"title":"Get All Expenses","description":"Retrieve all expenses for a specific workspace. Requires workspace_id as query parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getExpenses","name":"Get All Expenses","isWebhook":false,"pointer":"/paths/~1expenses/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Expenses","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all expenses for a specific workspace. Requires workspace_id as query parameter."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","required":true}],"pointer":"/paths/~1expenses/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/expenses","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/expenses","href":"expenses/getexpenses","openApiOperationId":"getExpenses","summary":"Get All Expenses","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_501"}},"schemaId":"schema_501"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1expenses/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_501","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_501"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/expenses/getexpenses"}],"panels":[]}]},"httpPath":"/expenses"},{"label":"Create Expense","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/expenses/createexpense","routeSlug":"/api/expenses/createexpense","metadata":{"seo":{"title":"Create Expense","description":"Create Expense"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createExpense","name":"Create Expense","isWebhook":false,"pointer":"/paths/~1expenses/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Expense","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_502"}},"schemaId":"schema_502","pointer":"/paths/~1expenses/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/expenses","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_502"}},"responseCodes":["201","400","401","500"],"pointer":"/expenses","href":"expenses/createexpense","openApiOperationId":"createExpense","summary":"Create Expense","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_502","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_502"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Resource created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1expenses/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/expenses/createexpense"}],"panels":[]}]},"httpPath":"/expenses"},{"label":"Get Expense Categories","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/expenses/getexpensecategories","routeSlug":"/api/expenses/getexpensecategories","metadata":{"seo":{"title":"Get Expense Categories","description":"Get Expense Categories"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getExpenseCategories","name":"Get Expense Categories","isWebhook":false,"pointer":"/paths/~1expenses~1categories/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Expense Categories","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","required":true}],"pointer":"/paths/~1expenses~1categories/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/expenses/categories","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/expenses/categories","href":"expenses/getexpensecategories","openApiOperationId":"getExpenseCategories","summary":"Get Expense Categories","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/401/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1expenses~1categories/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/401/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1categories/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/expenses/getexpensecategories"}],"panels":[]}]},"httpPath":"/expenses/categories"},{"label":"Get Single Expense","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/expenses/getexpense","routeSlug":"/api/expenses/getexpense","metadata":{"seo":{"title":"Get Single Expense","description":"Retrieve a single expense. Same item shape as GET /expenses. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getExpense","name":"Get Single Expense","isWebhook":false,"pointer":"/paths/~1expenses~1{expenseId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Expense","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single expense. Same item shape as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /expenses"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Requires workspace owner or executive manager permissions."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"expenseId","in":"path","schemaId":"schema_470","description":"Encrypted UUID identifier of the expense (as returned by GET /expenses)","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"}],"pointer":"/paths/~1expenses~1{expenseId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"ID of the workspace","required":true,"example":1}],"pointer":"/paths/~1expenses~1{expenseId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/expenses/{expenseId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"expenseId","in":"path","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","schemaId":"schema_470"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/expenses/{expenseId}","href":"expenses/getexpense","openApiOperationId":"getExpense","summary":"Get Single Expense","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Expense retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_503"}},"schemaId":"schema_503"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Invalid expense identifier provided.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_504"}},"schemaId":"schema_504"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1expenses~1{expenseId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_503","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_503"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_504","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_504"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/expenses/getexpense"}],"panels":[]}]},"httpPath":"/expenses/{expenseId}"},{"label":"Update Expense","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/expenses/updateexpense","routeSlug":"/api/expenses/updateexpense","metadata":{"seo":{"title":"Update Expense","description":"Update Expense"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateExpense","name":"Update Expense","isWebhook":false,"pointer":"/paths/~1expenses~1{expenseId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Expense","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"expenseId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1expenses~1{expenseId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_502"}},"schemaId":"schema_502","pointer":"/paths/~1expenses~1{expenseId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/expenses/{expenseId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"expenseId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_502"}},"responseCodes":["200","400","401","403","500"],"pointer":"/expenses/{expenseId}","href":"expenses/updateexpense","openApiOperationId":"updateExpense","summary":"Update Expense","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_502","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_502"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"The expense is billed by an invoice and can no longer be changed.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_505"}},"schemaId":"schema_505"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1expenses~1{expenseId}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"schema_505","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_505"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/expenses/updateexpense"}],"panels":[]}]},"httpPath":"/expenses/{expenseId}"},{"label":"Delete Expense","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/expenses/deleteexpense","routeSlug":"/api/expenses/deleteexpense","metadata":{"seo":{"title":"Delete Expense","description":"Delete Expense"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteExpense","name":"Delete Expense","isWebhook":false,"pointer":"/paths/~1expenses~1{expenseId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Expense","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"expenseId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1expenses~1{expenseId}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"schemaId":"schema_462","pointer":"/paths/~1expenses~1{expenseId}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/expenses/{expenseId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"expenseId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_462"}},"responseCodes":["200","400","401","403","500"],"pointer":"/expenses/{expenseId}","href":"expenses/deleteexpense","openApiOperationId":"deleteExpense","summary":"Delete Expense","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_462","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"The expense is billed by an invoice and can no longer be changed.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_505"}},"schemaId":"schema_505"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1expenses~1{expenseId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"schema_505","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_505"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1expenses~1{expenseId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/expenses/deleteexpense"}],"panels":[]}]},"httpPath":"/expenses/{expenseId}"}],"content":{"contentType":"group","meta":{"name":"Expenses"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Expenses","showPageActions":true},{"nodeType":"markdoc","content":"Manage expenses and expense categories"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/expenses","summary":"Get All Expenses","prefix":{"name":"get","color":"get"},"badges":[],"link":"/expenses/getexpenses","deprecated":false},{"title":"/expenses","summary":"Create Expense","prefix":{"name":"post","color":"post"},"badges":[],"link":"/expenses/createexpense","deprecated":false},{"title":"/expenses/categories","summary":"Get Expense Categories","prefix":{"name":"get","color":"get"},"badges":[],"link":"/expenses/getexpensecategories","deprecated":false},{"title":"/expenses/{expenseId}","summary":"Get Single Expense","prefix":{"name":"get","color":"get"},"badges":[],"link":"/expenses/getexpense","deprecated":false},{"title":"/expenses/{expenseId}","summary":"Update Expense","prefix":{"name":"put","color":"put"},"badges":[],"link":"/expenses/updateexpense","deprecated":false},{"title":"/expenses/{expenseId}","summary":"Delete Expense","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/expenses/deleteexpense","deprecated":false}]}]}]}]}},{"type":"group","label":"Time Tracking","link":"/api/time-tracking","routeSlug":"/api/time-tracking","items":[{"label":"Start Time Tracking","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-tracking/starttimetracking","routeSlug":"/api/time-tracking/starttimetracking","metadata":{"seo":{"title":"Start Time Tracking","description":"Start time tracking (clock in) for a user. Only workspace owners and executive managers can use this endpoint. They can start tracking for any member in their workspace. If a user is already tracking time, they must stop the current tracker before starting a new one."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"startTimeTracking","name":"Start Time Tracking","isWebhook":false,"pointer":"/paths/~1time-tracking~1start/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Start Time Tracking","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Start time tracking (clock in) for a user. Only workspace owners and executive managers can use this endpoint. They can start tracking for any member in their workspace. If a user is already tracking time, they must stop the current tracker before starting a new one."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_506","exampleIds":["paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/with_project","paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/without_project"]}},"schemaId":"schema_506","exampleIds":["paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/with_project","paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/without_project"],"pointer":"/paths/~1time-tracking~1start/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/time-tracking/start","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_506","exampleIds":["paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/with_project","paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/without_project"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/time-tracking/start","href":"time-tracking/starttimetracking","openApiOperationId":"startTimeTracking","summary":"Start Time Tracking","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_506","exampleIds":["paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/with_project","paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/without_project"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_506","exampleIds":["paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/with_project","paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/without_project"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Time tracking started successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_507","exampleIds":["paths/~1time-tracking~1start/post/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_507","exampleIds":["paths/~1time-tracking~1start/post/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation error - invalid request data","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/task_without_contract","paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/already_tracking"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/task_without_contract","paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/already_tracking"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-tracking~1start/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_507","exampleIds":["paths/~1time-tracking~1start/post/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_507","exampleIds":["paths/~1time-tracking~1start/post/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/task_without_contract","paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/already_tracking"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/task_without_contract","paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/already_tracking"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1start/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-tracking/starttimetracking"}],"panels":[]}]},"httpPath":"/time-tracking/start"},{"label":"Stop Time Tracking","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-tracking/stoptimetracking","routeSlug":"/api/time-tracking/stoptimetracking","metadata":{"seo":{"title":"Stop Time Tracking","description":"Stop time tracking (clock out) for a user. Only workspace owners and executive managers can use this endpoint. They can stop tracking for any member in their workspace. The user must have an active tracker running to stop it."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"stopTimeTracking","name":"Stop Time Tracking","isWebhook":false,"pointer":"/paths/~1time-tracking~1stop/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Stop Time Tracking","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Stop time tracking (clock out) for a user. Only workspace owners and executive managers can use this endpoint. They can stop tracking for any member in their workspace. The user must have an active tracker running to stop it."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_508","exampleIds":["paths/~1time-tracking~1stop/post/requestBody/content/application~1json/examples/stop_tracking"]}},"schemaId":"schema_508","exampleIds":["paths/~1time-tracking~1stop/post/requestBody/content/application~1json/examples/stop_tracking"],"pointer":"/paths/~1time-tracking~1stop/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/time-tracking/stop","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_508","exampleIds":["paths/~1time-tracking~1stop/post/requestBody/content/application~1json/examples/stop_tracking"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/time-tracking/stop","href":"time-tracking/stoptimetracking","openApiOperationId":"stopTimeTracking","summary":"Stop Time Tracking","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_508","exampleIds":["paths/~1time-tracking~1stop/post/requestBody/content/application~1json/examples/stop_tracking"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_508","exampleIds":["paths/~1time-tracking~1stop/post/requestBody/content/application~1json/examples/stop_tracking"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Time tracking stopped successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_509","exampleIds":["paths/~1time-tracking~1stop/post/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_509","exampleIds":["paths/~1time-tracking~1stop/post/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation error - invalid request data or no active tracker","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/422/content/application~1json/examples/no_active_tracker"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/422/content/application~1json/examples/no_active_tracker"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-tracking~1stop/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_509","exampleIds":["paths/~1time-tracking~1stop/post/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_509","exampleIds":["paths/~1time-tracking~1stop/post/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/422/content/application~1json/examples/no_active_tracker"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/422/content/application~1json/examples/no_active_tracker"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1stop/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-tracking/stoptimetracking"}],"panels":[]}]},"httpPath":"/time-tracking/stop"},{"label":"Get Current Running Tracker Data","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-tracking/getcurrenttrackerdata","routeSlug":"/api/time-tracking/getcurrenttrackerdata","metadata":{"seo":{"title":"Get Current Running Tracker Data","description":"Get current running tracker actual time data for a user. Only workspace owners and executive managers can use this endpoint. They can get tracker data for any member in their workspace."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCurrentTrackerData","name":"Get Current Running Tracker Data","isWebhook":false,"pointer":"/paths/~1time-tracking~1current-data/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Current Running Tracker Data","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get current running tracker actual time data for a user. Only workspace owners and executive managers can use this endpoint. They can get tracker data for any member in their workspace."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important — this endpoint is WEB-TRACKER ONLY."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" It reads the background-tracking service with a fixed "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"website"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" track type, and that service knows only the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"website"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"extension"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mobile"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"break"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" track types — there is no desktop value at all. A member tracking on the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"desktop app"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" therefore returns an empty result, as does any member without a live "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"website"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"-type session (e.g. one tracking from the browser extension or mobile). It is not a workspace-wide \"who is tracking\" endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For live state that covers "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"all"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" trackers — desktop, web, extension, mobile and kiosk — use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /reports/real-time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", which returns one row per member (including offline, absent and on-leave members). For session start/stop moments, subscribe to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tracker.started"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tracker.stopped"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" webhooks."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"ID of the workspace","required":true,"example":1},{"name":"user_id","in":"query","schemaId":"schema_362","description":"ID of the user to get tracker data for. Must be a member of the specified workspace.","required":true,"example":100}],"pointer":"/paths/~1time-tracking~1current-data/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/time-tracking/current-data","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_362"},{"name":"user_id","in":"query","required":true,"example":100,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/time-tracking/current-data","href":"time-tracking/getcurrenttrackerdata","openApiOperationId":"getCurrentTrackerData","summary":"Get Current Running Tracker Data","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Current tracker data retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_510","exampleIds":["paths/~1time-tracking~1current-data/get/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_510","exampleIds":["paths/~1time-tracking~1current-data/get/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-tracking~1current-data/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_510","exampleIds":["paths/~1time-tracking~1current-data/get/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_510","exampleIds":["paths/~1time-tracking~1current-data/get/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-tracking~1current-data/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-tracking/getcurrenttrackerdata"}],"panels":[]}]},"httpPath":"/time-tracking/current-data"}],"content":{"contentType":"group","meta":{"name":"Time Tracking"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Time Tracking","showPageActions":true},{"nodeType":"markdoc","content":"Start, stop, and monitor real-time tracking"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/time-tracking/start","summary":"Start Time Tracking","prefix":{"name":"post","color":"post"},"badges":[],"link":"/time-tracking/starttimetracking","deprecated":false},{"title":"/time-tracking/stop","summary":"Stop Time Tracking","prefix":{"name":"post","color":"post"},"badges":[],"link":"/time-tracking/stoptimetracking","deprecated":false},{"title":"/time-tracking/current-data","summary":"Get Current Running Tracker Data","prefix":{"name":"get","color":"get"},"badges":[],"link":"/time-tracking/getcurrenttrackerdata","deprecated":false}]}]}]}]}},{"type":"group","label":"Time Entries","link":"/api/time-entries","routeSlug":"/api/time-entries","items":[{"label":"Get Time Entries","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-entries/gettimeentries","routeSlug":"/api/time-entries/gettimeentries","metadata":{"seo":{"title":"Get Time Entries","description":"Retrieve time entries for a workspace. Returns a paginated list of time entries with filters for specific date, user, project, and task. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTimeEntries","name":"Get Time Entries","isWebhook":false,"pointer":"/paths/~1time-entries/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Time Entries","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve time entries for a workspace. Returns a paginated list of time entries with filters for specific date, user, project, and task. Requires workspace owner or executive manager permissions."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"ID of the workspace","required":true,"example":1},{"name":"user_id","in":"query","schemaId":"schema_362","description":"Filter by user ID","required":true,"example":100},{"name":"date","in":"query","schemaId":"schema_480","description":"Filter entries for a specific date (format: Y-m-d)","required":true,"example":"2026-01-29"},{"name":"project_id","in":"query","schemaId":"schema_362","description":"Filter by project ID","example":10},{"name":"task_id","in":"query","schemaId":"schema_362","description":"Filter by task ID","example":5},{"name":"page","in":"query","schemaId":"schema_359","description":"Page number for pagination"},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Number of items per page (maximum 50)"}],"pointer":"/paths/~1time-entries/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/time-entries","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_362"},{"name":"user_id","in":"query","required":true,"example":100,"schemaId":"schema_362"},{"name":"date","in":"query","required":true,"example":"2026-01-29","schemaId":"schema_480"},{"name":"project_id","in":"query","required":false,"example":10,"schemaId":"schema_362"},{"name":"task_id","in":"query","required":false,"example":5,"schemaId":"schema_362"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/time-entries","href":"time-entries/gettimeentries","openApiOperationId":"getTimeEntries","summary":"Get Time Entries","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Time entries retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_511"}},"schemaId":"schema_511"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-entries/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_511","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_511"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-entries/gettimeentries"}],"panels":[]}]},"httpPath":"/time-entries"},{"label":"Create Time Entry","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-entries/createtimeentry","routeSlug":"/api/time-entries/createtimeentry","metadata":{"seo":{"title":"Create Time Entry","description":"Create a new time entry manually. This is useful for adding historical time entries or entries that weren't tracked in real-time. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createTimeEntry","name":"Create Time Entry","isWebhook":false,"pointer":"/paths/~1time-entries/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Time Entry","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new time entry manually. This is useful for adding historical time entries or entries that weren't tracked in real-time. Requires workspace owner or executive manager permissions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important Notes:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Time entries are validated against member and contract limits"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Overlapping time entries may result in partial time being saved"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response will indicate if only partial time was added due to limits or overlaps"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_512","exampleIds":["paths/~1time-entries/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_512","exampleIds":["paths/~1time-entries/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1time-entries/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/time-entries","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_512","exampleIds":["paths/~1time-entries/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403","404","422","500"],"pointer":"/time-entries","href":"time-entries/createtimeentry","openApiOperationId":"createTimeEntry","summary":"Create Time Entry","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_512","exampleIds":["paths/~1time-entries/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_512","exampleIds":["paths/~1time-entries/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Time entry created successfully (full or partial)","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_513","exampleIds":["paths/~1time-entries/post/responses/201/content/application~1json/examples/success","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_member_limit","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_contract_limit","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_overlap"]}},"schemaId":"schema_513","exampleIds":["paths/~1time-entries/post/responses/201/content/application~1json/examples/success","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_member_limit","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_contract_limit","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_overlap"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation error or complete failure (no time added)","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_514","exampleIds":["paths/~1time-entries/post/responses/422/content/application~1json/examples/member_limit_exceeded","paths/~1time-entries/post/responses/422/content/application~1json/examples/contract_limit_exceeded","paths/~1time-entries/post/responses/422/content/application~1json/examples/time_exists","paths/~1time-entries/post/responses/422/content/application~1json/examples/validation_error"]}},"schemaId":"schema_514","exampleIds":["paths/~1time-entries/post/responses/422/content/application~1json/examples/member_limit_exceeded","paths/~1time-entries/post/responses/422/content/application~1json/examples/contract_limit_exceeded","paths/~1time-entries/post/responses/422/content/application~1json/examples/time_exists","paths/~1time-entries/post/responses/422/content/application~1json/examples/validation_error"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-entries/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_513","exampleIds":["paths/~1time-entries/post/responses/201/content/application~1json/examples/success","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_member_limit","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_contract_limit","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_overlap"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_513","exampleIds":["paths/~1time-entries/post/responses/201/content/application~1json/examples/success","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_member_limit","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_contract_limit","paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_overlap"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries/post/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_514","exampleIds":["paths/~1time-entries/post/responses/422/content/application~1json/examples/member_limit_exceeded","paths/~1time-entries/post/responses/422/content/application~1json/examples/contract_limit_exceeded","paths/~1time-entries/post/responses/422/content/application~1json/examples/time_exists","paths/~1time-entries/post/responses/422/content/application~1json/examples/validation_error"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_514","exampleIds":["paths/~1time-entries/post/responses/422/content/application~1json/examples/member_limit_exceeded","paths/~1time-entries/post/responses/422/content/application~1json/examples/contract_limit_exceeded","paths/~1time-entries/post/responses/422/content/application~1json/examples/time_exists","paths/~1time-entries/post/responses/422/content/application~1json/examples/validation_error"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-entries/createtimeentry"}],"panels":[]}]},"httpPath":"/time-entries"},{"label":"Get Single Time Entry","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-entries/gettimeentry","routeSlug":"/api/time-entries/gettimeentry","metadata":{"seo":{"title":"Get Single Time Entry","description":"Retrieve a single completed time entry. Same item shape as GET /time-entries. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTimeEntry","name":"Get Single Time Entry","isWebhook":false,"pointer":"/paths/~1time-entries~1{time_entry_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Time Entry","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single completed time entry. Same item shape as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /time-entries"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Requires workspace owner or executive manager permissions."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"time_entry_id","in":"path","schemaId":"schema_470","description":"Encrypted UUID identifier of the time entry (as returned by GET /time-entries)","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"}],"pointer":"/paths/~1time-entries~1{time_entry_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"ID of the workspace","required":true,"example":1}],"pointer":"/paths/~1time-entries~1{time_entry_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/time-entries/{time_entry_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"time_entry_id","in":"path","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","schemaId":"schema_470"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/time-entries/{time_entry_id}","href":"time-entries/gettimeentry","openApiOperationId":"getTimeEntry","summary":"Get Single Time Entry","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Time entry retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_515"}},"schemaId":"schema_515"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Invalid time entry identifier provided","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_516"}},"schemaId":"schema_516"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-entries~1{time_entry_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_515","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_515"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_516","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_516"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-entries/gettimeentry"}],"panels":[]}]},"httpPath":"/time-entries/{time_entry_id}"},{"label":"Update Time Entry","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-entries/updatetimeentry","routeSlug":"/api/time-entries/updatetimeentry","metadata":{"seo":{"title":"Update Time Entry","description":"Update an existing time entry. You can update the activity description, notes, task, project assignment, date, or time range. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateTimeEntry","name":"Update Time Entry","isWebhook":false,"pointer":"/paths/~1time-entries~1{time_entry_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Time Entry","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update an existing time entry. You can update the activity description, notes, task, project assignment, date, or time range. Requires workspace owner or executive manager permissions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important Notes:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All fields except workspace_id are optional"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you update only start_time or end_time, the other will be preserved from the existing entry"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Times are validated to ensure end_time is after start_time"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"time_entry_id","in":"path","schemaId":"schema_470","description":"Encrypted UUID identifier of the time entry to update","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"}],"pointer":"/paths/~1time-entries~1{time_entry_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_517","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/requestBody/content/application~1json/example"]}},"schemaId":"schema_517","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/requestBody/content/application~1json/example"],"pointer":"/paths/~1time-entries~1{time_entry_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/time-entries/{time_entry_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"time_entry_id","in":"path","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","schemaId":"schema_470"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_517","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/time-entries/{time_entry_id}","href":"time-entries/updatetimeentry","openApiOperationId":"updateTimeEntry","summary":"Update Time Entry","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_517","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_517","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Time entry updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_518","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/200/content/application~1json/example"]}},"schemaId":"schema_518","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/200/content/application~1json/example"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation error or update failed","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_519","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_time_range","paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_identifier","paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/validation_error"]}},"schemaId":"schema_519","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_time_range","paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_identifier","paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/validation_error"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-entries~1{time_entry_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_518","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_518","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_519","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_time_range","paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_identifier","paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/validation_error"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_519","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_time_range","paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_identifier","paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/validation_error"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-entries/updatetimeentry"}],"panels":[]}]},"httpPath":"/time-entries/{time_entry_id}"},{"label":"Delete Time Entry","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/time-entries/deletetimeentry","routeSlug":"/api/time-entries/deletetimeentry","metadata":{"seo":{"title":"Delete Time Entry","description":"Delete a time entry. This permanently removes the time entry from the system. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTimeEntry","name":"Delete Time Entry","isWebhook":false,"pointer":"/paths/~1time-entries~1{time_entry_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Time Entry","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a time entry. This permanently removes the time entry from the system. Requires workspace owner or executive manager permissions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important Notes:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The workspace_id must be provided in the request body"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The time entry identifier in the path must be a valid encrypted UUID"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only time entries within the authenticated user's workspace can be deleted"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the deleted time entry is paid leave time, the related approved leave request is also removed"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"time_entry_id","in":"path","schemaId":"schema_470","description":"Encrypted UUID identifier of the time entry to delete","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"}],"pointer":"/paths/~1time-entries~1{time_entry_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_473","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/requestBody/content/application~1json/example"]}},"schemaId":"schema_473","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/requestBody/content/application~1json/example"],"pointer":"/paths/~1time-entries~1{time_entry_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/time-entries/{time_entry_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"time_entry_id","in":"path","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","schemaId":"schema_470"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_473","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/time-entries/{time_entry_id}","href":"time-entries/deletetimeentry","openApiOperationId":"deleteTimeEntry","summary":"Delete Time Entry","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_473","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_473","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Time entry deleted successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_520","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/200/content/application~1json/example"]}},"schemaId":"schema_520","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad request - workspace_id missing or invalid format"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_521","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"]}},"schemaId":"schema_521","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Invalid time entry identifier","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_522","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"schema_522","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1time-entries~1{time_entry_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_520","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_520","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"schema_521","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_521","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_522","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_522","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1time-entries~1{time_entry_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/time-entries/deletetimeentry"}],"panels":[]}]},"httpPath":"/time-entries/{time_entry_id}"}],"content":{"contentType":"group","meta":{"name":"Time Entries"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Time Entries","showPageActions":true},{"nodeType":"markdoc","content":"Manage time entries - create, read, update, and delete time records"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/time-entries","summary":"Get Time Entries","prefix":{"name":"get","color":"get"},"badges":[],"link":"/time-entries/gettimeentries","deprecated":false},{"title":"/time-entries","summary":"Create Time Entry","prefix":{"name":"post","color":"post"},"badges":[],"link":"/time-entries/createtimeentry","deprecated":false},{"title":"/time-entries/{time_entry_id}","summary":"Get Single Time Entry","prefix":{"name":"get","color":"get"},"badges":[],"link":"/time-entries/gettimeentry","deprecated":false},{"title":"/time-entries/{time_entry_id}","summary":"Update Time Entry","prefix":{"name":"put","color":"put"},"badges":[],"link":"/time-entries/updatetimeentry","deprecated":false},{"title":"/time-entries/{time_entry_id}","summary":"Delete Time Entry","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/time-entries/deletetimeentry","deprecated":false}]}]}]}]}},{"type":"group","label":"Reports","link":"/api/reports","routeSlug":"/api/reports","items":[{"label":"Get Tracked Hours Report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/reports/gettrackedhoursreport","routeSlug":"/api/reports/gettrackedhoursreport","metadata":{"seo":{"title":"Get Tracked Hours Report","description":"Retrieve tracked hours report data for a workspace. Supports filtering by users, projects, teams, and titles. Data is always grouped by day. Always returns: Day-by-day breakdown grouped by date (date as key), with users array inside each date. Tracked time is returned in minutes (total_minutes field), aggregated across all tracking methods and grouped by user_id, project_id, and contract_id. If user has access to rates (rate_status = 1), also returns total_amount (the amount computed with the pay rate) as an object with currency codes as keys. Additive fields (non-breaking): each user entry also carries bill_amount (a currency-keyed amount computed with the bill rate), plus contract-level pay_rate, bill_rate and weekly_limit (sourced from the active contract; null when there is no active contract). The top-level total object additionally returns total_bill_amount. bill_amount and bill_rate require bill-rate access (bill_rate_status = 1); pay_rate requires rate access (rate_status = 1); weekly_limit is always returned. When user_id is provided: Results are filtered to that specific user only. Date range is limited to maximum 31 days (1 month) when user_id is provided. Security: Only workspace owners and executive managers can access this endpoint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTrackedHoursReport","name":"Get Tracked Hours Report","isWebhook":false,"pointer":"/paths/~1reports~1tracked-hours/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Tracked Hours Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve tracked hours report data for a workspace. Supports filtering by users, projects, teams, and titles. Data is always grouped by day. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always returns"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Day-by-day breakdown grouped by date (date as key), with users array inside each date. Tracked time is returned in minutes (total_minutes field), aggregated across all tracking methods and grouped by user_id, project_id, and contract_id. If user has access to rates (rate_status = 1), also returns total_amount (the amount computed with the pay rate) as an object with currency codes as keys. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Additive fields (non-breaking)"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": each user entry also carries bill_amount (a currency-keyed amount computed with the bill rate), plus contract-level pay_rate, bill_rate and weekly_limit (sourced from the active contract; null when there is no active contract). The top-level total object additionally returns total_bill_amount. bill_amount and bill_rate require bill-rate access (bill_rate_status = 1); pay_rate requires rate access (rate_status = 1); weekly_limit is always returned. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When user_id is provided"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Results are filtered to that specific user only. Date range is limited to maximum 31 days (1 month) when user_id is provided. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only workspace owners and executive managers can access this endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true},{"name":"user_id","in":"query","schemaId":"schema_371","description":"Filter by specific user ID. When provided, results are filtered to that user only. Date range is limited to maximum 31 days."},{"name":"start_date","in":"query","schemaId":"schema_465","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start date for the report (Y-m-d format). Defaults to start of current week if not provided. Maximum 31 days from end_date when user_id is provided."},"children":[]}]}]}]},{"name":"end_date","in":"query","schemaId":"schema_466","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End date for the report (Y-m-d format). Defaults to end of current week if not provided. Maximum 31 days from start_date when user_id is provided."},"children":[]}]}]}]},{"name":"users","in":"query","schemaId":"schema_523","description":"Filter by user IDs (comma-separated or array)"},{"name":"projects","in":"query","schemaId":"schema_524","description":"Filter by project IDs (comma-separated or array)"},{"name":"teams","in":"query","schemaId":"schema_525","description":"Filter by team IDs (comma-separated or array)"},{"name":"titles","in":"query","schemaId":"schema_526","description":"Filter by title IDs (comma-separated or array)"},{"name":"currencies","in":"query","schemaId":"schema_527","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by currency codes (comma-separated or array). Only applicable when user has access to rates (rate_status = 1)."},"children":[]}]}]}]}],"pointer":"/paths/~1reports~1tracked-hours/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/tracked-hours","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"user_id","in":"query","required":false,"example":100,"schemaId":"schema_371"},{"name":"start_date","in":"query","required":false,"example":"2024-01-01","schemaId":"schema_465"},{"name":"end_date","in":"query","required":false,"example":"2024-01-31","schemaId":"schema_466"},{"name":"users","in":"query","required":false,"example":[1,2,3],"schemaId":"schema_523","style":"form","explode":true},{"name":"projects","in":"query","required":false,"example":[10,20],"schemaId":"schema_524","style":"form","explode":true},{"name":"teams","in":"query","required":false,"example":[5],"schemaId":"schema_525","style":"form","explode":true},{"name":"titles","in":"query","required":false,"example":[1],"schemaId":"schema_526","style":"form","explode":true},{"name":"currencies","in":"query","required":false,"example":["USD","EUR"],"schemaId":"schema_527","style":"form","explode":true}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/reports/tracked-hours","href":"reports/gettrackedhoursreport","openApiOperationId":"getTrackedHoursReport","summary":"Get Tracked Hours Report","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Tracked hours report retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_528","exampleIds":["paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/with_rates","paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/without_rates"]}},"schemaId":"schema_528","exampleIds":["paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/with_rates","paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/without_rates"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reports~1tracked-hours/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_528","exampleIds":["paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/with_rates","paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/without_rates"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_528","exampleIds":["paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/with_rates","paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/without_rates"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1tracked-hours/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/gettrackedhoursreport"}],"panels":[]}]},"httpPath":"/reports/tracked-hours"},{"label":"Get Daily Timeline Report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/reports/getdailytimelinereport","routeSlug":"/api/reports/getdailytimelinereport","metadata":{"seo":{"title":"Get Daily Timeline Report","description":"Retrieve daily timeline report data for a specific date, paginated by user IDs. Returns time entries with details for each user including start/end times, project, task, activity description, tracking method, and activity metrics.\\n\\nKey Features:\\n- Single date only: This endpoint accepts only one date (not a date range). Date must be within the last year and not more than a year in the future.\\n- Pagination: Results are paginated by user_ids. Default is 30 users per page, maximum 100.\\n- Rate visibility: total_amount and currency fields are only included if the workspace has rate_status = 1 (rate visibility enabled).\\n- Activity metrics: Both user-level and time entry-level activity_level are calculated using the TimelineService::activity() method based on mouse, keyboard, and scroll actions.\\n- Timezone handling: Times are returned in ISO 8601 format with timezone offset based on the workspace owner's system_timezone.\\n- Security: Only workspace owners and executive managers can access this endpoint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDailyTimelineReport","name":"Get Daily Timeline Report","isWebhook":false,"pointer":"/paths/~1reports~1daily-timeline/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Daily Timeline Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve daily timeline report data for a specific date, paginated by user IDs. Returns time entries with details for each user including start/end times, project, task, activity description, tracking method, and activity metrics.\\n\\n"},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Single date only"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": This endpoint accepts only one date (not a date range). Date must be within the last year and not more than a year in the future.\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Results are paginated by user_ids. Default is 30 users per page, maximum 100.\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate visibility"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"currency"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields are only included if the workspace has "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rate_status = 1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (rate visibility enabled).\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activity metrics"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Both user-level and time entry-level "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"activity_level"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are calculated using the TimelineService::activity() method based on mouse, keyboard, and scroll actions.\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Timezone handling"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Times are returned in ISO 8601 format with timezone offset based on the workspace owner's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"system_timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":".\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only workspace owners and executive managers can access this endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true},{"name":"date","in":"query","schemaId":"schema_529","description":"Date for the timeline report (Y-m-d format, e.g., 2024-01-15). Only single date is supported, not a date range. Date must be within the last year and not more than a year in the future.","required":true},{"name":"user_ids","in":"query","schemaId":"schema_530","description":"Filter by specific user IDs. Can be provided as comma-separated values (e.g., \"100,101,102\") or as an array. If not provided, returns all users with timeline entries for the specified date."},{"name":"page","in":"query","schemaId":"schema_419","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page number for pagination. Results are paginated by user_ids, so each page contains up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"per_page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" users with all their time entries."},"children":[]}]}]}]},{"name":"per_page","in":"query","schemaId":"schema_531","description":"Number of users per page. Each user includes all their time entries for the date. Minimum: 1, Maximum: 100, Default: 30."}],"pointer":"/paths/~1reports~1daily-timeline/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/daily-timeline","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"date","in":"query","required":true,"example":"2024-01-15","schemaId":"schema_529"},{"name":"user_ids","in":"query","required":false,"example":[100,101,102],"schemaId":"schema_530","style":"form","explode":true},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":30,"schemaId":"schema_531"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/reports/daily-timeline","href":"reports/getdailytimelinereport","openApiOperationId":"getDailyTimelineReport","summary":"Get Daily Timeline Report","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Daily timeline report retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_532","exampleIds":["paths/~1reports~1daily-timeline/get/responses/200/content/application~1json/examples/example_response"]}},"schemaId":"schema_532","exampleIds":["paths/~1reports~1daily-timeline/get/responses/200/content/application~1json/examples/example_response"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reports~1daily-timeline/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_532","exampleIds":["paths/~1reports~1daily-timeline/get/responses/200/content/application~1json/examples/example_response"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_532","exampleIds":["paths/~1reports~1daily-timeline/get/responses/200/content/application~1json/examples/example_response"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-timeline/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/getdailytimelinereport"}],"panels":[]}]},"httpPath":"/reports/daily-timeline"},{"label":"Get Daily Activity Report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/reports/getdailyactivityreport","routeSlug":"/api/reports/getdailyactivityreport","metadata":{"seo":{"title":"Get Daily Activity Report","description":"Retrieve the minute-level daily-activity breakdown for a single member on a single day. Returns the tracked-time segments of the day, each broken down into rows covering the active app/website, mouse/keyboard/scroll counts, per-row activity level, project/task and description, and (on Plus/Premium plans) the active window title and URL. The day's total_times (tracked/manual/leave/idle/break/holiday minutes) and overall activity_level are included alongside the segments.\\n\\nKey Features:\\n- Single member, single date: both user_id and date are required; the report always covers exactly one calendar day.\\n- Grouping: group_by controls row aggregation — time (default; merges identical rows across the whole day), interval (merges within each segment), or minute (raw per-minute rows).\\n- Columns: columns is a JSON object of group-by flags (project, task_title, description, app, url, trackType, active_window_title, category).\\n- Pagination (opt-in): intended for the large minute view. When page/per_page are supplied, data becomes a flat array of rows plus a pagination object; without them the full segmented result is returned.\\n- Data source: this report is served by the WebWork realtime tracking service; this endpoint proxies it.\\n- Security: only workspace owners and executive managers can access this endpoint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDailyActivityReport","name":"Get Daily Activity Report","isWebhook":false,"pointer":"/paths/~1reports~1daily-activity/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Daily Activity Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the minute-level daily-activity breakdown for a single member on a single day. Returns the tracked-time segments of the day, each broken down into rows covering the active app/website, mouse/keyboard/scroll counts, per-row activity level, project/task and description, and (on Plus/Premium plans) the active window title and URL. The day's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_times"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (tracked/manual/leave/idle/break/holiday minutes) and overall "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"activity_level"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are included alongside the segments.\\n\\n"},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Single member, single date"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are required; the report always covers exactly one calendar day.\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Grouping"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group_by"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" controls row aggregation — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (default; merges identical rows across the whole day), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interval"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (merges within each segment), or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"minute"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (raw per-minute rows).\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Columns"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"columns"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a JSON object of group-by flags ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"task_title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"app"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"url"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"trackType"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active_window_title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":").\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination (opt-in)"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": intended for the large "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"minute"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" view. When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"per_page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are supplied, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" becomes a flat array of rows plus a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pagination"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object; without them the full segmented result is returned.\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Data source"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": this report is served by the WebWork realtime tracking service; this endpoint proxies it.\\n- "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": only workspace owners and executive managers can access this endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true},{"name":"user_id","in":"query","schemaId":"schema_533","description":"ID of the member whose daily activity to return. Must be a member of the workspace.","required":true},{"name":"date","in":"query","schemaId":"schema_529","description":"Calendar day to report on (Y-m-d format, e.g., 2024-01-15). Only a single date is supported, not a date range.","required":true},{"name":"contract_id","in":"query","schemaId":"schema_534","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scope the report to a single project. Pass a contract id (project-member assignment) — it is resolved to that contract's project and all of the member's rows on that project are included. Must be one of this member's contracts; an unknown contract id returns 404. The literal value \"no_project\" selects rows that have no project."},"children":[]}]}]}]},{"name":"timezone","in":"query","schemaId":"schema_535","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Timezone for the returned times, formatted as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<offset>:<Area/City>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"+04:00:Asia/Yerevan"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"); the zone name after the colon is used. Defaults to UTC when omitted."},"children":[]}]}]}]},{"name":"columns","in":"query","schemaId":"schema_536","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Dimensions to break the day down by. Accepts a comma-separated list (\"project,app\"), a JSON array ([\"project\",\"app\"]), or a JSON object of flags ({\"project\":true,\"app\":true}). Rows are grouped by these dimensions and each row is projected to the selected columns plus the activity metrics (mouse_actions, keyboard_actions, scroll_actions, activity_level, total_minutes). Omit to return every field ungrouped. Grouping applies when group_by is \"time\" or \"interval\". Allowed values: project, task, description, app, url, track_type, active_window_title, category."},"children":[]}]}]}]},{"name":"group_by","in":"query","schemaId":"schema_537","description":"Row aggregation mode."},{"name":"page","in":"query","schemaId":"schema_419","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1-based page number. Opt-in pagination, intended for the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"minute"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" view; ignored unless pagination is requested."},"children":[]}]}]}]},{"name":"per_page","in":"query","schemaId":"schema_538","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rows per page (maps to the realtime service "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pageSize"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Minimum: 1, Maximum: 500, Default: 60."},"children":[]}]}]}]}],"pointer":"/paths/~1reports~1daily-activity/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/daily-activity","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"user_id","in":"query","required":true,"example":100,"schemaId":"schema_533"},{"name":"date","in":"query","required":true,"example":"2024-01-15","schemaId":"schema_529"},{"name":"contract_id","in":"query","required":false,"example":"20","schemaId":"schema_534"},{"name":"timezone","in":"query","required":false,"example":"+04:00:Asia/Yerevan","schemaId":"schema_535"},{"name":"columns","in":"query","required":false,"example":"project,app","schemaId":"schema_536"},{"name":"group_by","in":"query","required":false,"example":"time","schemaId":"schema_537"},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":60,"schemaId":"schema_538"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500","502"],"pointer":"/reports/daily-activity","href":"reports/getdailyactivityreport","openApiOperationId":"getDailyActivityReport","summary":"Get Daily Activity Report","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Daily activity report retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_539","exampleIds":["paths/~1reports~1daily-activity/get/responses/200/content/application~1json/examples/example_response"]}},"schemaId":"schema_539","exampleIds":["paths/~1reports~1daily-activity/get/responses/200/content/application~1json/examples/example_response"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/member_not_found","paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/member_not_found","paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/500/content/application~1json/example"]},{"code":"502","description":"The upstream realtime tracking service could not be reached or returned an error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_540"}},"schemaId":"schema_540"}],"pointer":"/paths/~1reports~1daily-activity/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_539","exampleIds":["paths/~1reports~1daily-activity/get/responses/200/content/application~1json/examples/example_response"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_539","exampleIds":["paths/~1reports~1daily-activity/get/responses/200/content/application~1json/examples/example_response"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/member_not_found","paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/member_not_found","paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-activity/get/responses/500/content/application~1json/example"]}}},{"code":"502","schemaId":"schema_540","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_540"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/getdailyactivityreport"}],"panels":[]}]},"httpPath":"/reports/daily-activity"},{"label":"Get Activity Level Report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/reports/getactivitylevelreport","routeSlug":"/api/reports/getactivitylevelreport","metadata":{"seo":{"title":"Get Activity Level Report","description":"Retrieve activity level report data for a date range, paginated by day. Returns activity level percentage per user per day, with overall statistics across all users and days."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getActivityLevelReport","name":"Get Activity Level Report","isWebhook":false,"pointer":"/paths/~1reports~1activity-level/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Activity Level Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve activity level report data for a date range, paginated by day. Returns activity level percentage per user per day, with overall statistics across all users and days."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Accepts start_date and end_date parameters (YYYY-MM-DD format). Maximum date range is 1 month (31 days)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Results are paginated by day. Default is 30 days per page, maximum 100."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Can filter by contract_id and user_ids."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activity metrics"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Activity level is calculated based on mouse, keyboard, and scroll actions."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Overall statistics"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Includes aggregated activity data across all users and days in the report range."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only workspace owners and executive managers can access this endpoint."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace","required":true},{"name":"start_date","in":"query","schemaId":"schema_465","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start date of the report range. Format: YYYY-MM-DD (e.g., 2024-01-01). Must be before or equal to end_date."},"children":[]}]}]}],"required":true},{"name":"end_date","in":"query","schemaId":"schema_466","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End date of the report range. Format: YYYY-MM-DD (e.g., 2024-01-31). Must be after or equal to start_date. Maximum date range is 1 month (31 days)."},"children":[]}]}]}],"required":true},{"name":"contract_id","in":"query","schemaId":"schema_541","description":"Optional filter by contract ID (project-member assignment). If provided, only returns activity data for the specified contract."},{"name":"user_ids","in":"query","schemaId":"schema_530","description":"Optional filter by specific user IDs. Can be provided as comma-separated values (e.g., 100,101,102) or as an array. If not provided, returns all users."},{"name":"page","in":"query","schemaId":"schema_419","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page number for pagination. Results are paginated by user, so each page contains up to per_page users with all their daily activity data."},"children":[]}]}]}]},{"name":"per_page","in":"query","schemaId":"schema_531","description":"Number of users per page. Each user includes all their daily activity data for the date range. Minimum: 1, Maximum: 100, Default: 30."}],"pointer":"/paths/~1reports~1activity-level/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/activity-level","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"start_date","in":"query","required":true,"example":"2024-01-01","schemaId":"schema_465"},{"name":"end_date","in":"query","required":true,"example":"2024-01-31","schemaId":"schema_466"},{"name":"contract_id","in":"query","required":false,"example":20,"schemaId":"schema_541"},{"name":"user_ids","in":"query","required":false,"example":[100,101,102],"schemaId":"schema_530","style":"form","explode":true},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":30,"schemaId":"schema_531"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/reports/activity-level","href":"reports/getactivitylevelreport","openApiOperationId":"getActivityLevelReport","summary":"Get Activity Level Report","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Activity level report retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_542","exampleIds":["paths/~1reports~1activity-level/get/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_542","exampleIds":["paths/~1reports~1activity-level/get/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reports~1activity-level/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_542","exampleIds":["paths/~1reports~1activity-level/get/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_542","exampleIds":["paths/~1reports~1activity-level/get/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-level/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/getactivitylevelreport"}],"panels":[]}]},"httpPath":"/reports/activity-level"},{"label":"Get Task Report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/reports/gettaskreport","routeSlug":"/api/reports/gettaskreport","metadata":{"seo":{"title":"Get Task Report","description":"Retrieve task-based time tracking report data for a date range, paginated by user. Returns time tracked per task for each user, with daily breakdown and overall task breakdown."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTaskReport","name":"Get Task Report","isWebhook":false,"pointer":"/paths/~1reports~1task-report/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Task Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve task-based time tracking report data for a date range, paginated by user. Returns time tracked per task for each user, with daily breakdown and overall task breakdown."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Accepts start_date and end_date parameters (YYYY-MM-DD format). Maximum date range is 1 month (31 days)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Results are paginated by user. Default is 30 users per page, maximum 100."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Can filter by users, project_id, and task_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No Task entries"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Entries without a task (task_id is null) are included by default. Use include_no_task=false to exclude them."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tasks breakdown"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Each user has an overall tasks_breakdown showing total time per task across the date range."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Daily breakdown"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Each user has a daily_breakdown showing time per task for each day."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only workspace owners and executive managers can access this endpoint."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace","required":true},{"name":"start_date","in":"query","schemaId":"schema_465","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start date of the report range. Format: YYYY-MM-DD (e.g., 2024-01-01). Must be before or equal to end_date."},"children":[]}]}]}],"required":true},{"name":"end_date","in":"query","schemaId":"schema_466","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End date of the report range. Format: YYYY-MM-DD (e.g., 2024-01-31). Must be after or equal to start_date. Maximum date range is 1 month (31 days)."},"children":[]}]}]}],"required":true},{"name":"users","in":"query","schemaId":"schema_530","description":"Optional filter by specific user IDs. Can be provided as comma-separated values (e.g., 100,101,102) or as an array. If not provided, returns all users."},{"name":"project_id","in":"query","schemaId":"schema_543","description":"Optional filter by specific project IDs. Can be provided as comma-separated values or as an array. If not provided, returns data for all projects."},{"name":"task_id","in":"query","schemaId":"schema_544","description":"Optional filter by specific task IDs. Can be provided as comma-separated values or as an array. If not provided, returns data for all tasks."},{"name":"include_no_task","in":"query","schemaId":"schema_545","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether to include time entries without a task (task_id is null). Default is true. Set to false to exclude entries without a task."},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_419","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page number for pagination. Results are paginated by user, so each page contains up to per_page users with all their task data."},"children":[]}]}]}]},{"name":"per_page","in":"query","schemaId":"schema_531","description":"Number of users per page. Each user includes all their task data for the date range. Minimum: 1, Maximum: 100, Default: 30."}],"pointer":"/paths/~1reports~1task-report/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/task-report","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"start_date","in":"query","required":true,"example":"2024-01-01","schemaId":"schema_465"},{"name":"end_date","in":"query","required":true,"example":"2024-01-31","schemaId":"schema_466"},{"name":"users","in":"query","required":false,"example":[100,101,102],"schemaId":"schema_530","style":"form","explode":true},{"name":"project_id","in":"query","required":false,"example":[10,11,12],"schemaId":"schema_543","style":"form","explode":true},{"name":"task_id","in":"query","required":false,"example":[5,6,7],"schemaId":"schema_544","style":"form","explode":true},{"name":"include_no_task","in":"query","required":false,"example":true,"schemaId":"schema_545"},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":30,"schemaId":"schema_531"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/reports/task-report","href":"reports/gettaskreport","openApiOperationId":"getTaskReport","summary":"Get Task Report","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Task report retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_546","exampleIds":["paths/~1reports~1task-report/get/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_546","exampleIds":["paths/~1reports~1task-report/get/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reports~1task-report/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_546","exampleIds":["paths/~1reports~1task-report/get/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_546","exampleIds":["paths/~1reports~1task-report/get/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1task-report/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/gettaskreport"}],"panels":[]}]},"httpPath":"/reports/task-report"},{"label":"Get Daily Attendance Report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/reports/getdailyattendancereport","routeSlug":"/api/reports/getdailyattendancereport","metadata":{"seo":{"title":"Get Daily Attendance Report","description":"Retrieve daily attendance report data for a specific date, paginated by user. Returns attendance information including statuses, times, breaks, and productivity metrics for each user."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDailyAttendanceReport","name":"Get Daily Attendance Report","isWebhook":false,"pointer":"/paths/~1reports~1daily-attendance/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Daily Attendance Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve daily attendance report data for a specific date, paginated by user. Returns attendance information including statuses, times, breaks, and productivity metrics for each user."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Single date only"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": This endpoint accepts only one date (not a date range). Date must be in YYYY-MM-DD format."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Results are paginated by user. Default is 30 users per page, maximum 100."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Statuses array"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Each user can have multiple statuses (e.g., [\"Late\", \"Left early\"]). Possible statuses: \"All good\", \"Late\", \"Left early\", \"Tracked less\", \"Absent\", \"On leave\", \"Holiday\"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Time values in minutes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": All time-related fields are returned as integers representing total minutes (e.g., 303 instead of \"5h 3m\")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Can filter by users and status. Status filter accepts string values: \"late\", \"left_early\", \"tracked_less\", \"absent\", \"on_leave\"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Break intervals"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Returns break time intervals as an array of strings (e.g., [\"14:30 - 15:25\", \"16:00 - 16:15\"])."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only workspace owners and executive managers can access this endpoint."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record","required":true},{"name":"date","in":"query","schemaId":"schema_547","description":"Date for the attendance report (Y-m-d format, e.g., 2024-12-22). Only single date is supported, not a date range.","required":true},{"name":"users","in":"query","schemaId":"schema_530","description":"Optional filter by specific user IDs. Can be provided as comma-separated values (e.g., \"100,101,102\") or as an array. If not provided, returns all users."},{"name":"status","in":"query","schemaId":"schema_548","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional filter by attendance status. Can be provided as comma-separated values or as an array. Valid string values: \"late\" (Late coming), \"left_early\" (Early leaving), \"tracked_less\" (Tracked less than required), \"absent\" (Absent), \"on_leave\" (On leave). You can filter by multiple statuses (e.g., status=late,left_early)."},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_419","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page number for pagination. Results are paginated by user, so each page contains up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"per_page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" users with their attendance data."},"children":[]}]}]}]},{"name":"per_page","in":"query","schemaId":"schema_531","description":"Number of users per page. Each user includes all their attendance data for the date. Minimum: 1, Maximum: 100, Default: 30."}],"pointer":"/paths/~1reports~1daily-attendance/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/daily-attendance","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"date","in":"query","required":true,"example":"2024-12-22","schemaId":"schema_547"},{"name":"users","in":"query","required":false,"example":[100,101,102],"schemaId":"schema_530","style":"form","explode":true},{"name":"status","in":"query","required":false,"example":["late","left_early"],"schemaId":"schema_548","style":"form","explode":true},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":30,"schemaId":"schema_531"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/reports/daily-attendance","href":"reports/getdailyattendancereport","openApiOperationId":"getDailyAttendanceReport","summary":"Get Daily Attendance Report","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Daily attendance report retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_549","exampleIds":["paths/~1reports~1daily-attendance/get/responses/200/content/application~1json/examples/example_response"]}},"schemaId":"schema_549","exampleIds":["paths/~1reports~1daily-attendance/get/responses/200/content/application~1json/examples/example_response"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reports~1daily-attendance/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_549","exampleIds":["paths/~1reports~1daily-attendance/get/responses/200/content/application~1json/examples/example_response"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_549","exampleIds":["paths/~1reports~1daily-attendance/get/responses/200/content/application~1json/examples/example_response"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1daily-attendance/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/getdailyattendancereport"}],"panels":[]}]},"httpPath":"/reports/daily-attendance"},{"label":"Get Activity Description Report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/reports/getactivitydescriptionreport","routeSlug":"/api/reports/getactivitydescriptionreport","metadata":{"seo":{"title":"Get Activity Description Report","description":"Retrieve activity description-based time tracking report data for a date range, paginated by user. Returns time tracked per activity description (memo) for each user, with daily breakdown and overall breakdown."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getActivityDescriptionReport","name":"Get Activity Description Report","isWebhook":false,"pointer":"/paths/~1reports~1activity-description/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Activity Description Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve activity description-based time tracking report data for a date range, paginated by user. Returns time tracked per activity description (memo) for each user, with daily breakdown and overall breakdown."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Accepts start_date and end_date parameters (YYYY-MM-DD format). Maximum date range is 1 month (31 days)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Results are paginated by user. Default is 30 users per page, maximum 100."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Can filter by users, project_id, and task_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No Description entries"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Entries without an activity description (memo is null) are included by default. Use include_no_description=false to exclude them."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activities breakdown"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Each user has an overall activities_breakdown showing total time per activity description across the date range."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Daily breakdown"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Each user has a daily_breakdown showing time per activity description for each day."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only workspace owners and executive managers can access this endpoint."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace","required":true},{"name":"start_date","in":"query","schemaId":"schema_465","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start date of the report range. Format: YYYY-MM-DD (e.g., 2024-01-01). Must be before or equal to end_date."},"children":[]}]}]}],"required":true},{"name":"end_date","in":"query","schemaId":"schema_466","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End date of the report range. Format: YYYY-MM-DD (e.g., 2024-01-31). Must be after or equal to start_date. Maximum date range is 1 month (31 days)."},"children":[]}]}]}],"required":true},{"name":"users","in":"query","schemaId":"schema_530","description":"Optional filter by specific user IDs. Can be provided as comma-separated values (e.g., 100,101,102) or as an array. If not provided, returns all users."},{"name":"project_id","in":"query","schemaId":"schema_543","description":"Optional filter by specific project IDs. Can be provided as comma-separated values or as an array. If not provided, returns data for all projects."},{"name":"task_id","in":"query","schemaId":"schema_544","description":"Optional filter by specific task IDs. Can be provided as comma-separated values or as an array. If not provided, returns data for all tasks."},{"name":"include_no_description","in":"query","schemaId":"schema_545","description":"Whether to include time entries without an activity description (memo is null). Default is true. Set to false to exclude entries without a description."},{"name":"page","in":"query","schemaId":"schema_419","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page number for pagination. Results are paginated by user, so each page contains up to per_page users with all their activity data."},"children":[]}]}]}]},{"name":"per_page","in":"query","schemaId":"schema_531","description":"Number of users per page. Each user includes all their activity description data for the date range. Minimum: 1, Maximum: 100, Default: 30."}],"pointer":"/paths/~1reports~1activity-description/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/activity-description","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"start_date","in":"query","required":true,"example":"2024-01-01","schemaId":"schema_465"},{"name":"end_date","in":"query","required":true,"example":"2024-01-31","schemaId":"schema_466"},{"name":"users","in":"query","required":false,"example":[100,101,102],"schemaId":"schema_530","style":"form","explode":true},{"name":"project_id","in":"query","required":false,"example":[10,11,12],"schemaId":"schema_543","style":"form","explode":true},{"name":"task_id","in":"query","required":false,"example":[5,6,7],"schemaId":"schema_544","style":"form","explode":true},{"name":"include_no_description","in":"query","required":false,"example":true,"schemaId":"schema_545"},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":30,"schemaId":"schema_531"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/reports/activity-description","href":"reports/getactivitydescriptionreport","openApiOperationId":"getActivityDescriptionReport","summary":"Get Activity Description Report","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Activity description report retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_550","exampleIds":["paths/~1reports~1activity-description/get/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_550","exampleIds":["paths/~1reports~1activity-description/get/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reports~1activity-description/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_550","exampleIds":["paths/~1reports~1activity-description/get/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_550","exampleIds":["paths/~1reports~1activity-description/get/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1activity-description/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/getactivitydescriptionreport"}],"panels":[]}]},"httpPath":"/reports/activity-description"},{"label":"Get Apps & Websites Overview Report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/reports/getappswebsitesoverviewreport","routeSlug":"/api/reports/getappswebsitesoverviewreport","metadata":{"seo":{"title":"Get Apps & Websites Overview Report","description":"Retrieve the Apps & Websites usage \"Overview\" report for a workspace. Each row represents app/website usage aggregated per member/project (and other visible dimensions), matching the dashboard's Apps & Websites Overview tab."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAppsWebsitesOverviewReport","name":"Get Apps & Websites Overview Report","isWebhook":false,"pointer":"/paths/~1reports~1apps-websites/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Apps & Websites Overview Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the Apps & Websites usage \"Overview\" report for a workspace. Each row represents app/website usage aggregated per member/project (and other visible dimensions), matching the dashboard's Apps & Websites Overview tab."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Optional start_date and end_date (YYYY-MM-DD). If omitted, defaults to the current week. Maximum date range is 1 month (31 days)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Rows are paginated via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"per_page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Default is 30 per page, maximum 100."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Filter by users, projects, teams, titles, and productivity. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"apps_websites_only"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (default true) restricts to desktop-tracker software usage; pass false to include all trackers."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only workspace owners and executive managers can access this endpoint."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace","required":true},{"name":"start_date","in":"query","schemaId":"schema_465","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start date of the report range. Format: YYYY-MM-DD (e.g., 2024-01-01). Optional; defaults to the start of the current week when omitted. Must be before or equal to end_date."},"children":[]}]}]}]},{"name":"end_date","in":"query","schemaId":"schema_466","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End date of the report range. Format: YYYY-MM-DD (e.g., 2024-01-31). Optional; defaults to the end of the current week when omitted. Must be after or equal to start_date. Maximum date range is 1 month (31 days)."},"children":[]}]}]}]},{"name":"users","in":"query","schemaId":"schema_551","description":"Optional filter by member (user) IDs. Comma-separated or array."},{"name":"projects","in":"query","schemaId":"schema_552","description":"Optional filter by project IDs. Comma-separated or array."},{"name":"teams","in":"query","schemaId":"schema_553","description":"Optional filter by team (department) IDs. Comma-separated or array."},{"name":"titles","in":"query","schemaId":"schema_554","description":"Optional filter by title (designation) IDs. Comma-separated or array."},{"name":"productivity","in":"query","schemaId":"schema_555","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional filter by productivity classification. Accepts only the names "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"productive"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"neutral"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"non-productive"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unset"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (case-insensitive); any other value returns 400. Comma-separated or array. The backend maps them to the internal usefulness values before querying."},"children":[]}]}]}]},{"name":"apps_websites_only","in":"query","schemaId":"schema_545","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When true (default), restricts results to desktop-tracker software (apps & websites) usage. Pass false to include all trackers, including manually-added time."},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_419","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page number for pagination. Results are paginated by row, so each page contains up to per_page usage rows."},"children":[]}]}]}]},{"name":"per_page","in":"query","schemaId":"schema_531","description":"Number of rows per page. Minimum: 1, Maximum: 100, Default: 30."}],"pointer":"/paths/~1reports~1apps-websites/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/apps-websites","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"start_date","in":"query","required":false,"example":"2024-01-01","schemaId":"schema_465"},{"name":"end_date","in":"query","required":false,"example":"2024-01-31","schemaId":"schema_466"},{"name":"users","in":"query","required":false,"example":[100,101],"schemaId":"schema_551","style":"form","explode":true},{"name":"projects","in":"query","required":false,"example":[10,11],"schemaId":"schema_552","style":"form","explode":true},{"name":"teams","in":"query","required":false,"example":[3],"schemaId":"schema_553","style":"form","explode":true},{"name":"titles","in":"query","required":false,"example":[7],"schemaId":"schema_554","style":"form","explode":true},{"name":"productivity","in":"query","required":false,"example":["productive","neutral"],"schemaId":"schema_555","style":"form","explode":true},{"name":"apps_websites_only","in":"query","required":false,"example":true,"schemaId":"schema_545"},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":30,"schemaId":"schema_531"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/reports/apps-websites","href":"reports/getappswebsitesoverviewreport","openApiOperationId":"getAppsWebsitesOverviewReport","summary":"Get Apps & Websites Overview Report","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Apps & websites overview report retrieved successfully"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_556","exampleIds":["paths/~1reports~1apps-websites/get/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_556","exampleIds":["paths/~1reports~1apps-websites/get/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reports~1apps-websites/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_556","exampleIds":["paths/~1reports~1apps-websites/get/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_556","exampleIds":["paths/~1reports~1apps-websites/get/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1apps-websites/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/getappswebsitesoverviewreport"}],"panels":[]}]},"httpPath":"/reports/apps-websites"},{"label":"Get Real Time Report (live snapshot)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/reports/getrealtimereport","routeSlug":"/api/reports/getrealtimereport","metadata":{"seo":{"title":"Get Real Time Report (live snapshot)","description":"Retrieve a LIVE snapshot of every workspace member — exactly what the Analyze → Real Time page shows. One row per member INCLUDING offline, absent and on-leave members, covering ALL trackers (desktop, web browser, extension, mobile, kiosk), since the realtime presence store is shared by all of them."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getRealTimeReport","name":"Get Real Time Report (live snapshot)","isWebhook":false,"pointer":"/paths/~1reports~1real-time/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Real Time Report (live snapshot)","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a LIVE snapshot of every workspace member — exactly what the Analyze → Real Time page shows. One row per member INCLUDING offline, absent and on-leave members, covering ALL trackers (desktop, web browser, extension, mobile, kiosk), since the realtime presence store is shared by all of them."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unlike every other Reports endpoint, this one takes NO date range"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — it is a live snapshot, not a period report. Calling it twice returns two different snapshots; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.snapshot_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" carries the moment the snapshot was taken."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each row contains:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" member (id, name, email), work_location ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"office"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"remote"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only for online members of workspaces with IP tracking enabled — otherwise null), project, task, activity_description, tracker_type ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"desktop"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"web"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"extension"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mobile"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kiosk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), apps_websites (desktop tracker only: the app/website name plus the raw active window title), status ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"online"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"recently"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offline"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"absent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"on_leave"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), on_break, on_leave (+ leave_info), os, role, team_ids, title_ids and last_seen."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not available:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" session start time and current session duration — they exist neither in the presence store nor on the Real Time page. To track session boundaries, subscribe to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tracker.started"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tracker.stopped"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" webhooks, which fire for all trackers (including desktop) and carry user_id, project_id, task_id, activity_description and an ISO timestamp."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"HIPAA:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the workspace has HIPAA restrictions enabled, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"apps_websites.active_window_title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is omitted from every row; the app/website NAME is still returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Only workspace owners and executive managers can access this endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace","required":true},{"name":"member_id","in":"query","schemaId":"schema_371","description":"Optional filter by member (user) ID."},{"name":"project_id","in":"query","schemaId":"schema_557","description":"Optional filter by the project the member is currently tracking on."},{"name":"task_id","in":"query","schemaId":"schema_558","description":"Optional filter by the task the member is currently tracking on."},{"name":"tracker_type","in":"query","schemaId":"schema_559","description":"Optional filter by the tracker the member is using right now."},{"name":"status","in":"query","schemaId":"schema_560","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional filter by live status. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"recently"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the member stopped tracking within the last ~20 minutes."},"children":[]}]}]}]},{"name":"work_location","in":"query","schemaId":"schema_561","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional filter by derived work location. Only meaningful for workspaces with office IP tracking enabled — members whose location cannot be derived (not online, or IP tracking disabled) have a null work_location and match neither value."},"children":[]}]}]}]},{"name":"os","in":"query","schemaId":"schema_562","description":"Optional filter by the operating system reported by the member's tracker (case-insensitive exact match)."},{"name":"on_break","in":"query","schemaId":"schema_563","description":"Optional filter: true returns only members currently on a break, false only members not on a break."},{"name":"on_leave","in":"query","schemaId":"schema_563","description":"Optional filter: true returns only members currently on an approved leave, false only members not on leave."},{"name":"search","in":"query","schemaId":"schema_564","description":"Optional case-insensitive substring search over member name and email."},{"name":"team","in":"query","schemaId":"schema_565","description":"Optional filter by team (department) ID."},{"name":"title","in":"query","schemaId":"schema_566","description":"Optional filter by title (designation) ID."},{"name":"role","in":"query","schemaId":"schema_367","description":"Optional filter by workspace role."},{"name":"sort_by","in":"query","schemaId":"schema_567","description":"Optional sort column."},{"name":"order_by","in":"query","schemaId":"schema_568","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort direction for sort_by. Default: asc."},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_419","description":"Page number for pagination."},{"name":"per_page","in":"query","schemaId":"schema_420","description":"Number of rows per page. Minimum: 1, Maximum: 100, Default: 20."}],"pointer":"/paths/~1reports~1real-time/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/real-time","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"member_id","in":"query","required":false,"example":100,"schemaId":"schema_371"},{"name":"project_id","in":"query","required":false,"example":10,"schemaId":"schema_557"},{"name":"task_id","in":"query","required":false,"example":555,"schemaId":"schema_558"},{"name":"tracker_type","in":"query","required":false,"example":"desktop","schemaId":"schema_559"},{"name":"status","in":"query","required":false,"example":"online","schemaId":"schema_560"},{"name":"work_location","in":"query","required":false,"example":"office","schemaId":"schema_561"},{"name":"os","in":"query","required":false,"example":"windows","schemaId":"schema_562"},{"name":"on_break","in":"query","required":false,"example":true,"schemaId":"schema_563"},{"name":"on_leave","in":"query","required":false,"example":true,"schemaId":"schema_563"},{"name":"search","in":"query","required":false,"example":"john","schemaId":"schema_564"},{"name":"team","in":"query","required":false,"example":3,"schemaId":"schema_565"},{"name":"title","in":"query","required":false,"example":7,"schemaId":"schema_566"},{"name":"role","in":"query","required":false,"example":"Regular User","schemaId":"schema_367"},{"name":"sort_by","in":"query","required":false,"example":"member","schemaId":"schema_567"},{"name":"order_by","in":"query","required":false,"example":"asc","schemaId":"schema_568"},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":20,"schemaId":"schema_420"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500","503"],"pointer":"/reports/real-time","href":"reports/getrealtimereport","openApiOperationId":"getRealTimeReport","summary":"Get Real Time Report (live snapshot)","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Real time report retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_569","exampleIds":["paths/~1reports~1real-time/get/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_569","exampleIds":["paths/~1reports~1real-time/get/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/500/content/application~1json/example"]},{"code":"503","description":"The realtime service is temporarily unavailable"}],"pointer":"/paths/~1reports~1real-time/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_569","exampleIds":["paths/~1reports~1real-time/get/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_569","exampleIds":["paths/~1reports~1real-time/get/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1real-time/get/responses/500/content/application~1json/example"]}}},{"code":"503"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/getrealtimereport"}],"panels":[]}]},"httpPath":"/reports/real-time"},{"label":"Get GPS Tracking Report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/reports/getgpstrackingreport","routeSlug":"/api/reports/getgpstrackingreport","metadata":{"seo":{"title":"Get GPS Tracking Report","description":"Retrieve the raw GPS points members recorded while tracking time — the data behind Analyze → Geolocation → Data. One row per stored point: the member, the coordinates, when it was recorded, the project/task being tracked at the time, and which job site (geofence) contains the point. No sort parameter — rows come back newest point first."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getGpsTrackingReport","name":"Get GPS Tracking Report","isWebhook":false,"pointer":"/paths/~1reports~1gps-tracking/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get GPS Tracking Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the raw GPS points members recorded while tracking time — the data behind Analyze → Geolocation → Data. One row per stored point: the member, the coordinates, when it was recorded, the project/task being tracked at the time, and which job site (geofence) contains the point. No sort parameter — rows come back newest point first."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Dates"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": optional start_date/end_date (YYYY-MM-DD), defaulting to the current week; the two dates may differ by at most 31 days, the same rule the other period reports apply."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filters"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": member_id, project_id, team and title are integers; job_site_id is the opaque encoded id from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /job-sites"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (422 on an invalid one, 404 on a deleted site). A foreign or unknown project_id, team or title answers 404, and so does a member_id that is not an ACTIVE non-client member of the workspace. project and task are often null — the mobile ingest path stores neither."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Timestamps are workspace-local with an offset, never "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Z"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tracked_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is formatted as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"2026-06-10T09:00:00+04:00"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" names the zone; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (Y-m-d) and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (always 24-hour H:i — the dashboard's Time column pinned to its default form, seconds live in tracked_at) carry the same workspace-local wall clock. Coordinates are decimal STRINGS, passed through exactly as stored (the same value the dashboard's row data carries) — never a float round-trip — or null when the stored value is not numeric; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"google_maps_url"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is null then too."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Feature gated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": 404 when Mobile GPS Tracking is OFF (Settings → Features); the setting is cached for up to 60 seconds. No pricing-plan restriction. When job_site_id is used, up to 50,000 points are scanned and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_rows"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" counts only those. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate limit"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": 60 requests/minute on this route; exceeding it returns 429."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only workspace owners and executive managers can access this endpoint; an executive manager carrying the workspace's Productivity & Monitoring restriction gets 403."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace","required":true},{"name":"start_date","in":"query","schemaId":"schema_570","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the period (Y-m-d). Supply BOTH start_date and end_date, or neither: if either is missing the report falls back to the current week and the supplied one is IGNORED (this matches the other period reports). Defaults to the start of the current week."},"children":[]}]}]}]},{"name":"end_date","in":"query","schemaId":"schema_571","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the period (Y-m-d). The range may not exceed 31 days (a 31-day difference, so 32 calendar days inclusive). Ignored unless start_date is supplied as well - see start_date."},"children":[]}]}]}]},{"name":"member_id","in":"query","schemaId":"schema_371","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only points recorded by this member (user id). Returns 404 unless the id names an active, non-client member of the workspace — a client, a pending invitation and an id from another workspace are all 404."},"children":[]}]}]}]},{"name":"project_id","in":"query","schemaId":"schema_557","description":"Only points recorded while tracking this project. Excludes mobile-captured points, which store no project."},{"name":"job_site_id","in":"query","schemaId":"schema_383","description":"Only points inside this job site (opaque encoded id from GET /job-sites). Switches the report to the 50,000-point scan branch."},{"name":"team","in":"query","schemaId":"schema_565","description":"Only members of this team (department)."},{"name":"title","in":"query","schemaId":"schema_566","description":"Only members holding this title (designation)."},{"name":"page","in":"query","schemaId":"schema_419","description":"Page number (default 1)."},{"name":"per_page","in":"query","schemaId":"schema_420","description":"Rows per page, 1-100 (default 20)."}],"pointer":"/paths/~1reports~1gps-tracking/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/gps-tracking","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"start_date","in":"query","required":false,"example":"2026-06-10","schemaId":"schema_570"},{"name":"end_date","in":"query","required":false,"example":"2026-06-11","schemaId":"schema_571"},{"name":"member_id","in":"query","required":false,"example":100,"schemaId":"schema_371"},{"name":"project_id","in":"query","required":false,"example":10,"schemaId":"schema_557"},{"name":"job_site_id","in":"query","required":false,"example":"encoded_id_string","schemaId":"schema_383"},{"name":"team","in":"query","required":false,"example":3,"schemaId":"schema_565"},{"name":"title","in":"query","required":false,"example":7,"schemaId":"schema_566"},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_419"},{"name":"per_page","in":"query","required":false,"example":20,"schemaId":"schema_420"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/reports/gps-tracking","href":"reports/getgpstrackingreport","openApiOperationId":"getGpsTrackingReport","summary":"Get GPS Tracking Report","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"GPS points retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_572","exampleIds":["paths/~1reports~1gps-tracking/get/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_572","exampleIds":["paths/~1reports~1gps-tracking/get/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/member_not_found","paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/member_not_found","paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reports~1gps-tracking/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_572","exampleIds":["paths/~1reports~1gps-tracking/get/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_572","exampleIds":["paths/~1reports~1gps-tracking/get/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/member_not_found","paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/member_not_found","paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1reports~1gps-tracking/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/getgpstrackingreport"}],"panels":[]}]},"httpPath":"/reports/gps-tracking"}],"content":{"contentType":"group","meta":{"name":"Reports"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Reports","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generate and retrieve various reports including tracked hours, timeline, activity descriptions, tasks, and activity level reports — plus the live Real Time report, a no-date-range snapshot of what every member is doing right now (the Analyze → Real Time page), and the GPS tracking report (Analyze → Geolocation). The geofences that report matches points against are managed under "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Job Sites"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/reports/tracked-hours","summary":"Get Tracked Hours Report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/gettrackedhoursreport","deprecated":false},{"title":"/reports/daily-timeline","summary":"Get Daily Timeline Report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/getdailytimelinereport","deprecated":false},{"title":"/reports/daily-activity","summary":"Get Daily Activity Report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/getdailyactivityreport","deprecated":false},{"title":"/reports/activity-level","summary":"Get Activity Level Report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/getactivitylevelreport","deprecated":false},{"title":"/reports/task-report","summary":"Get Task Report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/gettaskreport","deprecated":false},{"title":"/reports/daily-attendance","summary":"Get Daily Attendance Report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/getdailyattendancereport","deprecated":false},{"title":"/reports/activity-description","summary":"Get Activity Description Report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/getactivitydescriptionreport","deprecated":false},{"title":"/reports/apps-websites","summary":"Get Apps & Websites Overview Report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/getappswebsitesoverviewreport","deprecated":false},{"title":"/reports/real-time","summary":"Get Real Time Report (live snapshot)","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/getrealtimereport","deprecated":false},{"title":"/reports/gps-tracking","summary":"Get GPS Tracking Report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/getgpstrackingreport","deprecated":false}]}]}]}]}},{"type":"group","label":"Job Sites","link":"/api/job-sites","routeSlug":"/api/job-sites","items":[{"label":"Get All Job Sites","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/job-sites/getjobsites","routeSlug":"/api/job-sites/getjobsites","metadata":{"seo":{"title":"Get All Job Sites","description":"List the workspace's job sites (geofences), paginated — each row's id is the job_site_id the GPS tracking report filters on. Optional filters: project_id and search (substring of the name; % and _ are matched literally). sort_by = name / radius / created_at / updated_at with order_by; ties break on id, so a paginated walk never drops or repeats a row. An unassigned site applies to EVERYONE — read applies_to_everyone rather than inferring coverage from an empty members array. current_members is live: who is inside right now, from each member's last known position within the past hour. Access: Owner/Executive Manager; 404 when Mobile GPS Tracking is off."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getJobSites","name":"Get All Job Sites","isWebhook":false,"pointer":"/paths/~1job-sites/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Job Sites","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the workspace's job sites (geofences), paginated — each row's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"job_site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" the GPS tracking report filters on. Optional filters: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"search"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (substring of the name; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"%"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"_"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are matched literally). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sort_by"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" = name / radius / created_at / updated_at with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"order_by"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; ties break on id, so a paginated walk never drops or repeats a row. An unassigned site applies to EVERYONE — read "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"applies_to_everyone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" rather than inferring coverage from an empty "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"members"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"current_members"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is live: who is inside right now, from each member's last known position within the past hour. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner/Executive Manager; 404 when Mobile GPS Tracking is off."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true},{"name":"project_id","in":"query","schemaId":"schema_573","description":"Only sites linked to this project. 404 if the project belongs to another workspace."},{"name":"search","in":"query","schemaId":"schema_574","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Case-insensitive substring match on the site name. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"%"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"_"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are matched literally."},"children":[]}]}]}]},{"name":"sort_by","in":"query","schemaId":"schema_575","description":"Column to sort by. Ties are broken by id, so a paginated walk never drops or repeats a row."},{"name":"order_by","in":"query","schemaId":"schema_576","description":"Sort direction."},{"name":"page","in":"query","schemaId":"schema_359","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page number. A page beyond the last returns the LAST page rather than an empty one, so "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.pagination.current_page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" never exceeds "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"last_page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Items per page (max 100)."}],"pointer":"/paths/~1job-sites/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/job-sites","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"project_id","in":"query","required":false,"example":41,"schemaId":"schema_573"},{"name":"search","in":"query","required":false,"example":"depot","schemaId":"schema_574"},{"name":"sort_by","in":"query","required":false,"schemaId":"schema_575"},{"name":"order_by","in":"query","required":false,"schemaId":"schema_576"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/job-sites","href":"job-sites/getjobsites","openApiOperationId":"getJobSites","summary":"Get All Job Sites","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of job sites.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_577","exampleIds":["paths/~1job-sites/get/responses/200/content/application~1json/examples/success"]}},"schemaId":"schema_577","exampleIds":["paths/~1job-sites/get/responses/200/content/application~1json/examples/success"]},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites/get/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites/get/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1job-sites/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_577","exampleIds":["paths/~1job-sites/get/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_577","exampleIds":["paths/~1job-sites/get/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites/get/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites/get/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/job-sites/getjobsites"}],"panels":[]}]},"httpPath":"/job-sites"},{"label":"Create Job Site","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/job-sites/createjobsite","routeSlug":"/api/job-sites/createjobsite","metadata":{"seo":{"title":"Create Job Site","description":"Create a job site: a circle defined by name, latitude (-90..90), longitude (-180..180) and radius in metres (50–50000, whole numbers). Coordinates are stored as decimal(10,7); the response returns them as 4-decimal display strings (the dashboard form's toFixed(4)), with the full stored precision in google_maps_url. name/address max 191 characters; address is free text, never geocoded. Leaving member_ids empty applies the site to EVERYONE. A project_id or member_ids entry from outside the workspace returns 404 instead of being silently dropped. Matching is recomputed per request, so a new site also applies to points recorded before it existed. Access: Owner/Executive Manager; 404 when Mobile GPS Tracking is off."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createJobSite","name":"Create Job Site","isWebhook":false,"pointer":"/paths/~1job-sites/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Job Site","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a job site: a circle defined by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"latitude"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (-90..90), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"longitude"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (-180..180) and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in metres (50–50000, whole numbers). Coordinates are stored as decimal(10,7); the response returns them as 4-decimal display strings (the dashboard form's toFixed(4)), with the full stored precision in google_maps_url. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" max 191 characters; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is free text, never geocoded. Leaving "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" empty applies the site to EVERYONE. A "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entry from outside the workspace returns 404 instead of being silently dropped. Matching is recomputed per request, so a new site also applies to points recorded before it existed. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner/Executive Manager; 404 when Mobile GPS Tracking is off."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_578","exampleIds":["paths/~1job-sites/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_578","exampleIds":["paths/~1job-sites/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1job-sites/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/job-sites","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_578","exampleIds":["paths/~1job-sites/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403","404","422","500"],"pointer":"/job-sites","href":"job-sites/createjobsite","openApiOperationId":"createJobSite","summary":"Create Job Site","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_578","exampleIds":["paths/~1job-sites/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_578","exampleIds":["paths/~1job-sites/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Job site created successfully. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"applies_to_everyone: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the site covers every member of the workspace"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an empty "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"members"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array means everyone, not nobody."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_579"}},"schemaId":"schema_579"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites/post/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites/post/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1job-sites/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_579","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_579"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites/post/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites/post/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/job-sites/createjobsite"}],"panels":[]}]},"httpPath":"/job-sites"},{"label":"Get Single Job Site","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/job-sites/getjobsite","routeSlug":"/api/job-sites/getjobsite","metadata":{"seo":{"title":"Get Single Job Site","description":"Retrieve one job site with its project, assigned members, and who is inside it right now. A malformed or cross-workspace id answers 422; a deleted site answers 404. Access: Owner/Executive Manager; 404 when Mobile GPS Tracking is off."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getJobSite","name":"Get Single Job Site","isWebhook":false,"pointer":"/paths/~1job-sites~1{job_site_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Job Site","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve one job site with its project, assigned members, and who is inside it right now. A malformed or cross-workspace id answers 422; a deleted site answers 404. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner/Executive Manager; 404 when Mobile GPS Tracking is off."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"job_site_id","in":"path","schemaId":"schema_383","description":"Opaque encoded job site id.","required":true}],"pointer":"/paths/~1job-sites~1{job_site_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true}],"pointer":"/paths/~1job-sites~1{job_site_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/job-sites/{job_site_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"job_site_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/job-sites/{job_site_id}","href":"job-sites/getjobsite","openApiOperationId":"getJobSite","summary":"Get Single Job Site","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The job site.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_580"}},"schemaId":"schema_580"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1job-sites~1{job_site_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_580","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_580"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/job-sites/getjobsite"}],"panels":[]}]},"httpPath":"/job-sites/{job_site_id}"},{"label":"Update Job Site","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/job-sites/updatejobsite","routeSlug":"/api/job-sites/updatejobsite","metadata":{"seo":{"title":"Update Job Site","description":"Update a job site. PARTIAL — send only the fields that change; omitted fields keep their value, and an empty body returns 422. Member assignments are untouched unless member_ids is present; an empty array clears them, widening the site to everyone unless the dashboard has scoped it to a team (team assignments are never touched here). Same bounds as create. Moving a site re-attributes already-recorded points. Access: Owner/Executive Manager; 404 when Mobile GPS Tracking is off."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateJobSite","name":"Update Job Site","isWebhook":false,"pointer":"/paths/~1job-sites~1{job_site_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Job Site","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update a job site. PARTIAL — send only the fields that change; omitted fields keep their value, and an empty body returns 422. Member assignments are untouched unless "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is present; an empty array clears them, widening the site to everyone unless the dashboard has scoped it to a team (team assignments are never touched here). Same bounds as create. Moving a site re-attributes already-recorded points. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner/Executive Manager; 404 when Mobile GPS Tracking is off."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"job_site_id","in":"path","schemaId":"schema_383","description":"Opaque encoded job site id.","required":true}],"pointer":"/paths/~1job-sites~1{job_site_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_581","exampleIds":["paths/~1job-sites~1{job_site_id}/put/requestBody/content/application~1json/example"]}},"schemaId":"schema_581","exampleIds":["paths/~1job-sites~1{job_site_id}/put/requestBody/content/application~1json/example"],"pointer":"/paths/~1job-sites~1{job_site_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/job-sites/{job_site_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"job_site_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_581","exampleIds":["paths/~1job-sites~1{job_site_id}/put/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/job-sites/{job_site_id}","href":"job-sites/updatejobsite","openApiOperationId":"updateJobSite","summary":"Update Job Site","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_581","exampleIds":["paths/~1job-sites~1{job_site_id}/put/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_581","exampleIds":["paths/~1job-sites~1{job_site_id}/put/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Job site updated successfully. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"applies_to_everyone: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the site covers every member of the workspace"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an empty "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"members"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array means everyone, not nobody."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_582"}},"schemaId":"schema_582"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1job-sites~1{job_site_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_582","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_582"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/job-sites/updatejobsite"}],"panels":[]}]},"httpPath":"/job-sites/{job_site_id}"},{"label":"Delete Job Site","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/job-sites/deletejobsite","routeSlug":"/api/job-sites/deletejobsite","metadata":{"seo":{"title":"Delete Job Site","description":"Hard-delete a job site and its assignments — there is no soft delete. GPS points survive; the report just stops attributing them to the site, for past dates as well as future ones. Access: Owner/Executive Manager; 404 when Mobile GPS Tracking is off."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteJobSite","name":"Delete Job Site","isWebhook":false,"pointer":"/paths/~1job-sites~1{job_site_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Job Site","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Hard-delete a job site and its assignments — there is no soft delete. GPS points survive; the report just stops attributing them to the site, for past dates as well as future ones. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Owner/Executive Manager; 404 when Mobile GPS Tracking is off."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"job_site_id","in":"path","schemaId":"schema_383","description":"Opaque encoded job site id.","required":true}],"pointer":"/paths/~1job-sites~1{job_site_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/requestBody/content/application~1json/example"]}},"schemaId":"schema_387","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/requestBody/content/application~1json/example"],"pointer":"/paths/~1job-sites~1{job_site_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/job-sites/{job_site_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"job_site_id","in":"path","required":true,"example":"encoded_id_string","schemaId":"schema_383"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/job-sites/{job_site_id}","href":"job-sites/deletejobsite","openApiOperationId":"deleteJobSite","summary":"Delete Job Site","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Job site deleted successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_583"}},"schemaId":"schema_583"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1job-sites~1{job_site_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_583","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_583"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1job-sites~1{job_site_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/job-sites/deletejobsite"}],"panels":[]}]},"httpPath":"/job-sites/{job_site_id}"}],"content":{"contentType":"group","meta":{"name":"Job Sites"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Job Sites","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manage job sites (geofences) — the circles the GPS tracking report matches stored points against, and the source of its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"job_site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter values. Matching is recomputed on every report request and never stored, so creating, moving or deleting a site also changes how already-recorded points are attributed. A site with no assigned members applies to EVERYONE — read "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"applies_to_everyone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; team-level assignments made in the dashboard count towards that flag but are not exposed here. Every action 404s while the workspace's Mobile GPS Tracking toggle (Settings → Features) is off — nothing is deleted, access returns with the toggle. No plan restriction. The public id is an opaque encoded string (422 on an invalid one); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are raw integers. Owner / Executive Manager only, including the reads."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/job-sites","summary":"Get All Job Sites","prefix":{"name":"get","color":"get"},"badges":[],"link":"/job-sites/getjobsites","deprecated":false},{"title":"/job-sites","summary":"Create Job Site","prefix":{"name":"post","color":"post"},"badges":[],"link":"/job-sites/createjobsite","deprecated":false},{"title":"/job-sites/{job_site_id}","summary":"Get Single Job Site","prefix":{"name":"get","color":"get"},"badges":[],"link":"/job-sites/getjobsite","deprecated":false},{"title":"/job-sites/{job_site_id}","summary":"Update Job Site","prefix":{"name":"put","color":"put"},"badges":[],"link":"/job-sites/updatejobsite","deprecated":false},{"title":"/job-sites/{job_site_id}","summary":"Delete Job Site","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/job-sites/deletejobsite","deprecated":false}]}]}]}]}},{"type":"group","label":"Screenshots","link":"/api/screenshots","routeSlug":"/api/screenshots","items":[{"label":"Get Screenshots","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/screenshots/getscreenshots","routeSlug":"/api/screenshots/getscreenshots","metadata":{"seo":{"title":"Get Screenshots","description":"Retrieve tracked screenshots for a workspace. Returns a paginated list ordered oldest-first, with member, project, and task context for every capture. Filterable by member, project, task, and date range; when no date range is given, defaults to today in the workspace owner's timezone. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getScreenshots","name":"Get Screenshots","isWebhook":false,"pointer":"/paths/~1screenshots/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Screenshots","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve tracked screenshots for a workspace. Returns a paginated list ordered oldest-first, with member, project, and task context for every capture. Filterable by member, project, task, and date range; when no date range is given, defaults to today in the workspace owner's timezone. Requires workspace owner or executive manager permissions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" no image URL is included — fetch the image bytes via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /screenshots/{screenshot_id}/download"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"ID of the workspace","required":true,"example":1},{"name":"member_id","in":"query","schemaId":"schema_362","description":"Filter by member (user) ID","example":100},{"name":"project_id","in":"query","schemaId":"schema_362","description":"Filter by project ID","example":10},{"name":"task_id","in":"query","schemaId":"schema_362","description":"Filter by task ID (captures taken while tracking that task)","example":5},{"name":"from","in":"query","schemaId":"schema_480","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the date range (format: Y-m-d, inclusive). Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or today when both are omitted."},"children":[]}]}]}],"example":"2026-07-01"},{"name":"to","in":"query","schemaId":"schema_480","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the date range (format: Y-m-d, inclusive). Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or today when both are omitted."},"children":[]}]}]}],"example":"2026-07-08"},{"name":"page","in":"query","schemaId":"schema_359","description":"Page number for pagination"},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Number of items per page (maximum 100)"}],"pointer":"/paths/~1screenshots/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/screenshots","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_362"},{"name":"member_id","in":"query","required":false,"example":100,"schemaId":"schema_362"},{"name":"project_id","in":"query","required":false,"example":10,"schemaId":"schema_362"},{"name":"task_id","in":"query","required":false,"example":5,"schemaId":"schema_362"},{"name":"from","in":"query","required":false,"example":"2026-07-01","schemaId":"schema_480"},{"name":"to","in":"query","required":false,"example":"2026-07-08","schemaId":"schema_480"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/screenshots","href":"screenshots/getscreenshots","openApiOperationId":"getScreenshots","summary":"Get Screenshots","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Screenshots retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_584"}},"schemaId":"schema_584"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1screenshots/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_584","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_584"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/screenshots/getscreenshots"}],"panels":[]}]},"httpPath":"/screenshots"},{"label":"Get Single Screenshot","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/screenshots/getscreenshot","routeSlug":"/api/screenshots/getscreenshot","metadata":{"seo":{"title":"Get Single Screenshot","description":"Retrieve a single tracked screenshot with its member / project / task context. To get the image itself, use GET /screenshots/{screenshot_id}/download. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getScreenshot","name":"Get Single Screenshot","isWebhook":false,"pointer":"/paths/~1screenshots~1{screenshot_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Screenshot","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single tracked screenshot with its member / project / task context. To get the image itself, use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /screenshots/{screenshot_id}/download"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Requires workspace owner or executive manager permissions."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"screenshot_id","in":"path","schemaId":"schema_470","description":"Encrypted UUID identifier of the screenshot (as returned by GET /screenshots)","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"}],"pointer":"/paths/~1screenshots~1{screenshot_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"ID of the workspace","required":true,"example":1}],"pointer":"/paths/~1screenshots~1{screenshot_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/screenshots/{screenshot_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"screenshot_id","in":"path","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","schemaId":"schema_470"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/screenshots/{screenshot_id}","href":"screenshots/getscreenshot","openApiOperationId":"getScreenshot","summary":"Get Single Screenshot","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Screenshot retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_585"}},"schemaId":"schema_585"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Invalid screenshot identifier provided","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_586"}},"schemaId":"schema_586"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1screenshots~1{screenshot_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_585","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_585"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_586","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_586"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/screenshots/getscreenshot"}],"panels":[]}]},"httpPath":"/screenshots/{screenshot_id}"},{"label":"Download Screenshot Image","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/screenshots/downloadscreenshot","routeSlug":"/api/screenshots/downloadscreenshot","metadata":{"seo":{"title":"Download Screenshot Image","description":"Download the full-size screenshot image. The image is fetched from the media storage server-side and streamed back as a file attachment, so no direct media URL is ever exposed. Requires workspace owner or executive manager permissions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"downloadScreenshot","name":"Download Screenshot Image","isWebhook":false,"pointer":"/paths/~1screenshots~1{screenshot_id}~1download/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Download Screenshot Image","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Download the full-size screenshot image. The image is fetched from the media storage server-side and streamed back as a file attachment, so no direct media URL is ever exposed. Requires workspace owner or executive manager permissions."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"screenshot_id","in":"path","schemaId":"schema_470","description":"Encrypted UUID identifier of the screenshot (as returned by GET /screenshots)","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"}],"pointer":"/paths/~1screenshots~1{screenshot_id}~1download/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","description":"ID of the workspace","required":true,"example":1}],"pointer":"/paths/~1screenshots~1{screenshot_id}~1download/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/screenshots/{screenshot_id}/download","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"screenshot_id","in":"path","required":true,"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","schemaId":"schema_470"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/screenshots/{screenshot_id}/download","href":"screenshots/downloadscreenshot","openApiOperationId":"downloadScreenshot","summary":"Download Screenshot Image","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Screenshot image (returned as an attachment, e.g. screenshot-100-20260708-094000.jpg)","mediaType":"image/jpeg","mediaTypes":["image/jpeg","image/png"],"mediaTypeContent":{"image/jpeg":{"schemaId":"schema_587"},"image/png":{"schemaId":"schema_587"}},"schemaId":"schema_587"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/member_not_found","paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/member_not_found","paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Invalid screenshot identifier provided","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_586"}},"schemaId":"schema_586"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1screenshots~1{screenshot_id}~1download/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_587","mediaTypes":["image/jpeg","image/png"],"mediaTypeContent":{"image/jpeg":{"schemaId":"schema_587"},"image/png":{"schemaId":"schema_587"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/member_not_found","paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/member_not_found","paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_586","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_586"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1screenshots~1{screenshot_id}~1download/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/screenshots/downloadscreenshot"}],"panels":[]}]},"httpPath":"/screenshots/{screenshot_id}/download"}],"content":{"contentType":"group","meta":{"name":"Screenshots"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Screenshots","showPageActions":true},{"nodeType":"markdoc","content":"Read tracked screenshots captured by the time tracker. Screenshots are workspace-scoped, filterable by member, project, task, and date range. Read-only."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/screenshots","summary":"Get Screenshots","prefix":{"name":"get","color":"get"},"badges":[],"link":"/screenshots/getscreenshots","deprecated":false},{"title":"/screenshots/{screenshot_id}","summary":"Get Single Screenshot","prefix":{"name":"get","color":"get"},"badges":[],"link":"/screenshots/getscreenshot","deprecated":false},{"title":"/screenshots/{screenshot_id}/download","summary":"Download Screenshot Image","prefix":{"name":"get","color":"get"},"badges":[],"link":"/screenshots/downloadscreenshot","deprecated":false}]}]}]}]}},{"type":"group","label":"Shifts","link":"/api/shifts","routeSlug":"/api/shifts","items":[{"label":"Get All Shifts","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/shifts/getshifts","routeSlug":"/api/shifts/getshifts","metadata":{"seo":{"title":"Get All Shifts","description":"List workspace work-schedule shifts (paginated). Optional filters: member_id (only shifts a given user is assigned to) and a date window via week (any date in the ISO week) or date_from/date_to. Each logical shift is identified by its uuid. Access: PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager. Workspaces without shifts access, or that are suspended / past trial, get 403."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getShifts","name":"Get All Shifts","isWebhook":false,"pointer":"/paths/~1shifts/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Shifts","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List workspace work-schedule shifts (paginated). Optional filters: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (only shifts a given user is assigned to) and a date window via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"week"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (any date in the ISO week) or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Each logical shift is identified by its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"uuid"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager. Workspaces without shifts access, or that are suspended / past trial, get 403."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true},{"name":"member_id","in":"query","schemaId":"schema_389","description":"Filter to shifts this user (raw integer user id) is assigned to."},{"name":"week","in":"query","schemaId":"schema_588","description":"Any date (YYYY-MM-DD) within an ISO week; returns shifts active during that week."},{"name":"date_from","in":"query","schemaId":"schema_589","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of an explicit date window (used with date_to). Ignored when week is set."},"children":[]}]}]}]},{"name":"date_to","in":"query","schemaId":"schema_590","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of an explicit date window (used with date_from)."},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_359","description":"Page number for pagination."},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Number of items per page (max 100)."}],"pointer":"/paths/~1shifts/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/shifts","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"member_id","in":"query","required":false,"example":42,"schemaId":"schema_389"},{"name":"week","in":"query","required":false,"example":"2026-07-20","schemaId":"schema_588"},{"name":"date_from","in":"query","required":false,"example":"2026-07-01","schemaId":"schema_589"},{"name":"date_to","in":"query","required":false,"example":"2026-07-31","schemaId":"schema_590"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/shifts","href":"shifts/getshifts","openApiOperationId":"getShifts","summary":"Get All Shifts","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of shifts.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_591"}},"schemaId":"schema_591"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1shifts/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_591","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_591"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/shifts/getshifts"}],"panels":[]}]},"httpPath":"/shifts"},{"label":"Create New Shift","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/shifts/createshift","routeSlug":"/api/shifts/createshift","metadata":{"seo":{"title":"Create New Shift","description":"Create a new shift. name must be unique per workspace (max 100). Times are given in the shift's own timezone (IANA). For shift_type: fixed supply a single start_time/end_time/min_hours; for shift_type: flexible supply a per-day schedule. working_days is required for recurring (repeat: weekly|biweekly) fixed shifts. A shift whose window collides with an existing shift for one of the selected members returns 422 with errors.conflicts. Access: PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createShift","name":"Create New Shift","isWebhook":false,"pointer":"/paths/~1shifts/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create New Shift","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new shift. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must be unique per workspace (max 100). Times are given in the shift's own "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (IANA). For "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shift_type: fixed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" supply a single "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"min_hours"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shift_type: flexible"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" supply a per-day "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"schedule"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"working_days"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required for recurring ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"repeat: weekly|biweekly"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") fixed shifts. A shift whose window collides with an existing shift for one of the selected members returns 422 with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors.conflicts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_592","exampleIds":["paths/~1shifts/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_592","exampleIds":["paths/~1shifts/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1shifts/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/shifts","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_592","exampleIds":["paths/~1shifts/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403","422","500"],"pointer":"/shifts","href":"shifts/createshift","openApiOperationId":"createShift","summary":"Create New Shift","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_592","exampleIds":["paths/~1shifts/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_592","exampleIds":["paths/~1shifts/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Shift created successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}},"schemaId":"schema_593"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/403/content/application~1json/example"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validation failed — a shift field is invalid, or the shift overlaps another shift already held by one of its members (the same guard create/update/assign enforce)."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1shifts/post/responses/422/content/application~1json/examples/fieldValidation","paths/~1shifts/post/responses/422/content/application~1json/examples/overlapConflict"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1shifts/post/responses/422/content/application~1json/examples/fieldValidation","paths/~1shifts/post/responses/422/content/application~1json/examples/overlapConflict"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1shifts/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_593","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/403/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1shifts/post/responses/422/content/application~1json/examples/fieldValidation","paths/~1shifts/post/responses/422/content/application~1json/examples/overlapConflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1shifts/post/responses/422/content/application~1json/examples/fieldValidation","paths/~1shifts/post/responses/422/content/application~1json/examples/overlapConflict"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/shifts/createshift"}],"panels":[]}]},"httpPath":"/shifts"},{"label":"Get Single Shift","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/shifts/getshift","routeSlug":"/api/shifts/getshift","metadata":{"seo":{"title":"Get Single Shift","description":"Retrieve a single shift by its uuid. Owner-scoped. Access: PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getShift","name":"Get Single Shift","isWebhook":false,"pointer":"/paths/~1shifts~1{shift_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Shift","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single shift by its uuid. Owner-scoped. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"shift_id","in":"path","schemaId":"schema_594","description":"The shift uuid (string).","required":true}],"pointer":"/paths/~1shifts~1{shift_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true}],"pointer":"/paths/~1shifts~1{shift_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/shifts/{shift_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"shift_id","in":"path","required":true,"example":"9f8b6c2a-1d4e-4f3a-9b7c-1e2d3f4a5b6c","schemaId":"schema_594"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/shifts/{shift_id}","href":"shifts/getshift","openApiOperationId":"getShift","summary":"Get Single Shift","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Shift retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}},"schemaId":"schema_593"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1shifts~1{shift_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_593","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/shifts/getshift"}],"panels":[]}]},"httpPath":"/shifts/{shift_id}"},{"label":"Update Shift","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/shifts/updateshift","routeSlug":"/api/shifts/updateshift","metadata":{"seo":{"title":"Update Shift","description":"Update a shift. All create fields are accepted (each optional on update); times are interpreted in the supplied timezone. A window that collides with an existing shift for one of the selected members returns 422 with errors.conflicts. Access: PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateShift","name":"Update Shift","isWebhook":false,"pointer":"/paths/~1shifts~1{shift_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Shift","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update a shift. All create fields are accepted (each optional on update); times are interpreted in the supplied "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". A window that collides with an existing shift for one of the selected members returns 422 with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors.conflicts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"shift_id","in":"path","schemaId":"schema_594","description":"The shift uuid (string).","required":true}],"pointer":"/paths/~1shifts~1{shift_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_595","exampleIds":["paths/~1shifts~1{shift_id}/put/requestBody/content/application~1json/example"]}},"schemaId":"schema_595","exampleIds":["paths/~1shifts~1{shift_id}/put/requestBody/content/application~1json/example"],"pointer":"/paths/~1shifts~1{shift_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/shifts/{shift_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"shift_id","in":"path","required":true,"example":"9f8b6c2a-1d4e-4f3a-9b7c-1e2d3f4a5b6c","schemaId":"schema_594"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_595","exampleIds":["paths/~1shifts~1{shift_id}/put/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/shifts/{shift_id}","href":"shifts/updateshift","openApiOperationId":"updateShift","summary":"Update Shift","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_595","exampleIds":["paths/~1shifts~1{shift_id}/put/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_595","exampleIds":["paths/~1shifts~1{shift_id}/put/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Shift updated successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}},"schemaId":"schema_593"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validation failed — a shift field is invalid, or the shift overlaps another shift already held by one of its members (the same guard create/update/assign enforce)."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/fieldValidation","paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/overlapConflict"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/fieldValidation","paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/overlapConflict"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1shifts~1{shift_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_593","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/fieldValidation","paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/overlapConflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/fieldValidation","paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/overlapConflict"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/shifts/updateshift"}],"panels":[]}]},"httpPath":"/shifts/{shift_id}"},{"label":"Delete Shift","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/shifts/deleteshift","routeSlug":"/api/shifts/deleteshift","metadata":{"seo":{"title":"Delete Shift","description":"Soft-delete a shift and all rows sharing its uuid. Access: PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteShift","name":"Delete Shift","isWebhook":false,"pointer":"/paths/~1shifts~1{shift_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Shift","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Soft-delete a shift and all rows sharing its uuid. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"shift_id","in":"path","schemaId":"schema_594","description":"The shift uuid (string).","required":true}],"pointer":"/paths/~1shifts~1{shift_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}/delete/requestBody/content/application~1json/example"]}},"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}/delete/requestBody/content/application~1json/example"],"pointer":"/paths/~1shifts~1{shift_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/shifts/{shift_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"shift_id","in":"path","required":true,"example":"9f8b6c2a-1d4e-4f3a-9b7c-1e2d3f4a5b6c","schemaId":"schema_594"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}/delete/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","500"],"pointer":"/shifts/{shift_id}","href":"shifts/deleteshift","openApiOperationId":"deleteShift","summary":"Delete Shift","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}/delete/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}/delete/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Shift deleted successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_596"}},"schemaId":"schema_596"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1shifts~1{shift_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_596","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_596"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/shifts/deleteshift"}],"panels":[]}]},"httpPath":"/shifts/{shift_id}"},{"label":"Assign Member to Shift","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/shifts/assignshiftmember","routeSlug":"/api/shifts/assignshiftmember","metadata":{"seo":{"title":"Assign Member to Shift","description":"Assign a member to a shift. shift_id is the shift uuid; member_id is a raw integer user id that must belong to the workspace. Assign is add-only: re-assigning a member already on the shift returns 422 (not a 200 no-op). The same shift-overlap guard as create/update applies — if joining would double-book the member against an overlapping shift, the call is rejected 422 with a conflicts list. On success the full shift object is returned. Access: PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"assignShiftMember","name":"Assign Member to Shift","isWebhook":false,"pointer":"/paths/~1shifts~1{shift_id}~1assign~1{member_id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Assign Member to Shift","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assign a member to a shift. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shift_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the shift uuid; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a raw integer user id that must belong to the workspace. Assign is "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"add-only"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": re-assigning a member already on the shift returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"422"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (not a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" no-op). The "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"same shift-overlap guard as create/update"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" applies — if joining would double-book the member against an overlapping shift, the call is rejected "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"422"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"conflicts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list. On success the full shift object is returned. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"shift_id","in":"path","schemaId":"schema_594","description":"The shift uuid (string).","required":true},{"name":"member_id","in":"path","schemaId":"schema_389","description":"Raw integer user id to assign.","required":true}],"pointer":"/paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/shifts/{shift_id}/assign/{member_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"shift_id","in":"path","required":true,"example":"9f8b6c2a-1d4e-4f3a-9b7c-1e2d3f4a5b6c","schemaId":"schema_594"},{"name":"member_id","in":"path","required":true,"example":42,"schemaId":"schema_389"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/shifts/{shift_id}/assign/{member_id}","href":"shifts/assignshiftmember","openApiOperationId":"assignShiftMember","summary":"Assign Member to Shift","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member assigned to shift successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}},"schemaId":"schema_593"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"The member is already on the shift, joining would double-book them against an overlapping shift, or the member id is invalid / not in the workspace.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_597","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/alreadyAssigned","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/overlapConflict","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/invalidMember"]}},"schemaId":"schema_597","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/alreadyAssigned","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/overlapConflict","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/invalidMember"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_593","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"schema_597","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/alreadyAssigned","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/overlapConflict","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/invalidMember"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_597","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/alreadyAssigned","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/overlapConflict","paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/invalidMember"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/shifts/assignshiftmember"}],"panels":[]}]},"httpPath":"/shifts/{shift_id}/assign/{member_id}"},{"label":"Unassign Member from Shift","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/shifts/unassignshiftmember","routeSlug":"/api/shifts/unassignshiftmember","metadata":{"seo":{"title":"Unassign Member from Shift","description":"Remove a member from a shift. shift_id is the shift uuid; member_id is a raw integer user id. The shift is never deleted by this endpoint: unassigning the last remaining member is refused with 409 (message: \"Cannot unassign the last member of a shift. Use DELETE /shifts/{shift_id} to remove the shift.\") — use the explicit delete endpoint instead. Returns 404 if the shift is missing or the member is not assigned. Access: PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"unassignShiftMember","name":"Unassign Member from Shift","isWebhook":false,"pointer":"/paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Unassign Member from Shift","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Remove a member from a shift. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shift_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the shift uuid; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a raw integer user id. The shift is "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"never"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" deleted by this endpoint: unassigning the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"last"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" remaining member is refused with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (message: \"Cannot unassign the last member of a shift. Use DELETE /shifts/{shift_id} to remove the shift.\") — use the explicit delete endpoint instead. Returns 404 if the shift is missing or the member is not assigned. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": PAID feature — Plus plan and above OR the Shift add-on — plus Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"shift_id","in":"path","schemaId":"schema_594","description":"The shift uuid (string).","required":true},{"name":"member_id","in":"path","schemaId":"schema_389","description":"Raw integer user id to unassign.","required":true}],"pointer":"/paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/requestBody/content/application~1json/example"]}},"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/requestBody/content/application~1json/example"],"pointer":"/paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/shifts/{shift_id}/unassign/{member_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"shift_id","in":"path","required":true,"example":"9f8b6c2a-1d4e-4f3a-9b7c-1e2d3f4a5b6c","schemaId":"schema_594"},{"name":"member_id","in":"path","required":true,"example":42,"schemaId":"schema_389"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409","500"],"pointer":"/shifts/{shift_id}/unassign/{member_id}","href":"shifts/unassignshiftmember","openApiOperationId":"unassignShiftMember","summary":"Unassign Member from Shift","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Member unassigned from shift successfully. Returns the updated shift with its remaining members.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}},"schemaId":"schema_593"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The member is the last one on the shift. The shift is not deleted; use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DELETE /shifts/{shift_id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to remove it."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_598"}},"schemaId":"schema_598"},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_593","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"409","schemaId":"schema_598","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_598"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/shifts/unassignshiftmember"}],"panels":[]}]},"httpPath":"/shifts/{shift_id}/unassign/{member_id}"}],"content":{"contentType":"group","meta":{"name":"Shifts"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Shifts","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manage workspace work-schedule shifts (fixed or flexible, one-off or recurring) and their member assignments. PAID feature — requires the Plus plan and above OR the Shift add-on, plus Owner/Executive Manager role. Times are expressed in each shift's own IANA timezone."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/shifts","summary":"Get All Shifts","prefix":{"name":"get","color":"get"},"badges":[],"link":"/shifts/getshifts","deprecated":false},{"title":"/shifts","summary":"Create New Shift","prefix":{"name":"post","color":"post"},"badges":[],"link":"/shifts/createshift","deprecated":false},{"title":"/shifts/{shift_id}","summary":"Get Single Shift","prefix":{"name":"get","color":"get"},"badges":[],"link":"/shifts/getshift","deprecated":false},{"title":"/shifts/{shift_id}","summary":"Update Shift","prefix":{"name":"put","color":"put"},"badges":[],"link":"/shifts/updateshift","deprecated":false},{"title":"/shifts/{shift_id}","summary":"Delete Shift","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/shifts/deleteshift","deprecated":false},{"title":"/shifts/{shift_id}/assign/{member_id}","summary":"Assign Member to Shift","prefix":{"name":"post","color":"post"},"badges":[],"link":"/shifts/assignshiftmember","deprecated":false},{"title":"/shifts/{shift_id}/unassign/{member_id}","summary":"Unassign Member from Shift","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/shifts/unassignshiftmember","deprecated":false}]}]}]}]}},{"type":"group","label":"Webhooks","link":"/api/webhooks","routeSlug":"/api/webhooks","items":[{"label":"Get All Webhooks","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/webhooks/getwebhooks","routeSlug":"/api/webhooks/getwebhooks","metadata":{"seo":{"title":"Get All Webhooks","description":"Retrieve all webhooks for a specific workspace. Requires workspace_id as query parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getWebhooks","name":"Get All Webhooks","isWebhook":false,"pointer":"/paths/~1webhooks/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Webhooks","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all webhooks for a specific workspace. Requires workspace_id as query parameter."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","required":true}],"pointer":"/paths/~1webhooks/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/webhooks","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/webhooks","href":"webhooks/getwebhooks","openApiOperationId":"getWebhooks","summary":"Get All Webhooks","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_599"}},"schemaId":"schema_599"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1webhooks/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_599","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_599"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks/getwebhooks"}],"panels":[]}]},"httpPath":"/webhooks"},{"label":"Create Webhook","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/webhooks/createwebhook","routeSlug":"/api/webhooks/createwebhook","metadata":{"seo":{"title":"Create Webhook","description":"Create Webhook"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createWebhook","name":"Create Webhook","isWebhook":false,"pointer":"/paths/~1webhooks/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Webhook","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_600"}},"schemaId":"schema_600","pointer":"/paths/~1webhooks/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/webhooks","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_600"}},"responseCodes":["201","400","401","403","500"],"pointer":"/webhooks","href":"webhooks/createwebhook","openApiOperationId":"createWebhook","summary":"Create Webhook","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_600","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_600"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Resource created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_601"}},"schemaId":"schema_601"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1webhooks/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_601","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_601"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks/createwebhook"}],"panels":[]}]},"httpPath":"/webhooks"},{"label":"Get Webhook","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/webhooks/getwebhook","routeSlug":"/api/webhooks/getwebhook","metadata":{"seo":{"title":"Get Webhook","description":"Get Webhook"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getWebhook","name":"Get Webhook","isWebhook":false,"pointer":"/paths/~1webhooks~1{webhookId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Webhook","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"webhookId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1webhooks~1{webhookId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_362","required":true}],"pointer":"/paths/~1webhooks~1{webhookId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/webhooks/{webhookId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"webhookId","in":"path","required":true,"schemaId":"schema_461"}],"query":[{"name":"workspace_id","in":"query","required":true,"schemaId":"schema_362"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/webhooks/{webhookId}","href":"webhooks/getwebhook","openApiOperationId":"getWebhook","summary":"Get Webhook","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_601"}},"schemaId":"schema_601"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1webhooks~1{webhookId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_601","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_601"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks/getwebhook"}],"panels":[]}]},"httpPath":"/webhooks/{webhookId}"},{"label":"Update Webhook","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/webhooks/updatewebhook","routeSlug":"/api/webhooks/updatewebhook","metadata":{"seo":{"title":"Update Webhook","description":"Update Webhook"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateWebhook","name":"Update Webhook","isWebhook":false,"pointer":"/paths/~1webhooks~1{webhookId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Webhook","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"webhookId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1webhooks~1{webhookId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_602"}},"schemaId":"schema_602","pointer":"/paths/~1webhooks~1{webhookId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/webhooks/{webhookId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"webhookId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_602"}},"responseCodes":["200","400","401","403","500"],"pointer":"/webhooks/{webhookId}","href":"webhooks/updatewebhook","openApiOperationId":"updateWebhook","summary":"Update Webhook","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_602","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_602"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_603"}},"schemaId":"schema_603"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1webhooks~1{webhookId}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_603","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_603"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks/updatewebhook"}],"panels":[]}]},"httpPath":"/webhooks/{webhookId}"},{"label":"Delete Webhook","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/webhooks/deletewebhook","routeSlug":"/api/webhooks/deletewebhook","metadata":{"seo":{"title":"Delete Webhook","description":"Delete Webhook"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteWebhook","name":"Delete Webhook","isWebhook":false,"pointer":"/paths/~1webhooks~1{webhookId}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Webhook","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"webhookId","in":"path","schemaId":"schema_461","required":true}],"pointer":"/paths/~1webhooks~1{webhookId}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"schemaId":"schema_462","pointer":"/paths/~1webhooks~1{webhookId}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/webhooks/{webhookId}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"webhookId","in":"path","required":true,"schemaId":"schema_461"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_462"}},"responseCodes":["200","400","401","403","500"],"pointer":"/webhooks/{webhookId}","href":"webhooks/deletewebhook","openApiOperationId":"deleteWebhook","summary":"Delete Webhook","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_462","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_462"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_604"}},"schemaId":"schema_604"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1webhooks~1{webhookId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_604","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_604"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1webhooks~1{webhookId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks/deletewebhook"}],"panels":[]}]},"httpPath":"/webhooks/{webhookId}"}],"content":{"contentType":"group","meta":{"name":"Webhooks"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Webhooks","showPageActions":true},{"nodeType":"markdoc","content":"Manage webhooks for event notifications"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/webhooks","summary":"Get All Webhooks","prefix":{"name":"get","color":"get"},"badges":[],"link":"/webhooks/getwebhooks","deprecated":false},{"title":"/webhooks","summary":"Create Webhook","prefix":{"name":"post","color":"post"},"badges":[],"link":"/webhooks/createwebhook","deprecated":false},{"title":"/webhooks/{webhookId}","summary":"Get Webhook","prefix":{"name":"get","color":"get"},"badges":[],"link":"/webhooks/getwebhook","deprecated":false},{"title":"/webhooks/{webhookId}","summary":"Update Webhook","prefix":{"name":"put","color":"put"},"badges":[],"link":"/webhooks/updatewebhook","deprecated":false},{"title":"/webhooks/{webhookId}","summary":"Delete Webhook","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/webhooks/deletewebhook","deprecated":false}]}]}]}]}},{"type":"group","label":"Asset Management","link":"/api/asset-management","routeSlug":"/api/asset-management","items":[{"label":"List Assets","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/getassets","routeSlug":"/api/asset-management/getassets","metadata":{"seo":{"title":"List Assets","description":"Retrieve a paginated list of assets in the specified workspace. Each asset is returned with its denormalized relationships: assigned user (with email and full name), creator, asset type, and any custom field values keyed by slug. Access: Requires Plus plan or higher and Owner or Executive Manager role on the workspace."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAssets","name":"List Assets","isWebhook":false,"pointer":"/paths/~1assets/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Assets","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a paginated list of assets in the specified workspace. Each asset is returned with its denormalized relationships: assigned user (with email and full name), creator, asset type, and any custom field values keyed by slug. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Requires Plus plan or higher and Owner or Executive Manager role on the workspace."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record (returned by GET /workspaces).","required":true},{"name":"search","in":"query","schemaId":"schema_605","description":"Case-insensitive substring match against asset name, brand, and model."},{"name":"category","in":"query","schemaId":"schema_606","description":"Filter by asset category."},{"name":"assigned_to_user_id","in":"query","schemaId":"schema_371","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Numeric user ID (from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /members"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Filter assets currently assigned to this user."},"children":[]}]}]}]},{"name":"status","in":"query","schemaId":"schema_607","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by assignment status. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" = no assignee; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"in_use"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" = assigned to someone."},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_359","description":"Page number for pagination."},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Number of items per page."},{"name":"order_by","in":"query","schemaId":"schema_608","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort order by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1assets/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/assets","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"search","in":"query","required":false,"example":"MacBook","schemaId":"schema_605"},{"name":"category","in":"query","required":false,"example":"computers","schemaId":"schema_606"},{"name":"assigned_to_user_id","in":"query","required":false,"example":100,"schemaId":"schema_371"},{"name":"status","in":"query","required":false,"example":"available","schemaId":"schema_607"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"},{"name":"order_by","in":"query","required":false,"schemaId":"schema_608"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/assets","href":"asset-management/getassets","openApiOperationId":"getAssets","summary":"List Assets","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of assets.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_609"}},"schemaId":"schema_609"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets/get/responses/404/content/application~1json/examples/member_not_found","paths/~1assets/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets/get/responses/404/content/application~1json/examples/member_not_found","paths/~1assets/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1assets/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_609","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_609"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets/get/responses/404/content/application~1json/examples/member_not_found","paths/~1assets/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets/get/responses/404/content/application~1json/examples/member_not_found","paths/~1assets/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/getassets"}],"panels":[]}]},"httpPath":"/assets"},{"label":"Create Asset","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/createasset","routeSlug":"/api/asset-management/createasset","metadata":{"seo":{"title":"Create Asset","description":"Create a new asset in the workspace. Required fields are workspace_id, category, and name. Optional fields include type_id (encrypted asset type), brand, model, notes, free-form properties (validated against the category's known property keys), and custom_fields (object keyed by custom field slug). Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createAsset","name":"Create Asset","isWebhook":false,"pointer":"/paths/~1assets/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Asset","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new asset in the workspace. Required fields are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"workspace_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Optional fields include "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (encrypted asset type), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"brand"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"model"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"notes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", free-form "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"properties"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (validated against the category's known property keys), and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_fields"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (object keyed by custom field slug). "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AssetCreateRequest","exampleIds":["paths/~1assets/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/AssetCreateRequest","exampleIds":["paths/~1assets/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1assets/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/assets","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AssetCreateRequest","exampleIds":["paths/~1assets/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403","404","422","500"],"pointer":"/assets","href":"asset-management/createasset","openApiOperationId":"createAsset","summary":"Create Asset","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"components/schemas/AssetCreateRequest","exampleIds":["paths/~1assets/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AssetCreateRequest","exampleIds":["paths/~1assets/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Asset created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}},"schemaId":"schema_610"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1assets/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_610","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/createasset"}],"panels":[]}]},"httpPath":"/assets"},{"label":"Retrieve Asset","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/getasset","routeSlug":"/api/asset-management/getasset","metadata":{"seo":{"title":"Retrieve Asset","description":"Retrieve a single asset by its encrypted ID. Returns the asset with denormalized relationships: assigned user (with email and full name), creator, asset type, and custom field values keyed by slug. Access: Requires Plus plan or higher and Owner or Executive Manager role on the workspace."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAsset","name":"Retrieve Asset","isWebhook":false,"pointer":"/paths/~1assets~1{asset_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieve Asset","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single asset by its encrypted ID. Returns the asset with denormalized relationships: assigned user (with email and full name), creator, asset type, and custom field values keyed by slug. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Requires Plus plan or higher and Owner or Executive Manager role on the workspace."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"asset_id","in":"path","schemaId":"schema_611","description":"Encrypted asset ID returned by the create or list endpoints.","required":true}],"pointer":"/paths/~1assets~1{asset_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record (returned by GET /workspaces).","required":true}],"pointer":"/paths/~1assets~1{asset_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/assets/{asset_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"asset_id","in":"path","required":true,"example":"aEnc_8x2Lq","schemaId":"schema_611"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/assets/{asset_id}","href":"asset-management/getasset","openApiOperationId":"getAsset","summary":"Retrieve Asset","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Asset retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}},"schemaId":"schema_610"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1assets~1{asset_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_610","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/getasset"}],"panels":[]}]},"httpPath":"/assets/{asset_id}"},{"label":"Update Asset","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/updateasset","routeSlug":"/api/asset-management/updateasset","metadata":{"seo":{"title":"Update Asset","description":"Update an existing asset. Editable fields include name, brand, model, notes, type_id, free-form properties, and custom_fields (keyed by slug). The category field is immutable once set and any value sent for it is ignored. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateAsset","name":"Update Asset","isWebhook":false,"pointer":"/paths/~1assets~1{asset_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Asset","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update an existing asset. Editable fields include "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"brand"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"model"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"notes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", free-form "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"properties"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_fields"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (keyed by slug). The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is immutable once set and any value sent for it is ignored. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"asset_id","in":"path","schemaId":"schema_611","description":"Encrypted asset ID returned by the create or list endpoints.","required":true}],"pointer":"/paths/~1assets~1{asset_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AssetUpdateRequest","exampleIds":["paths/~1assets~1{asset_id}/put/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/AssetUpdateRequest","exampleIds":["paths/~1assets~1{asset_id}/put/requestBody/content/application~1json/example"],"pointer":"/paths/~1assets~1{asset_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/assets/{asset_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"asset_id","in":"path","required":true,"example":"aEnc_8x2Lq","schemaId":"schema_611"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AssetUpdateRequest","exampleIds":["paths/~1assets~1{asset_id}/put/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/assets/{asset_id}","href":"asset-management/updateasset","openApiOperationId":"updateAsset","summary":"Update Asset","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"components/schemas/AssetUpdateRequest","exampleIds":["paths/~1assets~1{asset_id}/put/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AssetUpdateRequest","exampleIds":["paths/~1assets~1{asset_id}/put/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Asset updated successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}},"schemaId":"schema_610"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1assets~1{asset_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_610","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/updateasset"}],"panels":[]}]},"httpPath":"/assets/{asset_id}"},{"label":"Delete Asset","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/deleteasset","routeSlug":"/api/asset-management/deleteasset","metadata":{"seo":{"title":"Delete Asset","description":"Soft-delete an asset. The asset is marked deleted but preserved for audit and can be brought back via POST /assets/{asset_id}/restore. Any current assignment is cleared. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAsset","name":"Delete Asset","isWebhook":false,"pointer":"/paths/~1assets~1{asset_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Asset","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Soft-delete an asset. The asset is marked deleted but preserved for audit and can be brought back via POST /assets/{asset_id}/restore. Any current assignment is cleared. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"asset_id","in":"path","schemaId":"schema_611","description":"Encrypted asset ID returned by the create or list endpoints.","required":true}],"pointer":"/paths/~1assets~1{asset_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}/delete/requestBody/content/application~1json/example"]}},"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}/delete/requestBody/content/application~1json/example"],"pointer":"/paths/~1assets~1{asset_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/assets/{asset_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"asset_id","in":"path","required":true,"example":"aEnc_8x2Lq","schemaId":"schema_611"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}/delete/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/assets/{asset_id}","href":"asset-management/deleteasset","openApiOperationId":"deleteAsset","summary":"Delete Asset","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}/delete/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}/delete/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Asset soft-deleted successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_613"}},"schemaId":"schema_613"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1assets~1{asset_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_613","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_613"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/deleteasset"}],"panels":[]}]},"httpPath":"/assets/{asset_id}"},{"label":"Restore Asset","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/restoreasset","routeSlug":"/api/asset-management/restoreasset","metadata":{"seo":{"title":"Restore Asset","description":"Restore a previously soft-deleted asset, making it active again. Returns 422 if the asset is not currently deleted. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"restoreAsset","name":"Restore Asset","isWebhook":false,"pointer":"/paths/~1assets~1{asset_id}~1restore/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Restore Asset","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Restore a previously soft-deleted asset, making it active again. Returns 422 if the asset is not currently deleted. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"asset_id","in":"path","schemaId":"schema_611","description":"Encrypted asset ID of the soft-deleted asset.","required":true}],"pointer":"/paths/~1assets~1{asset_id}~1restore/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1assets~1{asset_id}~1restore/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/assets/{asset_id}/restore","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"asset_id","in":"path","required":true,"example":"aEnc_8x2Lq","schemaId":"schema_611"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/assets/{asset_id}/restore","href":"asset-management/restoreasset","openApiOperationId":"restoreAsset","summary":"Restore Asset","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Asset restored successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}},"schemaId":"schema_610"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1assets~1{asset_id}~1restore/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_610","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1restore/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/restoreasset"}],"panels":[]}]},"httpPath":"/assets/{asset_id}/restore"},{"label":"Assign Asset","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/assignasset","routeSlug":"/api/asset-management/assignasset","metadata":{"seo":{"title":"Assign Asset","description":"Assign an asset to a workspace user. The target user must belong to the same workspace. Re-assigning replaces the previous assignee. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"assignAsset","name":"Assign Asset","isWebhook":false,"pointer":"/paths/~1assets~1{asset_id}~1assign/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Assign Asset","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assign an asset to a workspace user. The target user must belong to the same workspace. Re-assigning replaces the previous assignee. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"asset_id","in":"path","schemaId":"schema_611","description":"Encrypted asset ID.","required":true}],"pointer":"/paths/~1assets~1{asset_id}~1assign/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AssetAssignRequest","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/AssetAssignRequest","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1assets~1{asset_id}~1assign/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/assets/{asset_id}/assign","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"asset_id","in":"path","required":true,"example":"aEnc_8x2Lq","schemaId":"schema_611"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AssetAssignRequest","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/assets/{asset_id}/assign","href":"asset-management/assignasset","openApiOperationId":"assignAsset","summary":"Assign Asset","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"components/schemas/AssetAssignRequest","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AssetAssignRequest","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Asset assigned successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}},"schemaId":"schema_610"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1assets~1{asset_id}~1assign/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_610","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1assign/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/assignasset"}],"panels":[]}]},"httpPath":"/assets/{asset_id}/assign"},{"label":"Unassign Asset","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/unassignasset","routeSlug":"/api/asset-management/unassignasset","metadata":{"seo":{"title":"Unassign Asset","description":"Clear the current assignee of an asset. Idempotent: succeeds even if the asset is already unassigned. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"unassignAsset","name":"Unassign Asset","isWebhook":false,"pointer":"/paths/~1assets~1{asset_id}~1unassign/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Unassign Asset","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Clear the current assignee of an asset. Idempotent: succeeds even if the asset is already unassigned. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"asset_id","in":"path","schemaId":"schema_611","description":"Encrypted asset ID.","required":true}],"pointer":"/paths/~1assets~1{asset_id}~1unassign/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1assets~1{asset_id}~1unassign/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/assets/{asset_id}/unassign","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"asset_id","in":"path","required":true,"example":"aEnc_8x2Lq","schemaId":"schema_611"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/assets/{asset_id}/unassign","href":"asset-management/unassignasset","openApiOperationId":"unassignAsset","summary":"Unassign Asset","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_612","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Asset unassigned successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}},"schemaId":"schema_610"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1assets~1{asset_id}~1unassign/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_610","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_610"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/workspace_not_found","paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/member_not_found","paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1assets~1{asset_id}~1unassign/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/unassignasset"}],"panels":[]}]},"httpPath":"/assets/{asset_id}/unassign"},{"label":"List Asset Types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/getassettypes","routeSlug":"/api/asset-management/getassettypes","metadata":{"seo":{"title":"List Asset Types","description":"List all asset types available to the workspace. The result combines built-in system types (e.g. Laptop, Phone, Router) with workspace-defined custom types. Use the category filter to narrow by hardware family. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAssetTypes","name":"List Asset Types","isWebhook":false,"pointer":"/paths/~1asset-types/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Asset Types","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List all asset types available to the workspace. The result combines built-in "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"system"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" types (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Laptop"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Phone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Router"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") with workspace-defined custom types. Use the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter to narrow by hardware family. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true},{"name":"category","in":"query","schemaId":"schema_606","description":"Filter types by hardware category."}],"pointer":"/paths/~1asset-types/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/asset-types","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"category","in":"query","required":false,"example":"computers","schemaId":"schema_606"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/asset-types","href":"asset-management/getassettypes","openApiOperationId":"getAssetTypes","summary":"List Asset Types","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of asset types.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_614"}},"schemaId":"schema_614"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1asset-types/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_614","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_614"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/getassettypes"}],"panels":[]}]},"httpPath":"/asset-types"},{"label":"Create Asset Type","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/createassettype","routeSlug":"/api/asset-management/createassettype","metadata":{"seo":{"title":"Create Asset Type","description":"Create a new workspace-custom asset type within the given category. The type will have is_system: false and is editable/deletable by the workspace. The name must be unique within the workspace+category combination. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createAssetType","name":"Create Asset Type","isWebhook":false,"pointer":"/paths/~1asset-types/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Asset Type","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new workspace-custom asset type within the given category. The type will have "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_system: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is editable/deletable by the workspace. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must be unique within the workspace+category combination. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_615","exampleIds":["paths/~1asset-types/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_615","exampleIds":["paths/~1asset-types/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1asset-types/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/asset-types","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_615","exampleIds":["paths/~1asset-types/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403","422","500"],"pointer":"/asset-types","href":"asset-management/createassettype","openApiOperationId":"createAssetType","summary":"Create Asset Type","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_615","exampleIds":["paths/~1asset-types/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_615","exampleIds":["paths/~1asset-types/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Asset type created successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_616"}},"schemaId":"schema_616"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/403/content/application~1json/example"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1asset-types/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_616","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_616"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/403/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/createassettype"}],"panels":[]}]},"httpPath":"/asset-types"},{"label":"Retrieve Asset Type","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/getassettype","routeSlug":"/api/asset-management/getassettype","metadata":{"seo":{"title":"Retrieve Asset Type","description":"Retrieve a single asset type by its encrypted ID. Both system and workspace-custom types are accessible. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAssetType","name":"Retrieve Asset Type","isWebhook":false,"pointer":"/paths/~1asset-types~1{type_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieve Asset Type","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single asset type by its encrypted ID. Both system and workspace-custom types are accessible. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"type_id","in":"path","schemaId":"schema_617","description":"Encrypted asset type ID.","required":true}],"pointer":"/paths/~1asset-types~1{type_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true}],"pointer":"/paths/~1asset-types~1{type_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/asset-types/{type_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"type_id","in":"path","required":true,"example":"tEnc_4mZ7q","schemaId":"schema_617"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/asset-types/{type_id}","href":"asset-management/getassettype","openApiOperationId":"getAssetType","summary":"Retrieve Asset Type","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Asset type retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_616"}},"schemaId":"schema_616"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1asset-types~1{type_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_616","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_616"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/getassettype"}],"panels":[]}]},"httpPath":"/asset-types/{type_id}"},{"label":"Update Asset Type","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/updateassettype","routeSlug":"/api/asset-management/updateassettype","metadata":{"seo":{"title":"Update Asset Type","description":"Rename a workspace-custom asset type. Returns 403 if the target type is a system type (system types are read-only). The new name must be unique within the same workspace+category. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateAssetType","name":"Update Asset Type","isWebhook":false,"pointer":"/paths/~1asset-types~1{type_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Asset Type","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rename a workspace-custom asset type. Returns 403 if the target type is a system type (system types are read-only). The new name must be unique within the same workspace+category. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"type_id","in":"path","schemaId":"schema_617","description":"Encrypted asset type ID.","required":true}],"pointer":"/paths/~1asset-types~1{type_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_618","exampleIds":["paths/~1asset-types~1{type_id}/put/requestBody/content/application~1json/example"]}},"schemaId":"schema_618","exampleIds":["paths/~1asset-types~1{type_id}/put/requestBody/content/application~1json/example"],"pointer":"/paths/~1asset-types~1{type_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/asset-types/{type_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"type_id","in":"path","required":true,"example":"tEnc_4mZ7q","schemaId":"schema_617"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_618","exampleIds":["paths/~1asset-types~1{type_id}/put/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/asset-types/{type_id}","href":"asset-management/updateassettype","openApiOperationId":"updateAssetType","summary":"Update Asset Type","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_618","exampleIds":["paths/~1asset-types~1{type_id}/put/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_618","exampleIds":["paths/~1asset-types~1{type_id}/put/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Asset type updated successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_616"}},"schemaId":"schema_616"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1asset-types~1{type_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_616","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_616"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/updateassettype"}],"panels":[]}]},"httpPath":"/asset-types/{type_id}"},{"label":"Delete Asset Type","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/deleteassettype","routeSlug":"/api/asset-management/deleteassettype","metadata":{"seo":{"title":"Delete Asset Type","description":"Delete a workspace-custom asset type. Returns 403 for system types. Returns 409 if any asset currently references this type, with in_use_count indicating how many; reassign or delete those assets first. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAssetType","name":"Delete Asset Type","isWebhook":false,"pointer":"/paths/~1asset-types~1{type_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Asset Type","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a workspace-custom asset type. Returns 403 for system types. Returns 409 if any asset currently references this type, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"in_use_count"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" indicating how many; reassign or delete those assets first. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"type_id","in":"path","schemaId":"schema_617","description":"Encrypted asset type ID.","required":true}],"pointer":"/paths/~1asset-types~1{type_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1asset-types~1{type_id}/delete/requestBody/content/application~1json/example"]}},"schemaId":"schema_387","exampleIds":["paths/~1asset-types~1{type_id}/delete/requestBody/content/application~1json/example"],"pointer":"/paths/~1asset-types~1{type_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/asset-types/{type_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"type_id","in":"path","required":true,"example":"tEnc_4mZ7q","schemaId":"schema_617"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1asset-types~1{type_id}/delete/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409","422","500"],"pointer":"/asset-types/{type_id}","href":"asset-management/deleteassettype","openApiOperationId":"deleteAssetType","summary":"Delete Asset Type","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","exampleIds":["paths/~1asset-types~1{type_id}/delete/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1asset-types~1{type_id}/delete/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Asset type deleted successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_619"}},"schemaId":"schema_619"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"409","description":"Type is currently assigned to one or more assets and cannot be deleted.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_620"}},"schemaId":"schema_620"},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1asset-types~1{type_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_619","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_619"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"409","schemaId":"schema_620","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_620"}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-types~1{type_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/deleteassettype"}],"panels":[]}]},"httpPath":"/asset-types/{type_id}"},{"label":"List Custom Fields","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/getassetcustomfields","routeSlug":"/api/asset-management/getassetcustomfields","metadata":{"seo":{"title":"List Custom Fields","description":"List all custom field definitions for the workspace. Custom fields let you attach typed metadata (text, number, date, checkbox, dropdown) to assets. Use the optional category filter to retrieve only fields scoped to a specific hardware category; fields with category: null apply to all categories. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAssetCustomFields","name":"List Custom Fields","isWebhook":false,"pointer":"/paths/~1asset-custom-fields/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Custom Fields","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List all custom field definitions for the workspace. Custom fields let you attach typed metadata (text, number, date, checkbox, dropdown) to assets. Use the optional "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter to retrieve only fields scoped to a specific hardware category; fields with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category: null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" apply to all categories. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true},{"name":"category","in":"query","schemaId":"schema_606","description":"Filter fields by hardware category. Returns only fields scoped to this category."}],"pointer":"/paths/~1asset-custom-fields/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/asset-custom-fields","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"category","in":"query","required":false,"example":"computers","schemaId":"schema_606"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/asset-custom-fields","href":"asset-management/getassetcustomfields","openApiOperationId":"getAssetCustomFields","summary":"List Custom Fields","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of custom field definitions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_621"}},"schemaId":"schema_621"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/403/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1asset-custom-fields/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_621","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_621"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/getassetcustomfields"}],"panels":[]}]},"httpPath":"/asset-custom-fields"},{"label":"Create Custom Field","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/createassetcustomfield","routeSlug":"/api/asset-management/createassetcustomfield","metadata":{"seo":{"title":"Create Custom Field","description":"Define a new custom field for assets. The slug is auto-derived from name (lowercase, dash-separated) if omitted, and is the key used when sending values via custom_fields on the assets endpoints. The type is immutable after creation. For type: dropdown, options is required and must be a non-empty array of strings. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createAssetCustomField","name":"Create Custom Field","isWebhook":false,"pointer":"/paths/~1asset-custom-fields/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Custom Field","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Define a new custom field for assets. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"slug"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is auto-derived from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (lowercase, dash-separated) if omitted, and is the key used when sending values via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_fields"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on the assets endpoints. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"immutable"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" after creation. For "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type: dropdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required and must be a non-empty array of strings. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_622","exampleIds":["paths/~1asset-custom-fields/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_622","exampleIds":["paths/~1asset-custom-fields/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1asset-custom-fields/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/asset-custom-fields","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_622","exampleIds":["paths/~1asset-custom-fields/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403","422","500"],"pointer":"/asset-custom-fields","href":"asset-management/createassetcustomfield","openApiOperationId":"createAssetCustomField","summary":"Create Custom Field","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_622","exampleIds":["paths/~1asset-custom-fields/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_622","exampleIds":["paths/~1asset-custom-fields/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Custom field created successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_623"}},"schemaId":"schema_623"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/403/content/application~1json/example"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1asset-custom-fields/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_623","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_623"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/403/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/createassetcustomfield"}],"panels":[]}]},"httpPath":"/asset-custom-fields"},{"label":"Retrieve Custom Field","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/getassetcustomfield","routeSlug":"/api/asset-management/getassetcustomfield","metadata":{"seo":{"title":"Retrieve Custom Field","description":"Retrieve a single custom field definition by its encrypted ID. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAssetCustomField","name":"Retrieve Custom Field","isWebhook":false,"pointer":"/paths/~1asset-custom-fields~1{field_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieve Custom Field","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single custom field definition by its encrypted ID. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"field_id","in":"path","schemaId":"schema_624","description":"Encrypted custom field ID.","required":true}],"pointer":"/paths/~1asset-custom-fields~1{field_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true}],"pointer":"/paths/~1asset-custom-fields~1{field_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/asset-custom-fields/{field_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"field_id","in":"path","required":true,"example":"a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d","schemaId":"schema_624"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/asset-custom-fields/{field_id}","href":"asset-management/getassetcustomfield","openApiOperationId":"getAssetCustomField","summary":"Retrieve Custom Field","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Custom field retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_623"}},"schemaId":"schema_623"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1asset-custom-fields~1{field_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_623","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_623"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/getassetcustomfield"}],"panels":[]}]},"httpPath":"/asset-custom-fields/{field_id}"},{"label":"Update Custom Field","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/updateassetcustomfield","routeSlug":"/api/asset-management/updateassetcustomfield","metadata":{"seo":{"title":"Update Custom Field","description":"Update a custom field definition. The type is immutable: any attempt to change it returns 422. For dropdown fields you may add/edit/remove options. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateAssetCustomField","name":"Update Custom Field","isWebhook":false,"pointer":"/paths/~1asset-custom-fields~1{field_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Custom Field","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update a custom field definition. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"immutable"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": any attempt to change it returns 422. For dropdown fields you may add/edit/remove "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"field_id","in":"path","schemaId":"schema_624","description":"Encrypted custom field ID.","required":true}],"pointer":"/paths/~1asset-custom-fields~1{field_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_625","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/requestBody/content/application~1json/example"]}},"schemaId":"schema_625","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/requestBody/content/application~1json/example"],"pointer":"/paths/~1asset-custom-fields~1{field_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/asset-custom-fields/{field_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"field_id","in":"path","required":true,"example":"a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d","schemaId":"schema_624"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_625","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/asset-custom-fields/{field_id}","href":"asset-management/updateassetcustomfield","openApiOperationId":"updateAssetCustomField","summary":"Update Custom Field","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_625","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_625","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Custom field updated successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_623"}},"schemaId":"schema_623"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1asset-custom-fields~1{field_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_623","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_623"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/updateassetcustomfield"}],"panels":[]}]},"httpPath":"/asset-custom-fields/{field_id}"},{"label":"Delete Custom Field","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/asset-management/deleteassetcustomfield","routeSlug":"/api/asset-management/deleteassetcustomfield","metadata":{"seo":{"title":"Delete Custom Field","description":"Delete a custom field definition. All values stored under this field on every asset are also deleted (cascade). This is irreversible. Access: Plus plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAssetCustomField","name":"Delete Custom Field","isWebhook":false,"pointer":"/paths/~1asset-custom-fields~1{field_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Custom Field","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a custom field definition. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All values stored under this field on every asset are also deleted (cascade)"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". This is irreversible. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Plus plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"field_id","in":"path","schemaId":"schema_624","description":"Encrypted custom field ID.","required":true}],"pointer":"/paths/~1asset-custom-fields~1{field_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"]}},"schemaId":"schema_387","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"],"pointer":"/paths/~1asset-custom-fields~1{field_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/asset-custom-fields/{field_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"field_id","in":"path","required":true,"example":"a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d","schemaId":"schema_624"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/asset-custom-fields/{field_id}","href":"asset-management/deleteassetcustomfield","openApiOperationId":"deleteAssetCustomField","summary":"Delete Custom Field","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Custom field deleted successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_626"}},"schemaId":"schema_626"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1asset-custom-fields~1{field_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_626","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_626"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1asset-custom-fields~1{field_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asset-management/deleteassetcustomfield"}],"panels":[]}]},"httpPath":"/asset-custom-fields/{field_id}"}],"content":{"contentType":"group","meta":{"name":"Asset Management"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Asset Management","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manage company-owned hardware inventory scoped to a workspace. Includes asset CRUD with property and custom-field support, asset type definitions (system + workspace-custom), and custom field definitions (text, number, date, checkbox, dropdown)."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/assets","summary":"List Assets","prefix":{"name":"get","color":"get"},"badges":[],"link":"/asset-management/getassets","deprecated":false},{"title":"/assets","summary":"Create Asset","prefix":{"name":"post","color":"post"},"badges":[],"link":"/asset-management/createasset","deprecated":false},{"title":"/assets/{asset_id}","summary":"Retrieve Asset","prefix":{"name":"get","color":"get"},"badges":[],"link":"/asset-management/getasset","deprecated":false},{"title":"/assets/{asset_id}","summary":"Update Asset","prefix":{"name":"put","color":"put"},"badges":[],"link":"/asset-management/updateasset","deprecated":false},{"title":"/assets/{asset_id}","summary":"Delete Asset","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/asset-management/deleteasset","deprecated":false},{"title":"/assets/{asset_id}/restore","summary":"Restore Asset","prefix":{"name":"post","color":"post"},"badges":[],"link":"/asset-management/restoreasset","deprecated":false},{"title":"/assets/{asset_id}/assign","summary":"Assign Asset","prefix":{"name":"post","color":"post"},"badges":[],"link":"/asset-management/assignasset","deprecated":false},{"title":"/assets/{asset_id}/unassign","summary":"Unassign Asset","prefix":{"name":"post","color":"post"},"badges":[],"link":"/asset-management/unassignasset","deprecated":false},{"title":"/asset-types","summary":"List Asset Types","prefix":{"name":"get","color":"get"},"badges":[],"link":"/asset-management/getassettypes","deprecated":false},{"title":"/asset-types","summary":"Create Asset Type","prefix":{"name":"post","color":"post"},"badges":[],"link":"/asset-management/createassettype","deprecated":false},{"title":"/asset-types/{type_id}","summary":"Retrieve Asset Type","prefix":{"name":"get","color":"get"},"badges":[],"link":"/asset-management/getassettype","deprecated":false},{"title":"/asset-types/{type_id}","summary":"Update Asset Type","prefix":{"name":"put","color":"put"},"badges":[],"link":"/asset-management/updateassettype","deprecated":false},{"title":"/asset-types/{type_id}","summary":"Delete Asset Type","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/asset-management/deleteassettype","deprecated":false},{"title":"/asset-custom-fields","summary":"List Custom Fields","prefix":{"name":"get","color":"get"},"badges":[],"link":"/asset-management/getassetcustomfields","deprecated":false},{"title":"/asset-custom-fields","summary":"Create Custom Field","prefix":{"name":"post","color":"post"},"badges":[],"link":"/asset-management/createassetcustomfield","deprecated":false},{"title":"/asset-custom-fields/{field_id}","summary":"Retrieve Custom Field","prefix":{"name":"get","color":"get"},"badges":[],"link":"/asset-management/getassetcustomfield","deprecated":false},{"title":"/asset-custom-fields/{field_id}","summary":"Update Custom Field","prefix":{"name":"put","color":"put"},"badges":[],"link":"/asset-management/updateassetcustomfield","deprecated":false},{"title":"/asset-custom-fields/{field_id}","summary":"Delete Custom Field","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/asset-management/deleteassetcustomfield","deprecated":false}]}]}]}]}},{"type":"group","label":"Custom Fields","link":"/api/custom-fields","routeSlug":"/api/custom-fields","items":[{"label":"List Custom Fields","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/custom-fields/getcustomfields","routeSlug":"/api/custom-fields/getcustomfields","metadata":{"seo":{"title":"List Custom Fields","description":"List workspace custom-field definitions. Use the optional target filter to return only fields scoped to project, task, or member. Fields are owner-scoped. Access: higher-tier plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCustomFields","name":"List Custom Fields","isWebhook":false,"pointer":"/paths/~1custom-fields/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Custom Fields","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List workspace custom-field definitions. Use the optional "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"target"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter to return only fields scoped to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"task"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Fields are owner-scoped. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": higher-tier plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true},{"name":"target","in":"query","schemaId":"schema_627","description":"Filter fields by the entity they target."},{"name":"page","in":"query","schemaId":"schema_359","description":"Page number for pagination."},{"name":"per_page","in":"query","schemaId":"schema_360","description":"Number of items per page (max 100)."}],"pointer":"/paths/~1custom-fields/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/custom-fields","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"},{"name":"target","in":"query","required":false,"example":"project","schemaId":"schema_627"},{"name":"page","in":"query","required":false,"schemaId":"schema_359"},{"name":"per_page","in":"query","required":false,"schemaId":"schema_360"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","422","500"],"pointer":"/custom-fields","href":"custom-fields/getcustomfields","openApiOperationId":"getCustomFields","summary":"List Custom Fields","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of custom field definitions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_628"}},"schemaId":"schema_628"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/403/content/application~1json/example"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1custom-fields/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_628","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_628"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/403/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/custom-fields/getcustomfields"}],"panels":[]}]},"httpPath":"/custom-fields"},{"label":"Create Custom Field","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/custom-fields/createcustomfield","routeSlug":"/api/custom-fields/createcustomfield","metadata":{"seo":{"title":"Create Custom Field","description":"Define a new custom field. type and target are immutable after creation. For type: dropdown, options is required and must be a non-empty array of strings (max 10, each ≤255 chars); options are deduplicated and empties are stripped. A maximum of 20 fields per target is allowed. Access: higher-tier plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createCustomField","name":"Create Custom Field","isWebhook":false,"pointer":"/paths/~1custom-fields/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Custom Field","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Define a new custom field. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"target"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"immutable"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" after creation. For "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type: dropdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required and must be a non-empty array of strings (max 10, each ≤255 chars); options are deduplicated and empties are stripped. A maximum of 20 fields per target is allowed. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": higher-tier plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_629","exampleIds":["paths/~1custom-fields/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_629","exampleIds":["paths/~1custom-fields/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1custom-fields/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/custom-fields","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_629","exampleIds":["paths/~1custom-fields/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403","422","500"],"pointer":"/custom-fields","href":"custom-fields/createcustomfield","openApiOperationId":"createCustomField","summary":"Create Custom Field","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_629","exampleIds":["paths/~1custom-fields/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_629","exampleIds":["paths/~1custom-fields/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Custom field created successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_630"}},"schemaId":"schema_630"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/403/content/application~1json/example"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1custom-fields/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_630","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_630"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/403/content/application~1json/example"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/custom-fields/createcustomfield"}],"panels":[]}]},"httpPath":"/custom-fields"},{"label":"Get Single Custom Field","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/custom-fields/getcustomfield","routeSlug":"/api/custom-fields/getcustomfield","metadata":{"seo":{"title":"Get Single Custom Field","description":"Retrieve a single custom field definition by its encrypted ID. Owner-scoped. Access: higher-tier plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCustomField","name":"Get Single Custom Field","isWebhook":false,"pointer":"/paths/~1custom-fields~1{field_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Single Custom Field","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single custom field definition by its encrypted ID. Owner-scoped. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": higher-tier plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["read"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"field_id","in":"path","schemaId":"schema_624","description":"Encrypted custom field ID.","required":true}],"pointer":"/paths/~1custom-fields~1{field_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"workspace_id","in":"query","schemaId":"schema_364","description":"ID of the workspace member record.","required":true}],"pointer":"/paths/~1custom-fields~1{field_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/custom-fields/{field_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"field_id","in":"path","required":true,"example":"a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d","schemaId":"schema_624"}],"query":[{"name":"workspace_id","in":"query","required":true,"example":1,"schemaId":"schema_364"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["read"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/custom-fields/{field_id}","href":"custom-fields/getcustomfield","openApiOperationId":"getCustomField","summary":"Get Single Custom Field","securityGroups":[{"oauth2":["read"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Custom field retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_630"}},"schemaId":"schema_630"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1custom-fields~1{field_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_630","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_630"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/custom-fields/getcustomfield"}],"panels":[]}]},"httpPath":"/custom-fields/{field_id}"},{"label":"Update Custom Field","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/custom-fields/updatecustomfield","routeSlug":"/api/custom-fields/updatecustomfield","metadata":{"seo":{"title":"Update Custom Field","description":"Update a custom field definition. Only name and (for dropdown fields) options are editable — type and target are immutable and any attempt to change them returns 422. Access: higher-tier plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateCustomField","name":"Update Custom Field","isWebhook":false,"pointer":"/paths/~1custom-fields~1{field_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Custom Field","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update a custom field definition. Only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and (for dropdown fields) "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are editable — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"target"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"immutable"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and any attempt to change them returns 422. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": higher-tier plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"field_id","in":"path","schemaId":"schema_624","description":"Encrypted custom field ID.","required":true}],"pointer":"/paths/~1custom-fields~1{field_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_631","exampleIds":["paths/~1custom-fields~1{field_id}/put/requestBody/content/application~1json/example"]}},"schemaId":"schema_631","exampleIds":["paths/~1custom-fields~1{field_id}/put/requestBody/content/application~1json/example"],"pointer":"/paths/~1custom-fields~1{field_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/custom-fields/{field_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"field_id","in":"path","required":true,"example":"a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d","schemaId":"schema_624"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_631","exampleIds":["paths/~1custom-fields~1{field_id}/put/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/custom-fields/{field_id}","href":"custom-fields/updatecustomfield","openApiOperationId":"updateCustomField","summary":"Update Custom Field","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_631","exampleIds":["paths/~1custom-fields~1{field_id}/put/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_631","exampleIds":["paths/~1custom-fields~1{field_id}/put/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Custom field updated successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_630"}},"schemaId":"schema_630"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1custom-fields~1{field_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_630","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_630"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/put/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/custom-fields/updatecustomfield"}],"panels":[]}]},"httpPath":"/custom-fields/{field_id}"},{"label":"Delete Custom Field","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api/custom-fields/deletecustomfield","routeSlug":"/api/custom-fields/deletecustomfield","metadata":{"seo":{"title":"Delete Custom Field","description":"Delete a custom field definition. All values stored under this field on every project/task/member are also deleted (cascade). This is irreversible. Access: higher-tier plan + Owner/Executive Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteCustomField","name":"Delete Custom Field","isWebhook":false,"pointer":"/paths/~1custom-fields~1{field_id}/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Custom Field","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a custom field definition. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All values stored under this field on every project/task/member are also deleted (cascade)"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". This is irreversible. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": higher-tier plan + Owner/Executive Manager."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["write"],"type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}]},{"schemes":[{"name":"apiKey","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"field_id","in":"path","schemaId":"schema_624","description":"Encrypted custom field ID.","required":true}],"pointer":"/paths/~1custom-fields~1{field_id}/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"]}},"schemaId":"schema_387","exampleIds":["paths/~1custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"],"pointer":"/paths/~1custom-fields~1{field_id}/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/custom-fields/{field_id}","servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"parameters":{"path":[{"name":"field_id","in":"path","required":true,"example":"a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d","schemaId":"schema_624"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}}],"scopes":["write"]},{"schemes":[{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","422","500"],"pointer":"/custom-fields/{field_id}","href":"custom-fields/deletecustomfield","openApiOperationId":"deleteCustomField","summary":"Delete Custom Field","securityGroups":[{"oauth2":["write"]},{"apiKey":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}],"schemaId":"schema_387","exampleIds":["paths/~1custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_387","exampleIds":["paths/~1custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Custom field deleted successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_596"}},"schemaId":"schema_596"},{"code":"400","description":"Bad request - invalid parameters or missing required fields","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]},{"code":"401","description":"Authentication required - invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/401/content/application~1json/example"]},{"code":"403","description":"Access denied - insufficient permissions","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found"]},{"code":"422","description":"Validation failed - request data is invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/422/content/application~1json/example"]},{"code":"500","description":"Internal server error - unexpected error occurred","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1custom-fields~1{field_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_596","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_596"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id","paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id","paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found","paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found","paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found"]}}},{"code":"422","schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1custom-fields~1{field_id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/custom-fields/deletecustomfield"}],"panels":[]}]},"httpPath":"/custom-fields/{field_id}"}],"content":{"contentType":"group","meta":{"name":"Custom Fields"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Custom Fields","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Define workspace custom fields (text, large_text, number, dropdown, checkbox, date) that target projects, tasks, or members. This tag covers definition CRUD; the stored values are exposed read-only on the Projects, Tasks, and Members endpoints under the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_fields"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" property."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/custom-fields","summary":"List Custom Fields","prefix":{"name":"get","color":"get"},"badges":[],"link":"/custom-fields/getcustomfields","deprecated":false},{"title":"/custom-fields","summary":"Create Custom Field","prefix":{"name":"post","color":"post"},"badges":[],"link":"/custom-fields/createcustomfield","deprecated":false},{"title":"/custom-fields/{field_id}","summary":"Get Single Custom Field","prefix":{"name":"get","color":"get"},"badges":[],"link":"/custom-fields/getcustomfield","deprecated":false},{"title":"/custom-fields/{field_id}","summary":"Update Custom Field","prefix":{"name":"put","color":"put"},"badges":[],"link":"/custom-fields/updatecustomfield","deprecated":false},{"title":"/custom-fields/{field_id}","summary":"Delete Custom Field","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/custom-fields/deletecustomfield","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/TeamMember":{"id":"components/schemas/TeamMember","kind":"json-schema","title":"TeamMember","data":{"type":"object","description":"A member assigned to a team, with their manager status for that team.","properties":{"id":{"type":"integer","description":"Raw user id.","example":42},"firstname":{"type":"string","nullable":true,"example":"Jane"},"lastname":{"type":"string","nullable":true,"example":"Doe"},"email":{"type":"string","nullable":true,"example":"jane@acme.com"},"is_manager":{"type":"boolean","description":"True only when the member is flagged as manager of this team AND holds the Team Manager workspace role. A stale flag on a member with any other role reports false.","example":false}}}},"components/schemas/TitleMember":{"id":"components/schemas/TitleMember","kind":"json-schema","title":"TitleMember","data":{"type":"object","description":"A member assigned to a title (no manager concept).","properties":{"id":{"type":"integer","description":"Raw user id.","example":42},"firstname":{"type":"string","nullable":true,"example":"Jane"},"lastname":{"type":"string","nullable":true,"example":"Doe"},"email":{"type":"string","nullable":true,"example":"jane@acme.com"}}}},"components/schemas/Team":{"id":"components/schemas/Team","kind":"json-schema","title":"Team","data":{"type":"object","description":"A workspace team with its assigned members.","properties":{"id":{"type":"string","description":"Opaque encoded team id.","example":"encoded_id_string"},"name":{"type":"string","example":"Engineering"},"members":{"type":"array","items":{"$ref":"#/components/schemas/TeamMember"}},"created_at":{"type":"string","format":"date-time","example":"2026-08-13T14:15:22Z"},"updated_at":{"type":"string","format":"date-time","example":"2026-08-13T14:15:22Z"}}}},"components/schemas/Title":{"id":"components/schemas/Title","kind":"json-schema","title":"Title","data":{"type":"object","description":"A workspace title with its assigned members.","properties":{"id":{"type":"string","description":"Opaque encoded title id.","example":"encoded_id_string"},"name":{"type":"string","example":"Senior Developer"},"members":{"type":"array","items":{"$ref":"#/components/schemas/TitleMember"}},"created_at":{"type":"string","format":"date-time","example":"2026-08-13T14:15:22Z"},"updated_at":{"type":"string","format":"date-time","example":"2026-08-13T14:15:22Z"}}}},"components/schemas/ProjectGroup":{"id":"components/schemas/ProjectGroup","kind":"json-schema","title":"ProjectGroup","data":{"type":"object","description":"A workspace project group with its assigned projects.","properties":{"id":{"type":"string","description":"Opaque encoded project group id.","example":"encoded_id_string"},"name":{"type":"string","example":"Client Work"},"projects":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Projects assigned to this group. Each "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a raw integer — the same value used as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the assign / unassign paths and by the Projects endpoints."},"children":[]}]}]}],"items":{"type":"object","properties":{"id":{"type":"integer","example":100},"name":{"type":"string","example":"Website Redesign"}}}},"created_at":{"type":"string","format":"date-time","example":"2026-08-13T14:15:22Z"},"updated_at":{"type":"string","format":"date-time","example":"2026-08-13T14:15:22Z"}}}},"components/schemas/WebhookEventName":{"id":"components/schemas/WebhookEventName","kind":"json-schema","title":"WebhookEventName","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A WebWork webhook event type. Each value's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"x-enumDescriptions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entry explains when the event fires."},"children":[]}]}]}],"enum":["tracker.started","tracker.stopped","member.invited","member.updated","member.deleted","member.activated","member.archived","member.first_clock_in","member.non_productive_app","project.created","project.updated","project.deleted","project.archived","task.created","task.updated","task.deleted","task.comment.updated","task.assignee.updated","contract.created","contract.updated","contract.deleted","contract.paused","contract.activated","timesheet.created","timesheet.updated","notification.created"],"x-enumDescriptions":{"tracker.started":"Fires when a member starts the time tracker (clocks in and begins a tracking session).","tracker.stopped":"Fires when a member stops the time tracker (clocks out and ends a tracking session).","member.invited":"Fires when a new member is invited to the workspace.","member.updated":"Fires when a member's profile or workspace settings change.","member.deleted":"Fires when a member is removed from the workspace.","member.activated":"Fires when an invited member's account becomes active (the invitation is accepted).","member.archived":"Fires when a member is archived (deactivated but kept for reporting).","member.first_clock_in":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fires on a member's first clock-in of the day — once per member per day; later clock-ins that day do not fire it."},"children":[]}]}]}],"member.non_productive_app":"Fires when a member switches to an app or website classified as non-productive.","project.created":"Fires when a project is created.","project.updated":"Fires when a project's details are updated.","project.deleted":"Fires when a project is deleted.","project.archived":"Fires when a project is archived.","task.created":"Fires when a task is created.","task.updated":"Fires when a task's details are updated.","task.deleted":"Fires when a task is deleted.","task.comment.updated":"Fires when a comment on a task is added or updated.","task.assignee.updated":"Fires when a task's assignee changes.","contract.created":"Fires when a contract (a member's work/pay agreement) is created.","contract.updated":"Fires when a contract's details are updated.","contract.deleted":"Fires when a contract is deleted.","contract.paused":"Fires when a contract is paused.","contract.activated":"Fires when a contract is activated or resumed.","timesheet.created":"Fires when a timesheet is created.","timesheet.updated":"Fires when a timesheet changes state (e.g. submitted, approved, rejected, or reopened).","notification.created":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fires when a WebWork notification is delivered to the subscribing user. Unlike other event types (unique per workspace), notification.created is unique per user — each Owner/Executive Manager may register it on their own webhook and receives only their own notifications. Which notification types fire is controlled per type in Notification Settings (the Webhook column); all types are OFF by default — enable the ones to receive after subscribing. Payload "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" items carry "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"notification_event"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"body_html"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"link"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"recipient"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}},"components/schemas/Screenshot":{"id":"components/schemas/Screenshot","kind":"json-schema","title":"Screenshot","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Encrypted UUID identifier for the screenshot","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"taken_at":{"type":"string","format":"date-time","description":"Capture time (UTC)","example":"2026-07-08T09:40:00.000Z"},"timestamp":{"type":"integer","description":"Capture time as a Unix timestamp (UTC)","example":1783503600},"member":{"type":"object","description":"The member the screenshot was captured for","properties":{"id":{"type":"integer","example":100},"fullname":{"type":"string","nullable":true,"example":"John Doe"},"email":{"type":"string","nullable":true,"example":"john@example.com"}}},"project":{"type":"object","nullable":true,"description":"Project context (null for project-less captures)","properties":{"id":{"type":"integer","example":10},"name":{"type":"string","example":"Website Redesign"}}},"task":{"type":"object","nullable":true,"description":"Task being tracked at capture time (null when no task)","properties":{"id":{"type":"integer","example":5},"title":{"type":"string","example":"Update homepage design"}}}}}},"components/schemas/Meta":{"id":"components/schemas/Meta","kind":"json-schema","title":"Meta","data":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"}}}},"components/schemas/Pagination":{"id":"components/schemas/Pagination","kind":"json-schema","title":"Pagination","data":{"type":"object","properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":3},"from":{"type":"integer","example":1},"to":{"type":"integer","example":20}}}},"components/schemas/ErrorResponse":{"id":"components/schemas/ErrorResponse","kind":"json-schema","title":"ErrorResponse","data":{"type":"object","required":["success","error","meta"],"properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error message describing what went wrong (single-message errors: 400/401/403/404/500). Validation failures (422) use the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" map instead — see ValidationErrorResponse."},"children":[]}]}]}],"example":"Shift not found"},"meta":{"$ref":"#/components/schemas/Meta"}}}},"components/schemas/ValidationErrorResponse":{"id":"components/schemas/ValidationErrorResponse","kind":"json-schema","title":"ValidationErrorResponse","data":{"type":"object","required":["success","errors","meta"],"properties":{"success":{"type":"boolean","example":false},"errors":{"type":"object","description":"Object containing validation error messages for each field","additionalProperties":{"type":"array","items":{"type":"string"}},"example":{"email":["The email field is required.","The email must be a valid email address."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]}},"meta":{"$ref":"#/components/schemas/Meta"}}}},"components/schemas/Workspace":{"id":"components/schemas/Workspace","kind":"json-schema","title":"Workspace","data":{"type":"object","required":["id","owner_id","user_id","workspace_name","role","status","created_at","activated_at"],"properties":{"id":{"type":"integer","description":"Unique identifier for the workspace","example":1},"owner_id":{"type":"integer","description":"ID of the workspace owner","example":10},"user_id":{"type":"integer","description":"ID of the user associated with this workspace","example":100},"workspace_name":{"type":"string","description":"Name of the workspace","example":"WebWork Workspace"},"role":{"type":"string","enum":["Owner","Project viewer","Executive manager","Team manager","Project manager","Regular User"],"description":"Role of the user in this workspace","example":"Team manager"},"status":{"type":"string","enum":["active","inactive","left","unknown"],"description":"Status of the workspace","example":"active"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when workspace was created","example":"2025-02-19T19:24:55.000000Z"},"activated_at":{"type":"string","description":"Timestamp when workspace was activated","example":"2025-02-19 19:24:55"}}}},"components/schemas/Member":{"id":"components/schemas/Member","kind":"json-schema","title":"Member","data":{"type":"object","required":["id","email","firstname","lastname","current_role","status","is_blocked"],"properties":{"id":{"type":"integer","description":"Unique identifier for the member","example":100},"email":{"type":"string","format":"email","description":"Email address of the member","example":"john.doe@example.com"},"firstname":{"type":"string","description":"First name of the member","example":"John"},"lastname":{"type":"string","description":"Last name of the member","example":"Doe"},"avatar":{"type":"string","description":"Absolute URL of the member's avatar (an uploaded photo or a generated gradient). Always present.","example":"https://app.webwork-tracker.com/avatar/12345/128/886ccea0abfb6cad-generated.png"},"current_role":{"type":"string","description":"Role of the member in the workspace","enum":["Owner","Project viewer","Executive manager","Team manager","Project manager","Regular User"],"example":"Regular User"},"timezone":{"type":"string","nullable":true,"description":"Timezone of the member","example":"America/New_York"},"status":{"type":"string","enum":["active","inactive","left","unknown"],"description":"Status of the member","example":"active"},"team_name":{"type":"string","nullable":true,"description":"Team name associated with the member","example":"Development Team"},"title":{"type":"string","nullable":true,"description":"Job title or designation of the member","example":"Senior Developer, Manager"},"birth_date":{"type":"string","format":"date","nullable":true,"description":"Birth date of the member","example":"1990-01-01"},"hired_at":{"type":"string","format":"date-time","nullable":true,"description":"Date when the member was hired","example":"2023-01-15T09:00:00Z"},"preferred_timezone":{"type":"string","nullable":true,"description":"Preferred timezone of the member","example":"America/New_York"},"settings_max_inactive_minutes":{"type":"integer","nullable":true,"description":"Maximum inactive minutes setting","example":15},"currency":{"type":"string","nullable":true,"description":"Currency used by the member","example":"USD"},"rate":{"type":"number","format":"float","nullable":true,"description":"Hourly or salary rate","example":50},"rate_type":{"type":"string","nullable":true,"description":"Type of rate (Hourly or salary frequency)","example":"Hourly"},"rate_status":{"type":"integer","nullable":true,"description":"Rate status (0 or 1)","example":1},"tax_country":{"type":"string","nullable":true,"description":"Tax country code","example":"US"},"tax_state":{"type":"string","nullable":true,"description":"Tax state code","example":"NY"},"is_blocked":{"type":"boolean","description":"Whether the member is blocked","example":false},"weekly_hours_limit":{"type":"integer","nullable":true,"description":"Weekly hours limit","example":40},"screenshots":{"type":"string","nullable":true,"description":"Screenshots visibility setting","example":"blur"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when member account was created","example":"2023-01-15T09:00:00Z"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when member was last updated","example":"2023-01-15T09:00:00Z"},"deleted_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when member was deleted (soft delete)","example":null},"custom_fields":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workspace-defined member custom fields as a list of {id,name,type,value} objects. Returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the member has no values set. Each stored field is a separate entry, so duplicate field names are preserved. Checkbox values are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Yes\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"No\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; dropdown returns the selected option label; other types return their stored value. Owner-scoped — only fields owned by this workspace are returned. Read-only."},"children":[]}]}]}],"items":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted custom field ID."},"name":{"type":"string"},"type":{"type":"string","enum":["text","large_text","number","dropdown","checkbox","date"]},"value":{"type":"string","nullable":true}}},"example":[{"id":"3a8978fa-5bb3-e2fc-faec-e2d839678428","name":"Department","type":"text","value":"Engineering"},{"id":"914b58ff-a405-5370-ed41-fe4e48cd0074","name":"Active","type":"checkbox","value":"Yes"}]}}}},"components/schemas/Project":{"id":"components/schemas/Project","kind":"json-schema","title":"Project","data":{"type":"object","required":["id","name","owner_id"],"properties":{"id":{"type":"integer","description":"Unique identifier for the project","example":100},"name":{"type":"string","description":"Name of the project","example":"Marketing Campaign Q1"},"owner_id":{"type":"integer","description":"ID of the workspace owner","example":10},"start_date":{"type":"string","format":"date","nullable":true,"description":"Project start date","example":"2024-01-15"},"deadline":{"type":"string","format":"date","nullable":true,"description":"Project deadline","example":"2024-03-31"},"estimation":{"type":"number","nullable":true,"description":"Estimated hours","example":120},"budget_estimation":{"type":"number","nullable":true,"description":"Budget estimation","example":5000},"notes":{"type":"string","nullable":true,"description":"Project notes","example":"Focus on social media channels"},"icon":{"type":"string","nullable":true,"description":"Project icon identifier","example":"project-icon-1"},"is_billable":{"type":"boolean","description":"Whether the project is billable","example":true},"rate":{"type":"number","nullable":true,"description":"Project rate","example":0},"weekly_hours_limit":{"type":"integer","nullable":true,"description":"Weekly hours limit for the project","example":168},"screenshots":{"type":"string","nullable":true,"description":"Screenshots visibility setting","example":"blur"},"tags":{"type":"array","description":"Project tags","items":{"type":"object","properties":{"id":{"type":"integer","example":5},"name":{"type":"string","example":"Marketing"},"color":{"type":"string","nullable":true,"example":"#FF5733"}}},"example":[{"id":5,"name":"Marketing","color":"#FF5733"}]},"contracts_count":{"type":"integer","description":"Number of active contracts (members assigned to the project)","example":3},"status":{"type":"integer","description":"Project status","example":1},"created_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when project was created","example":"2024-01-15T09:00:00Z"},"updated_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when project was last updated","example":"2024-01-15T09:00:00Z"},"deleted_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when project was deleted (soft delete)","example":null},"custom_fields":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workspace-defined project custom fields as a list of {id,name,type,value} objects. Returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the project has no values set. Each stored field is a separate entry, so duplicate field names are preserved. Checkbox values are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Yes\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"No\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; dropdown returns the selected option label; other types return their stored value. Owner-scoped — only fields owned by this workspace are returned."},"children":[]}]}]}],"items":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted custom field ID."},"name":{"type":"string"},"type":{"type":"string","enum":["text","large_text","number","dropdown","checkbox","date"]},"value":{"type":"string","nullable":true}}},"example":[{"id":"3a8978fa-5bb3-e2fc-faec-e2d839678428","name":"StripeID","type":"text","value":"cus_OabcDEFG123"},{"id":"914b58ff-a405-5370-ed41-fe4e48cd0074","name":"Owner","type":"text","value":"Acme Holdings"}]}}}},"components/schemas/Contract":{"id":"components/schemas/Contract","kind":"json-schema","title":"Contract","data":{"type":"object","required":["id","project_id","user_id","status"],"properties":{"id":{"type":"integer","description":"Unique identifier for the contract","example":100},"project_id":{"type":"integer","description":"ID of the project","example":100},"project_name":{"type":"string","nullable":true,"description":"Name of the project","example":"Marketing Campaign Q1"},"project_icon":{"type":"string","nullable":true,"description":"Project icon identifier","example":"project-icon-1"},"user_id":{"type":"integer","description":"ID of the user (member)","example":100},"user_firstname":{"type":"string","nullable":true,"description":"First name of the user","example":"John"},"user_lastname":{"type":"string","nullable":true,"description":"Last name of the user","example":"Doe"},"user_email":{"type":"string","nullable":true,"description":"Email of the user","example":"john.doe@example.com"},"user_role":{"type":"string","nullable":true,"enum":["Owner","Executive manager","Team manager","Project manager","Regular User","Project viewer","Client"],"description":"Role of the user in the workspace","example":"Regular User"},"weekly_hours_limit":{"type":"integer","nullable":true,"description":"Weekly hours limit","example":40},"screenshots":{"type":"string","nullable":true,"description":"Screenshot mode code","example":"full"},"screenshots_label":{"type":"string","nullable":true,"description":"Screenshot mode label","example":"Screenshot on"},"rate":{"type":"number","nullable":true,"description":"Hourly rate (only visible if user has permission to view rates AND project is billable)","example":50},"rate_type":{"type":"integer","nullable":true,"description":"Rate type (1: Custom Rate, 2: Member Rate, 3: Project Rate)","example":1},"status":{"type":"string","enum":["active","paused"],"description":"Contract status","example":"active"},"currency":{"type":"string","nullable":true,"description":"Currency code","example":"USD"},"created_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when contract was created","example":"2024-01-15T09:00:00Z"},"updated_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when contract was last updated","example":"2024-01-15T09:00:00Z"}}}},"components/schemas/ContractListResponse":{"id":"components/schemas/ContractListResponse","kind":"json-schema","title":"ContractListResponse","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Contracts retrieved successfully"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Contract"}},"meta":{"$ref":"#/components/schemas/Meta"},"pagination":{"type":"object","properties":{"current_page":{"type":"integer","example":1},"per_page":{"type":"integer","example":20},"total":{"type":"integer","example":50},"last_page":{"type":"integer","example":3}}}}}},"components/schemas/ContractResponse":{"id":"components/schemas/ContractResponse","kind":"json-schema","title":"ContractResponse","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Contract retrieved successfully"},"data":{"$ref":"#/components/schemas/Contract"},"meta":{"$ref":"#/components/schemas/Meta"}}}},"components/schemas/WorkspaceListResponse":{"id":"components/schemas/WorkspaceListResponse","kind":"json-schema","title":"WorkspaceListResponse","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}},"meta":{"$ref":"#/components/schemas/Meta"}}}},"components/schemas/TrackedHoursReport":{"id":"components/schemas/TrackedHoursReport","kind":"json-schema","title":"TrackedHoursReport","data":{"type":"object","properties":{"report_type":{"type":"string","example":"tracked_hours","description":"Type of report"},"user_id":{"type":"integer","nullable":true,"example":100,"description":"User ID when filtering by specific user (returns day-by-day breakdown)"},"start_date":{"type":"string","format":"date","example":"2024-01-01","description":"Report start date"},"end_date":{"type":"string","format":"date","example":"2024-01-31","description":"Report end date"},"total":{"type":"object","description":"Total aggregated data across all dates and users","properties":{"total_minutes":{"type":"integer","description":"Total tracked minutes across all users and dates","example":1440},"inactive_minutes":{"type":"integer","description":"Total inactive minutes across all users and dates","example":120},"total_amount":{"type":"object","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total amounts by currency (only present if user has access to rates, rate_status = 1). Object with currency codes as keys."},"children":[]}]}]}],"additionalProperties":{"type":"number","format":"float","example":155.67},"example":{"USD":155.67,"EUR":140.5}},"total_bill_amount":{"type":"object","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ADDITIVE. Total bill amount by currency (sum of every entry's bill_amount). Present only when the caller has bill-rate access (bill_rate_status = 1)."},"children":[]}]}]}],"additionalProperties":{"type":"number","format":"float"},"example":{"USD":228}}},"required":["total_minutes"]},"daily_breakdown":{"type":"object","description":"Day-by-day breakdown grouped by date. Each date key contains a users array.","additionalProperties":{"type":"object","properties":{"users":{"type":"array","description":"Array of users with tracked time for this date","items":{"type":"object","properties":{"user_id":{"type":"integer","example":100,"description":"User ID"},"total_minutes":{"type":"integer","example":304,"description":"Tracked time in minutes (not formatted, e.g., 304 instead of \"5h 4m\"). Aggregated across all tracking methods."},"inactive_minutes":{"type":"integer","example":25,"description":"Inactive time in minutes for this user, project, and contract combination on this date"},"project_id":{"type":"integer","nullable":true,"example":10,"description":"Project ID"},"contract_id":{"type":"integer","example":20,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contract ID from project_user_rel table"},"children":[]}]}]}]},"total_amount":{"type":"object","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Amounts by currency (only present if user has access to rates, rate_status = 1). Object with currency codes as keys."},"children":[]}]}]}],"additionalProperties":{"type":"number","format":"float","example":120.5},"example":{"USD":120.5,"EUR":110.25}},"bill_amount":{"type":"object","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ADDITIVE. Amount computed with the bill rate, by currency. Present only when the caller has bill-rate access (bill_rate_status = 1) and the entry has a non-zero bill amount."},"children":[]}]}]}],"additionalProperties":{"type":"number","format":"float"},"example":{"USD":228}},"pay_rate":{"type":"number","format":"float","nullable":true,"example":25,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ADDITIVE. Hourly pay rate from the active contract (project_user_rel.rate). Null when there is no active contract or the caller lacks rate access (rate_status = 1)."},"children":[]}]}]}]},"bill_rate":{"type":"number","format":"float","nullable":true,"example":45,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ADDITIVE. Hourly bill rate from the active contract (project_user_rel.bill_rate). Null when there is no active contract or the caller lacks bill-rate access (bill_rate_status = 1)."},"children":[]}]}]}]},"weekly_limit":{"type":"integer","nullable":true,"example":40,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ADDITIVE. Weekly hours limit from the active contract (project_user_rel.weekly_hours_limit). Null when there is no active contract. Not permission-gated."},"children":[]}]}]}]}},"required":["user_id","total_minutes","contract_id","pay_rate","bill_rate","weekly_limit"]}}}},"example":{"2024-01-15":{"users":[{"user_id":100,"total_minutes":304,"inactive_minutes":25,"project_id":10,"contract_id":20,"total_amount":{"USD":120.5},"bill_amount":{"USD":228},"pay_rate":25,"bill_rate":45,"weekly_limit":40},{"user_id":101,"total_minutes":480,"inactive_minutes":40,"project_id":11,"contract_id":21},{"user_id":102,"total_minutes":240,"inactive_minutes":20,"project_id":12,"contract_id":22,"total_amount":{"USD":95.25,"EUR":87.5}}]},"2024-01-16":{"users":[{"user_id":100,"total_minutes":480,"inactive_minutes":45,"project_id":10,"contract_id":20},{"user_id":101,"total_minutes":360,"inactive_minutes":30,"project_id":11,"contract_id":21},{"user_id":102,"total_minutes":300,"inactive_minutes":25,"project_id":12,"contract_id":22}]}}}},"required":["report_type","start_date","end_date","total","daily_breakdown"]}},"components/schemas/DailyActivityRow":{"id":"components/schemas/DailyActivityRow","kind":"json-schema","title":"DailyActivityRow","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One activity row. Metric fields are always present; the dimension fields (project/task/app/etc.) are omitted when the request narrows the row via the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"columns"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" parameter."},"children":[]}]}]}],"properties":{"time":{"type":"string","nullable":true,"description":"Clock time of the row (HH:mm). Present for ungrouped rows.","example":"09:00"},"mouse_actions":{"type":"integer","example":45},"keyboard_actions":{"type":"integer","example":120},"scroll_actions":{"type":"integer","example":8},"activity_level":{"type":"number","description":"Activity level for the row (0-100).","example":88},"total_minutes":{"type":"integer","example":1},"project_id":{"type":"integer","nullable":true,"example":10},"project_name":{"type":"string","nullable":true,"example":"Project Alpha"},"task_id":{"type":"integer","nullable":true,"example":5},"task_title":{"type":"string","nullable":true,"example":"Implement feature"},"description":{"type":"string","nullable":true,"example":"Working on API integration"},"app":{"type":"string","nullable":true,"description":"Active app/website as \"Name(type)\".","example":"Visual Studio Code(software)"},"productivity":{"type":"integer","nullable":true,"description":"App productivity rating (0 unproductive, 1 neutral, 2 productive).","example":2},"active_window_title":{"type":"string","nullable":true,"description":"Active window title (Plus/Premium plans only).","example":"api.yaml — webwork-tracker"},"url":{"type":"string","nullable":true,"example":""},"track_type":{"type":"string","nullable":true,"example":"Desktop tracker"},"category":{"type":"string","nullable":true,"example":"Development"}}}},"components/schemas/DailyTimelineReport":{"id":"components/schemas/DailyTimelineReport","kind":"json-schema","title":"DailyTimelineReport","data":{"type":"object","properties":{"date":{"type":"string","format":"date","example":"2024-01-15","description":"Date for the timeline report"},"total_users":{"type":"integer","example":5,"description":"Total number of users with timeline entries for this date"},"per_page":{"type":"integer","example":30,"description":"Number of users per page"},"current_page":{"type":"integer","example":1,"description":"Current page number"},"total_pages":{"type":"integer","example":1,"description":"Total number of pages"},"users":{"type":"array","description":"Array of users with their timeline entries for this date","items":{"type":"object","properties":{"user_id":{"type":"integer","example":100,"description":"User ID"},"member":{"type":"string","nullable":true,"example":"John Doe","description":"Full name of the user"},"total_minutes":{"type":"integer","example":480,"description":"Total tracked minutes for this user on this date"},"inactive_minutes":{"type":"integer","example":45,"description":"Total inactive minutes for this user on this date"},"total_amount":{"type":"number","nullable":true,"format":"float","example":240.5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total amount for this user across all time entries. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rate_status = 1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (rate visibility enabled). Sum of all time entry "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values from the timeline entries. Will be 0 if no amounts are set, but still included if rate visibility is enabled."},"children":[]}]}]}]},"currency":{"type":"string","nullable":true,"example":"USD","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Currency code for the total amount. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rate_status = 1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (rate visibility enabled). Retrieved from the workspace member record or falls back to workspace owner's currency. Will be null if not set, but still included if rate visibility is enabled."},"children":[]}]}]}]},"activity_level":{"type":"integer","nullable":true,"example":75,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Overall activity level percentage (0-100) for the user across all time entries for this date. Calculated using "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TimelineService::activity()"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" method based on aggregated "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mouse_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"keyboard_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scroll_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from all time entries, divided by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Formula: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"(avg_actions_per_minute / normative_actions_per_minute) * 100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", capped at 100. Always included (not conditional)."},"children":[]}]}]}]},"time_entries":{"type":"array","description":"Array of time entries (timeline intervals) for this user","items":{"type":"object","properties":{"start_time":{"type":"string","nullable":true,"format":"date-time","example":"2024-01-15T09:00:00+04:00","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start time of the time entry in ISO 8601 format with timezone offset. Time is displayed in the workspace owner's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"system_timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g., 2024-01-15T09:00:00+04:00 for Asia/Yerevan timezone). Format: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DDTHH:mm:ss±HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"end_time":{"type":"string","nullable":true,"format":"date-time","example":"2024-01-15T12:30:00+04:00","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End time of the time entry in ISO 8601 format with timezone offset. Time is displayed in the workspace owner's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"system_timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g., 2024-01-15T12:30:00+04:00 for Asia/Yerevan timezone). Format: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DDTHH:mm:ss±HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"total_minutes":{"type":"integer","example":210,"description":"Total minutes for this time entry"},"inactive_minutes":{"type":"integer","example":15,"description":"Inactive minutes for this time entry"},"project_id":{"type":"integer","nullable":true,"example":10,"description":"Project ID (null if no project assigned)"},"contract_id":{"type":"integer","nullable":true,"example":20,"description":"Contract ID (null if no contract assigned)"},"task_id":{"type":"integer","nullable":true,"example":5,"description":"Task ID (null if no task assigned)"},"task_title":{"type":"string","nullable":true,"example":"Implement feature","description":"Task title (if assigned)"},"project_name":{"type":"string","nullable":true,"example":"Project Alpha","description":"Project name"},"timezone":{"type":"string","example":"Asia/Yerevan","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Timezone identifier for this time entry. Retrieved from workspace owner's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"system_timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field in the users table, defaults to \"UTC\" if not set. This is the timezone used for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" formatting."},"children":[]}]}]}]},"total_amount":{"type":"number","nullable":true,"format":"float","example":105.25,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Amount for this time entry. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rate_status = 1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (rate visibility enabled). Taken directly from the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_timeline"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" table. Will be 0 if no amount is set, but still included if rate visibility is enabled."},"children":[]}]}]}]},"track_type":{"type":"string","nullable":true,"example":"Desktop tracker","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Type of tracking method used for this time entry. Possible values: \"Desktop tracker\", \"Extension tracker\", \"Web tracker\", \"Mobile tracker\", \"Manually added time\", \"Idle time\", \"Paid leave\", \"Paid break\", \"Paid holiday\". Retrieved directly from the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"track_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field in the timeline entry."},"children":[]}]}]}]},"activity_description":{"type":"string","nullable":true,"example":"Working on API integration","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activity description or memo for this time entry. Retrieved directly from the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"memo"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field in the timeline entry. Can be null if no memo was recorded."},"children":[]}]}]}]},"mouse_actions":{"type":"integer","nullable":true,"example":945,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total number of mouse actions recorded for this time entry. This is the cumulative count for the entire time entry duration, not per minute. Retrieved from the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mouse_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field in the timeline entry."},"children":[]}]}]}]},"keyboard_actions":{"type":"integer","nullable":true,"example":2520,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total number of keyboard actions recorded for this time entry. This is the cumulative count for the entire time entry duration, not per minute. Retrieved from the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"keyboard_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field in the timeline entry."},"children":[]}]}]}]},"scroll_actions":{"type":"integer","nullable":true,"example":168,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total number of scroll actions recorded for this time entry. This is the cumulative count for the entire time entry duration, not per minute. Retrieved from the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scroll"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field in the timeline entry."},"children":[]}]}]}]},"activity_level":{"type":"integer","example":85,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activity level percentage (0-100) for this specific time entry. Always included. Calculated using "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TimelineService::activity()"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" method based on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mouse_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"keyboard_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scroll_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Formula: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"((mouse_actions + keyboard_actions + scroll_actions) / total_minutes) / normative_actions_per_minute * 100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", capped at 100. Returns 0 if "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is 0."},"children":[]}]}]}]}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Field Order"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Fields are returned in the following order: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"contract_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"task_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"task_title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (conditional), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"track_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (conditional), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"activity_description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (conditional), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mouse_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (conditional), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"keyboard_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (conditional), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scroll_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (conditional), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"activity_level"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (always). "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional Fields"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is only included if workspace has "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rate_status = 1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (rate visibility enabled). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"track_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"activity_description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mouse_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"keyboard_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scroll_actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are only included if they have non-null values in the timeline entry. All other fields are always included but may be null."},"children":[]}]}]}]}}},"required":["user_id","total_minutes","time_entries"]}}},"required":["date","total_users","per_page","current_page","total_pages","users"]}},"components/schemas/AppsWebsitesOverviewReport":{"id":"components/schemas/AppsWebsitesOverviewReport","kind":"json-schema","title":"AppsWebsitesOverviewReport","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Apps & Websites usage overview report. Contains a paginated list of usage rows aggregated per member/project (and other visible dimensions)."},"children":[]}]}]}],"properties":{"report_type":{"type":"string","example":"apps_websites_overview","description":"Type of the report"},"start_date":{"type":"string","format":"date","example":"2024-01-01","description":"Start date of the report range"},"end_date":{"type":"string","format":"date","example":"2024-01-07","description":"End date of the report range"},"total_rows":{"type":"integer","example":42,"description":"Total number of usage rows across all pages"},"per_page":{"type":"integer","example":30,"description":"Number of rows per page"},"current_page":{"type":"integer","example":1,"description":"Current page number"},"total_pages":{"type":"integer","example":2,"description":"Total number of pages (always at least 1, even when there are no rows)"},"total_minutes":{"type":"integer","example":1830,"description":"Total tracked minutes across the whole (unpaginated) result set."},"rows":{"type":"array","description":"Usage rows for the current page","items":{"type":"object","properties":{"app_website":{"type":"string","nullable":true,"example":"Slack","description":"Name of the app or website"},"category":{"type":"string","nullable":true,"example":"Communication","description":"Category name of the app/website"},"productivity":{"type":"string","enum":["Productive","Neutral","Non-productive","Unset"],"example":"Productive","description":"Productivity/usefulness classification for the app/website"},"member":{"type":"object","properties":{"user_id":{"type":"integer","nullable":true,"example":100,"description":"Member (user) ID"},"name":{"type":"string","nullable":true,"example":"John Doe","description":"Full name of the member"}}},"project":{"type":"object","properties":{"project_id":{"type":"integer","nullable":true,"example":10,"description":"Project ID (null when not associated with a project)"},"name":{"type":"string","nullable":true,"example":"Website Redesign","description":"Project name"}}},"task":{"type":"string","nullable":true,"example":"(no task)","description":"Task title associated with the usage"},"description":{"type":"string","nullable":true,"example":"(no description)","description":"Memo/description associated with the usage"},"mouse_actions":{"type":"integer","example":320,"description":"Total mouse actions for this row"},"keyboard_actions":{"type":"integer","example":1450,"description":"Total keyboard actions for this row"},"scroll_actions":{"type":"integer","example":88,"description":"Total scroll actions for this row"},"activity_level":{"type":"integer","example":84,"description":"Activity level percentage (0-100), derived from mouse/keyboard/scroll actions per tracked minute."},"inactive_minutes":{"type":"integer","example":5,"description":"Total inactive minutes for this row"},"date":{"type":"string","format":"date","nullable":true,"example":"2024-01-03","description":"Date of the usage row"},"total_minutes":{"type":"integer","example":120,"description":"Tracked minutes for this row."}}}}},"required":["report_type","start_date","end_date","total_minutes","total_rows","per_page","current_page","total_pages","rows"]}},"components/schemas/ActivityLevelReport":{"id":"components/schemas/ActivityLevelReport","kind":"json-schema","title":"ActivityLevelReport","data":{"type":"object","properties":{"report_type":{"type":"string","example":"activity_level","description":"Type of the report"},"start_date":{"type":"string","format":"date","example":"2024-01-01","description":"Start date of the report range"},"end_date":{"type":"string","format":"date","example":"2024-01-31","description":"End date of the report range"},"total_users":{"type":"integer","example":5,"description":"Total number of users with activity data in the report range"},"per_page":{"type":"integer","example":30,"description":"Number of users per page"},"current_page":{"type":"integer","example":1,"description":"Current page number for user pagination"},"total_pages":{"type":"integer","example":1,"description":"Total number of pages for user pagination"},"users":{"type":"array","description":"Array of users with their daily activity breakdown for the date range","items":{"type":"object","properties":{"user_id":{"type":"integer","example":100,"description":"User ID"},"member":{"type":"string","nullable":true,"example":"John Doe","description":"Full name of the user"},"total_mouse_actions":{"type":"integer","example":1795,"description":"Total mouse actions for this user across all days in the date range"},"total_keyboard_actions":{"type":"integer","example":4820,"description":"Total keyboard actions for this user across all days in the date range"},"total_scroll_actions":{"type":"integer","example":318,"description":"Total scroll actions for this user across all days in the date range"},"total_minutes":{"type":"integer","example":930,"description":"Total tracked minutes for this user across all days in the date range"},"activity_level":{"type":"integer","example":84,"description":"Overall activity level percentage (0-100) for this user across all days in the date range. Calculated as the average of daily activity percentages (rounded to nearest integer), matching dashboard behavior."},"daily_breakdown":{"type":"object","description":"Daily breakdown of activity levels for this user. Keys are dates (YYYY-MM-DD format), values are objects containing activity data for that date.","additionalProperties":{"type":"object","properties":{"total_mouse_actions":{"type":"integer","example":945,"description":"Total mouse actions for this user on this date"},"total_keyboard_actions":{"type":"integer","example":2520,"description":"Total keyboard actions for this user on this date"},"total_scroll_actions":{"type":"integer","example":168,"description":"Total scroll actions for this user on this date"},"total_minutes":{"type":"integer","example":480,"description":"Total tracked minutes for this user on this date"},"activity_level":{"type":"number","format":"float","example":75.5,"description":"Activity level percentage (0-100) for this user on this date. Calculated based on mouse, keyboard, and scroll actions divided by total minutes."}},"required":["total_mouse_actions","total_keyboard_actions","total_scroll_actions","total_minutes","activity_level"]},"example":{"2024-01-15":{"total_mouse_actions":945,"total_keyboard_actions":2520,"total_scroll_actions":168,"total_minutes":480,"activity_level":75.5},"2024-01-16":{"total_mouse_actions":850,"total_keyboard_actions":2300,"total_scroll_actions":150,"total_minutes":450,"activity_level":73.2}}}},"required":["user_id","total_mouse_actions","total_keyboard_actions","total_scroll_actions","total_minutes","activity_level","daily_breakdown"]}},"contract_id":{"type":"integer","nullable":true,"example":20,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contract ID filter that was applied (only included if contract_id parameter was provided in the request)"},"children":[]}]}]}]}},"required":["report_type","start_date","end_date","total_users","per_page","current_page","total_pages","users"]}},"components/schemas/TaskReport":{"id":"components/schemas/TaskReport","kind":"json-schema","title":"TaskReport","data":{"type":"object","description":"Task report data structure with time tracked per task for each user","properties":{"report_type":{"type":"string","example":"task_report","description":"Type of the report"},"start_date":{"type":"string","format":"date","example":"2024-01-01","description":"Start date of the report range"},"end_date":{"type":"string","format":"date","example":"2024-01-31","description":"End date of the report range"},"total_users":{"type":"integer","example":5,"description":"Total number of users with task data in the report range"},"per_page":{"type":"integer","example":30,"description":"Number of users per page"},"current_page":{"type":"integer","example":1,"description":"Current page number for user pagination"},"total_pages":{"type":"integer","example":1,"description":"Total number of pages for user pagination"},"users":{"type":"array","description":"Array of users with their task time tracking data","items":{"type":"object","properties":{"user_id":{"type":"integer","example":100,"description":"User ID"},"member":{"type":"string","nullable":true,"example":"John Doe","description":"Full name of the user"},"total_minutes":{"type":"integer","example":960,"description":"Total tracked minutes for this user across all tasks in the date range"},"inactive_minutes":{"type":"integer","example":90,"description":"Total inactive minutes for this user across all tasks in the date range"},"total_amount":{"type":"number","format":"float","nullable":true,"example":480.5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total amount earned for this user. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has rate_status = 1 (rate visibility enabled)."},"children":[]}]}]}]},"currency":{"type":"string","nullable":true,"example":"USD","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Currency code for the amounts. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has rate_status = 1 (rate visibility enabled)."},"children":[]}]}]}]},"tasks_breakdown":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Array of tasks with total time tracked across the date range. Sorted by total_minutes descending."},"children":[]}]}]}],"items":{"type":"object","properties":{"task_id":{"type":"integer","nullable":true,"example":5,"description":"Task ID. Null indicates time tracked without a specific task assigned."},"task_title":{"type":"string","nullable":true,"example":"Implement API","description":"Task title. Null for entries without a task."},"project_id":{"type":"integer","nullable":true,"example":10,"description":"Project ID associated with this task. Null if no project assigned."},"project_name":{"type":"string","nullable":true,"example":"Project Alpha","description":"Project name. Null if no project assigned."},"contract_id":{"type":"integer","nullable":true,"example":20,"description":"Contract ID (project-user assignment). Null if no contract assigned."},"total_minutes":{"type":"integer","example":600,"description":"Total minutes tracked for this task across the date range"},"inactive_minutes":{"type":"integer","example":50,"description":"Total inactive minutes for this task across the date range"},"total_amount":{"type":"number","format":"float","nullable":true,"example":300,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total amount for this task. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has rate_status = 1."},"children":[]}]}]}]}},"required":["task_id","total_minutes"]}},"daily_breakdown":{"type":"object","description":"Daily breakdown of task time tracking. Keys are dates (YYYY-MM-DD format).","additionalProperties":{"type":"object","properties":{"total_minutes":{"type":"integer","example":480,"description":"Total minutes tracked on this date"},"inactive_minutes":{"type":"integer","example":40,"description":"Total inactive minutes on this date"},"total_amount":{"type":"number","format":"float","nullable":true,"example":240.25,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total amount for this date. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has rate_status = 1."},"children":[]}]}]}]},"tasks":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Array of tasks with time tracked on this date. Sorted by total_minutes descending."},"children":[]}]}]}],"items":{"type":"object","properties":{"task_id":{"type":"integer","nullable":true,"example":5,"description":"Task ID. Null indicates time tracked without a task."},"task_title":{"type":"string","nullable":true,"example":"Implement API","description":"Task title"},"project_id":{"type":"integer","nullable":true,"example":10,"description":"Project ID"},"project_name":{"type":"string","nullable":true,"example":"Project Alpha","description":"Project name"},"contract_id":{"type":"integer","nullable":true,"example":20,"description":"Contract ID"},"total_minutes":{"type":"integer","example":300,"description":"Minutes tracked for this task on this date"},"inactive_minutes":{"type":"integer","example":25,"description":"Inactive minutes for this task on this date"},"total_amount":{"type":"number","format":"float","nullable":true,"example":150,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Amount for this task on this date. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has rate_status = 1."},"children":[]}]}]}]}},"required":["task_id","total_minutes"]}}},"required":["total_minutes","tasks"]},"example":{"2024-01-15":{"total_minutes":480,"total_amount":240.25,"tasks":[{"task_id":5,"task_title":"Implement API","project_id":10,"project_name":"Project Alpha","contract_id":20,"total_minutes":300,"total_amount":150},{"task_id":null,"task_title":null,"project_id":null,"project_name":null,"contract_id":null,"total_minutes":180,"total_amount":90.25}]}}}},"required":["user_id","total_minutes","tasks_breakdown","daily_breakdown"]}}},"required":["report_type","start_date","end_date","total_users","per_page","current_page","total_pages","users"]}},"components/schemas/DailyAttendanceReport":{"id":"components/schemas/DailyAttendanceReport","kind":"json-schema","title":"DailyAttendanceReport","data":{"type":"object","description":"Daily attendance report data structure with attendance information for each user","properties":{"report_type":{"type":"string","example":"daily_attendance","description":"Type of the report"},"date":{"type":"string","format":"date","example":"2024-12-22","description":"Date for the attendance report"},"total_users":{"type":"integer","example":5,"description":"Total number of users in the report"},"per_page":{"type":"integer","example":30,"description":"Number of users per page"},"current_page":{"type":"integer","example":1,"description":"Current page number"},"total_pages":{"type":"integer","example":1,"description":"Total number of pages"},"users":{"type":"array","description":"Array of users with their attendance data for the date","items":{"type":"object","properties":{"user_id":{"type":"integer","example":100,"description":"User ID"},"member":{"type":"string","nullable":true,"example":"John Doe","description":"Full name of the user"},"statuses":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Array of attendance statuses for the user. A user can have multiple statuses (e.g., [\"Late\", \"Left early\"]). Possible values: \"All good\", \"Late\", \"Left early\", \"Tracked less\", \"Absent\", \"On leave\", \"Holiday\"."},"children":[]}]}]}],"items":{"type":"string","enum":["All good","Late","Left early","Tracked less","Absent","On leave","Holiday"]},"example":["All good"]},"start_time":{"type":"string","nullable":true,"example":"09:00","description":"Start time of the work day in HH:mm format (24-hour format) or g:i A format (12-hour format) based on user's clock format preference"},"end_time":{"type":"string","nullable":true,"example":"18:00","description":"End time of the work day in HH:mm format (24-hour format) or g:i A format (12-hour format) based on user's clock format preference. May be \"tracking\" if user is still actively tracking."},"total_time_minutes":{"type":"integer","example":540,"description":"Total time worked in minutes (integer, not formatted like \"5h 3m\")"},"tracked_time_minutes":{"type":"integer","example":480,"description":"Total tracked time in minutes (automatic tracking only, excludes manual, breaks, leaves, holidays)"},"paid_leave_minutes":{"type":"integer","example":0,"description":"Total paid leave time in minutes"},"paid_holiday_minutes":{"type":"integer","example":0,"description":"Total paid holiday time in minutes"},"paid_break_minutes":{"type":"integer","example":30,"description":"Total paid break time in minutes"},"unpaid_break_minutes":{"type":"integer","example":0,"description":"Total unpaid break time in minutes"},"break_intervals":{"type":"array","description":"Array of break time intervals as strings in \"HH:mm - HH:mm\" format. Includes both paid and unpaid breaks.","items":{"type":"string","example":"14:30 - 15:25"},"example":["14:30 - 15:00","16:00 - 16:15"]},"manually_added_time_minutes":{"type":"integer","example":0,"description":"Total manually added time in minutes"},"idle_time_minutes":{"type":"integer","example":0,"description":"Total idle time in minutes"},"activity_level":{"type":"integer","example":88,"description":"Activity level percentage (0-100) based on mouse, keyboard, and scroll actions"},"productivity_level":{"type":"integer","example":92,"description":"Productivity level percentage (0-100) based on app/website productivity settings"},"outside_working_hours_minutes":{"type":"integer","example":0,"description":"Total time tracked outside working hours in minutes"},"inside_working_hours_minutes":{"type":"integer","example":540,"description":"Total time tracked inside working hours in minutes"},"is_working_day":{"type":"boolean","example":true,"description":"Whether the date is a working day for the workspace"},"late_comment":{"type":"string","nullable":true,"example":"Traffic jam","description":"Comment explaining why the user was late (if applicable)"},"early_comment":{"type":"string","nullable":true,"example":"Personal appointment","description":"Comment explaining why the user left early (if applicable)"}},"required":["user_id","statuses","total_time_minutes","tracked_time_minutes","paid_leave_minutes","paid_holiday_minutes","paid_break_minutes","unpaid_break_minutes","break_intervals","manually_added_time_minutes","idle_time_minutes","activity_level","productivity_level","outside_working_hours_minutes","inside_working_hours_minutes","is_online","is_working_day","teams","titles"]}}},"required":["report_type","date","total_users","per_page","current_page","total_pages","users"]}},"components/schemas/ActivityDescriptionReport":{"id":"components/schemas/ActivityDescriptionReport","kind":"json-schema","title":"ActivityDescriptionReport","data":{"type":"object","description":"Activity description report data structure with time tracked per activity description (memo) for each user","properties":{"report_type":{"type":"string","example":"activity_description","description":"Type of the report"},"start_date":{"type":"string","format":"date","example":"2024-01-01","description":"Start date of the report range"},"end_date":{"type":"string","format":"date","example":"2024-01-31","description":"End date of the report range"},"total_users":{"type":"integer","example":5,"description":"Total number of users with activity data in the report range"},"per_page":{"type":"integer","example":30,"description":"Number of users per page"},"current_page":{"type":"integer","example":1,"description":"Current page number for user pagination"},"total_pages":{"type":"integer","example":1,"description":"Total number of pages for user pagination"},"users":{"type":"array","description":"Array of users with their activity description time tracking data","items":{"type":"object","properties":{"user_id":{"type":"integer","example":100,"description":"User ID"},"member":{"type":"string","nullable":true,"example":"John Doe","description":"Full name of the user"},"total_minutes":{"type":"integer","example":960,"description":"Total tracked minutes for this user across all activities in the date range"},"inactive_minutes":{"type":"integer","example":90,"description":"Total inactive minutes for this user across all activities in the date range"},"total_amount":{"type":"number","format":"float","nullable":true,"example":480.5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total amount earned for this user. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has rate_status = 1 (rate visibility enabled)."},"children":[]}]}]}]},"currency":{"type":"string","nullable":true,"example":"USD","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Currency code for the amounts. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has rate_status = 1 (rate visibility enabled)."},"children":[]}]}]}]},"activities_breakdown":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Array of activity descriptions with total time tracked across the date range. Sorted by total_minutes descending."},"children":[]}]}]}],"items":{"type":"object","properties":{"activity_description":{"type":"string","nullable":true,"example":"Working on API integration","description":"Activity description (memo). Null indicates time tracked without a description."},"task_id":{"type":"integer","nullable":true,"example":5,"description":"Task ID associated with this activity. Null if no task assigned."},"task_title":{"type":"string","nullable":true,"example":"Implement API","description":"Task title. Null for entries without a task."},"project_id":{"type":"integer","nullable":true,"example":10,"description":"Project ID associated with this activity. Null if no project assigned."},"project_name":{"type":"string","nullable":true,"example":"Project Alpha","description":"Project name. Null if no project assigned."},"contract_id":{"type":"integer","nullable":true,"example":20,"description":"Contract ID (project-user assignment). Null if no contract assigned."},"total_minutes":{"type":"integer","example":600,"description":"Total minutes tracked for this activity description across the date range"},"inactive_minutes":{"type":"integer","example":50,"description":"Total inactive minutes for this activity description across the date range"},"total_amount":{"type":"number","format":"float","nullable":true,"example":300,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total amount for this activity. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has rate_status = 1."},"children":[]}]}]}]}},"required":["activity_description","total_minutes"]}},"daily_breakdown":{"type":"object","description":"Daily breakdown of activity description time tracking. Keys are dates (YYYY-MM-DD format).","additionalProperties":{"type":"object","properties":{"total_minutes":{"type":"integer","example":480,"description":"Total minutes tracked on this date"},"inactive_minutes":{"type":"integer","example":40,"description":"Total inactive minutes on this date"},"total_amount":{"type":"number","format":"float","nullable":true,"example":240.25,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total amount for this date. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has rate_status = 1."},"children":[]}]}]}]},"activities":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Array of activity descriptions with time tracked on this date. Sorted by total_minutes descending."},"children":[]}]}]}],"items":{"type":"object","properties":{"activity_description":{"type":"string","nullable":true,"example":"Working on API integration","description":"Activity description (memo). Null indicates time tracked without a description."},"task_id":{"type":"integer","nullable":true,"example":5,"description":"Task ID"},"task_title":{"type":"string","nullable":true,"example":"Implement API","description":"Task title"},"project_id":{"type":"integer","nullable":true,"example":10,"description":"Project ID"},"project_name":{"type":"string","nullable":true,"example":"Project Alpha","description":"Project name"},"contract_id":{"type":"integer","nullable":true,"example":20,"description":"Contract ID"},"total_minutes":{"type":"integer","example":300,"description":"Minutes tracked for this activity on this date"},"inactive_minutes":{"type":"integer","example":25,"description":"Inactive minutes for this activity on this date"},"total_amount":{"type":"number","format":"float","nullable":true,"example":150,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Amount for this activity on this date. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Only included if workspace has rate_status = 1."},"children":[]}]}]}]}},"required":["activity_description","total_minutes"]}}},"required":["total_minutes","activities"]},"example":{"2024-01-15":{"total_minutes":480,"total_amount":240.25,"activities":[{"activity_description":"Working on API integration","task_id":5,"task_title":"Implement API","project_id":10,"project_name":"Project Alpha","contract_id":20,"total_minutes":300,"total_amount":150},{"activity_description":null,"task_id":null,"task_title":null,"project_id":null,"project_name":null,"contract_id":null,"total_minutes":180,"total_amount":90.25}]}}}},"required":["user_id","total_minutes","activities_breakdown","daily_breakdown"]}}},"required":["report_type","start_date","end_date","total_users","per_page","current_page","total_pages","users"]}},"components/schemas/WorkspaceResponse":{"id":"components/schemas/WorkspaceResponse","kind":"json-schema","title":"WorkspaceResponse","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Workspace"},"meta":{"$ref":"#/components/schemas/Meta"}}}},"components/schemas/MemberListResponse":{"id":"components/schemas/MemberListResponse","kind":"json-schema","title":"MemberListResponse","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Member"}},"meta":{"$ref":"#/components/schemas/Meta"}}}},"components/schemas/MemberResponse":{"id":"components/schemas/MemberResponse","kind":"json-schema","title":"MemberResponse","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Member"},"meta":{"$ref":"#/components/schemas/Meta"}}}},"components/schemas/ProjectListResponse":{"id":"components/schemas/ProjectListResponse","kind":"json-schema","title":"ProjectListResponse","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"meta":{"$ref":"#/components/schemas/Meta"}}}},"components/schemas/ProjectResponse":{"id":"components/schemas/ProjectResponse","kind":"json-schema","title":"ProjectResponse","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Project"},"meta":{"$ref":"#/components/schemas/Meta"}}}},"components/schemas/Timesheet":{"id":"components/schemas/Timesheet","kind":"json-schema","title":"Timesheet","data":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted timesheet ID","example":"encoded_id_string"},"user_id":{"type":"integer","description":"User ID","example":100},"member":{"type":"string","nullable":true,"description":"User full name (firstname lastname)","example":"John Doe"},"date_from":{"type":"string","format":"date","nullable":true,"description":"Timesheet period start date (pay period start)","example":"2024-01-01"},"date_to":{"type":"string","format":"date","nullable":true,"description":"Timesheet period end date (pay period end)","example":"2024-01-07"},"total_minutes":{"type":"integer","description":"Total tracked minutes for the entire timesheet period","example":1737},"total_amount":{"type":"number","nullable":true,"description":"Total amount for the entire timesheet period. Only included if the authenticated user has permission to see rates.","example":192.97},"submitted_on":{"type":"string","nullable":true,"description":"Timestamp when timesheet was submitted","example":"2024-01-05 10:30"},"reject_reason":{"type":"string","nullable":true,"description":"Reason for rejection (if rejected)","example":null},"status":{"type":"string","description":"Timesheet status","enum":["open","submitted","approved","rejected"],"example":"submitted"},"currency":{"type":"string","nullable":true,"description":"Currency code for the user (from team settings or owner default). Only included if the authenticated user has permission to see rates.","example":"EUR"},"daily_breakdown":{"type":"object","description":"Daily breakdown of tracked time by date. Each date contains an array of project entries with their tracked time. Amount is only included if the user has rate visibility permission.","additionalProperties":{"type":"array","items":{"type":"object","properties":{"project_id":{"type":"integer","nullable":true,"description":"Project ID (null for 'No Project')","example":789},"project_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Project name ('No Project' if project_id is null)"},"children":[]}]}]}],"example":"Customer Engagement & Onboarding"},"contract_id":{"type":"integer","nullable":true,"description":"Contract ID","example":456},"total_minutes":{"type":"integer","description":"Total tracked minutes for this project on this day","example":76},"total_amount":{"type":"number","nullable":true,"description":"Total amount for this project on this day. Only included if the user has rate visibility permission.","example":74.33}}}},"example":{"2024-01-01":[{"project_id":789,"project_name":"Customer Engagement & Onboarding","contract_id":456,"total_minutes":76,"total_amount":0},{"project_id":null,"project_name":"No Project","contract_id":333,"total_minutes":223,"total_amount":74.33}],"2024-01-02":[{"project_id":789,"project_name":"Customer Engagement & Onboarding","contract_id":456,"total_minutes":442,"total_amount":0}]}}}}},"components/schemas/Leave":{"id":"components/schemas/Leave","kind":"json-schema","title":"Leave","data":{"type":"object","properties":{"id":{"type":"string","description":"Encoded leave request ID","example":"encoded_id_string"},"user_id":{"type":"integer","description":"User ID who requested the leave","example":1},"status":{"type":"string","description":"Leave request status (lowercase)","example":"approved"},"note":{"type":"string","nullable":true,"description":"Note associated with the leave request","example":"Family vacation"},"is_paid":{"type":"string","enum":["yes","no"],"description":"Whether the leave is paid (yes or no)","example":"yes"},"created_by":{"type":"integer","description":"User ID who created the leave request","example":1},"approved_by":{"type":"integer","nullable":true,"description":"User ID who approved the leave request (only present if status is approved)","example":2},"rejected_by":{"type":"integer","nullable":true,"description":"User ID who rejected the leave request (only present if status is rejected)","example":2},"reject_reason":{"type":"string","nullable":true,"description":"Reason for rejection (only present if status is rejected)","example":"Insufficient leave balance"},"start_date":{"type":"string","format":"date","description":"Start date of the leave","example":"2019-08-24"},"end_date":{"type":"string","format":"date","description":"End date of the leave","example":"2019-08-24"},"created_on":{"type":"string","format":"date","description":"Date when the leave request was created (format: Y-m-d)","example":"2019-08-24"},"total":{"type":"object","properties":{"days":{"type":"number","nullable":true,"description":"Total leave days (only present if time unit is days)","example":5},"hours":{"type":"number","nullable":true,"description":"Total leave hours (only present if time unit is hours)","example":null}},"description":"Total leave duration. Either days or hours will be populated based on the leave type time unit."},"approval_steps":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sequential multi-level approval chain. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only present when multi-level approval is enabled for the workspace"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (single-level workspaces omit this field). One ordered entry per level: a pending request shows which level it is waiting on, and an approved request shows who approved each level."},"children":[]}]}]}],"items":{"type":"object","properties":{"level":{"type":"integer","description":"1-based position of this step in the approval chain.","example":1},"roles":{"type":"array","items":{"type":"string","enum":["Owner","Executive Manager","Team Manager","Project Manager","Member"]},"description":"Roles eligible to approve this level.","example":["Team Manager"]},"status":{"type":"string","enum":["pending","approved","rejected"],"description":"Status of this level.","example":"approved"},"approved_by":{"type":"integer","nullable":true,"description":"User ID who approved this level (null unless the level is approved).","example":2},"approved_by_name":{"type":"string","nullable":true,"description":"Full name of the approver (null unless the level is approved).","example":"Jane Doe"},"acted_at":{"type":"string","format":"date","nullable":true,"description":"Date the level was acted on (format: Y-m-d; null while pending).","example":"2024-01-15"}}}}}}},"components/schemas/Expense":{"id":"components/schemas/Expense","kind":"json-schema","title":"Expense","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Encrypted UUID identifier for the expense","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"member":{"type":"string","nullable":true,"description":"Full name of the member the expense was created by","example":"John Doe"},"expense_date":{"type":"string","description":"Expense date (M d, Y)","example":"Jul 15, 2026"},"expense_name":{"type":"string","example":"Team lunch"},"project":{"type":"string","nullable":true,"description":"Project name","example":"Website Redesign"},"category":{"type":"string","nullable":true,"description":"Expense category name","example":"Meals"},"amount":{"type":"number","example":120.5},"note":{"type":"string","nullable":true,"example":"Client meeting"},"type":{"type":"string","enum":["billable","non-billable"],"example":"billable"},"added_date":{"type":"string","description":"Date the expense was added (M d, Y)","example":"Jul 16, 2026"}}}},"components/schemas/TimeEntry":{"id":"components/schemas/TimeEntry","kind":"json-schema","title":"TimeEntry","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Encrypted UUID identifier for the time entry","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"user_id":{"type":"integer","example":100},"contract_id":{"type":"integer","nullable":true,"example":20},"project_id":{"type":"integer","nullable":true,"example":10},"project_name":{"type":"string","nullable":true,"example":"Website Redesign"},"task_id":{"type":"integer","nullable":true,"example":5},"task_title":{"type":"string","nullable":true,"example":"Update homepage design"},"activity_description":{"type":"string","nullable":true,"example":"Working on feature implementation"},"method":{"type":"string","description":"Tracking method description (e.g., 'Desktop tracker', 'Mobile tracker', 'Manually added time', 'Extension tracker', 'Web tracker', 'Idle time', 'Paid leave', 'Break', 'Paid holiday')","example":"Desktop tracker"},"date":{"type":"string","format":"date","example":"2026-01-29"},"start_time":{"type":"string","format":"date-time","example":"2026-01-29T09:00:00Z"},"end_time":{"type":"string","format":"date-time","nullable":true,"example":"2026-01-29T17:00:00Z"},"duration_minutes":{"type":"integer","description":"Total duration in minutes","example":480}}}},"components/schemas/TimeRequest":{"id":"components/schemas/TimeRequest","kind":"json-schema","title":"TimeRequest","data":{"type":"object","required":["id","user_id","status"],"properties":{"id":{"type":"string","description":"Encrypted time request ID","example":"encoded_id_string"},"user_id":{"type":"integer","description":"User ID who created the time request","example":123},"member":{"type":"string","nullable":true,"description":"Full name of the user (firstname lastname)","example":"John Doe"},"contract_id":{"type":"integer","nullable":true,"description":"Contract ID associated with the time request","example":456},"project_id":{"type":"integer","nullable":true,"description":"Project ID associated with the time request","example":789},"project_name":{"type":"string","nullable":true,"description":"Name of the project","example":"Project Name"},"task_id":{"type":"integer","nullable":true,"description":"Task ID associated with the time request","example":101},"task_name":{"type":"string","nullable":true,"description":"Name of the task","example":"Task Name"},"start":{"type":"string","format":"date-time","nullable":true,"description":"Start time in ISO 8601 format","example":"2025-12-05T09:00:00+00:00"},"end":{"type":"string","format":"date-time","nullable":true,"description":"End time in ISO 8601 format","example":"2025-12-05T17:00:00+00:00"},"status":{"type":"string","enum":["pending","approved","rejected"],"description":"Status of the time request","example":"pending"},"activity_description":{"type":"string","nullable":true,"description":"Activity description for the time request","example":"Worked on feature implementation"},"comment":{"type":"string","nullable":true,"description":"Comment (typically rejection reason)","example":null},"updated_by":{"type":"integer","nullable":true,"description":"User ID who last updated the time request","example":null},"created_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the time request was created","example":"2025-12-05T08:00:00+00:00"},"updated_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the time request was last updated","example":"2025-12-05T08:00:00+00:00"}}}},"components/schemas/Task":{"id":"components/schemas/Task","kind":"json-schema","title":"Task","data":{"type":"object","required":["id","title","project_id","owner_id","status","priority"],"properties":{"id":{"type":"integer","description":"Unique identifier for the task","example":1},"title":{"type":"string","description":"Task title","example":"Implement user authentication"},"description":{"type":"string","nullable":true,"description":"Task description","example":"Add OAuth2 authentication support"},"project_id":{"type":"integer","description":"ID of the project this task belongs to","example":100},"owner_id":{"type":"integer","description":"ID of the workspace owner","example":10},"creator_id":{"type":"integer","nullable":true,"description":"ID of the user who created this task","example":42},"parent_id":{"type":"integer","nullable":true,"description":"ID of the parent task. Null for top-level tasks. When set, this task is a subtask of the specified parent.","example":null},"status":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Task status code. Default statuses: 0 = Open, 10 = In Progress, 20 = Done, 30 = Closed. Custom statuses (e.g. 1, 2, 11, 21) may also appear if configured for the workspace/project."},"children":[]}]}]}],"example":10},"status_name":{"type":"string","description":"Human-readable status name. Default values: Open, In Progress, Done, Closed. Custom status names will appear if configured for the workspace/project.","example":"In Progress"},"status_color":{"type":"string","description":"Hex color code for the status. Custom colors will appear if configured for the workspace/project.","example":"#FFC107"},"priority":{"type":"integer","nullable":true,"enum":[10,20,30,40],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Task priority code: 10 = Urgent, 20 = High, 30 = Normal, 40 = Low. Null if not set."},"children":[]}]}]}],"example":30},"priority_name":{"type":"string","nullable":true,"enum":["Urgent","High","Normal","Low"],"description":"Human-readable priority name. Null if priority is not set.","example":"Normal"},"start_date":{"type":"string","format":"date","nullable":true,"description":"Task start date","example":"2024-01-15"},"end_date":{"type":"string","format":"date","nullable":true,"description":"Task end date","example":"2024-01-30"},"completed_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when task was completed","example":"2024-01-25T14:30:00+00:00"},"assignees":{"type":"array","description":"List of users assigned to this task","items":{"type":"object","properties":{"id":{"type":"integer","description":"User ID","example":42},"firstname":{"type":"string","description":"First name of the assignee","example":"John"},"lastname":{"type":"string","description":"Last name of the assignee","example":"Doe"},"email":{"type":"string","format":"email","description":"Email of the assignee","example":"john.doe@example.com"}}}},"subtasks":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List of subtasks. Only populated for top-level tasks (parent_id is null). Empty array for subtasks themselves."},"children":[]}]}]}],"items":{"type":"object","properties":{"id":{"type":"integer","description":"Subtask ID","example":501},"title":{"type":"string","description":"Subtask title","example":"Write unit tests"},"status":{"type":"integer","description":"Subtask status code","example":0},"status_name":{"type":"string","description":"Human-readable status name","example":"Open"},"priority":{"type":"integer","nullable":true,"description":"Subtask priority code","example":30},"assignees":{"type":"array","description":"Users assigned to this subtask","items":{"type":"object","properties":{"id":{"type":"integer","example":42},"firstname":{"type":"string","example":"John"},"lastname":{"type":"string","example":"Doe"},"email":{"type":"string","format":"email","example":"john.doe@example.com"}}}}}}},"created_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when task was created","example":"2024-01-15T09:00:00+00:00"},"updated_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when task was last updated","example":"2024-01-20T14:30:00+00:00"},"deleted_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when task was deleted (soft delete)","example":null},"custom_fields":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workspace-defined task custom fields as a list of {id,name,type,value} objects. Returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the task has no values set. Each stored field is a separate entry, so duplicate field names are preserved. Checkbox values are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Yes\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"No\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; dropdown returns the selected option label; other types return their stored value. Owner-scoped — only fields owned by this workspace are returned. Read-only."},"children":[]}]}]}],"items":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted custom field ID."},"name":{"type":"string"},"type":{"type":"string","enum":["text","large_text","number","dropdown","checkbox","date"]},"value":{"type":"string","nullable":true}}},"example":[{"id":"4cbc4fee-21e4-0dc4-fe6d-02bf73d290e5","name":"Severity","type":"dropdown","value":"High"},{"id":"8c775603-1e96-82e6-ab74-d6144431cb70","name":"Ticket","type":"text","value":"JIRA-1234"}]}}}},"components/schemas/TaskStatus":{"id":"components/schemas/TaskStatus","kind":"json-schema","title":"TaskStatus","data":{"type":"object","required":["id","text","color","type","order","scope"],"properties":{"id":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Status ID. Plain integer where the type group = floor(id / 10): 0 = open, 1 = active, 2 = done, 3 = closed. Built-in statuses are 0, 10, 20, and 30."},"children":[]}]}]}],"example":11},"text":{"type":"string","description":"Status label","example":"Code Review"},"color":{"type":"string","description":"7-character hex color code","example":"#6385FD"},"type":{"type":"string","enum":["open","active","done","closed"],"description":"Type group the status belongs to","example":"active"},"order":{"type":"integer","description":"Index of the status within its type group","example":1},"scope":{"type":"string","enum":["workspace","project"],"description":"Whether the status is a workspace default or a per-project override","example":"workspace"}}}},"components/schemas/TaskComment":{"id":"components/schemas/TaskComment","kind":"json-schema","title":"TaskComment","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A threaded task comment. Comments are threaded via parent_id (null for top-level). project_id is derived from the task, not supplied by the client."},"children":[]}]}]}],"properties":{"id":{"type":"integer","description":"Comment ID","example":501},"task_id":{"type":"integer","description":"ID of the task the comment belongs to","example":100},"user_id":{"type":"integer","description":"ID of the user who authored the comment","example":42},"text":{"type":"string","description":"Comment body (HTML-sanitized)","example":"Looks good, ready for review."},"parent_id":{"type":"integer","nullable":true,"description":"Parent comment ID for replies; null for top-level comments","example":null},"created_at":{"type":"string","format":"date-time","example":"2024-01-15T10:30:00Z"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15T10:30:00Z"},"user":{"type":"object","description":"Author details","properties":{"id":{"type":"integer","example":42},"firstname":{"type":"string","example":"John"},"lastname":{"type":"string","example":"Doe"},"avatar":{"type":"string","description":"Absolute avatar URL served from the app host","example":"https://app.webwork-tracker.com/avatar/42/128/886ccea0abfb6cad-generated.png"}}},"files":{"type":"array","description":"File attachments on the comment","items":{"type":"object","properties":{"id":{"type":"integer","example":900},"task_id":{"type":"integer","example":100},"comment_id":{"type":"integer","example":501},"user_id":{"type":"integer","example":42},"filename":{"type":"string","example":"a1b2c3d4.png"},"original_filename":{"type":"string","example":"screenshot.png"},"extension":{"type":"string","example":"png"},"mime_type":{"type":"string","example":"image/png"},"size":{"type":"integer","description":"File size in bytes","example":204800}}}},"replies":{"type":"array","description":"Nested reply comments, each with the same shape as a TaskComment","items":{"$ref":"#/components/schemas/TaskComment"}}}}},"components/schemas/TaskAssignee":{"id":"components/schemas/TaskAssignee","kind":"json-schema","title":"TaskAssignee","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Task assignee details returned from GET /tasks/{taskId}/assignees"},"children":[]}]}]}],"properties":{"id":{"type":"integer","description":"Assignee record ID","example":1},"user_id":{"type":"integer","description":"ID of the assigned user","example":42},"task_id":{"type":"integer","description":"ID of the task","example":100},"assigner_id":{"type":"integer","nullable":true,"description":"ID of the user who made the assignment","example":10},"user":{"type":"object","nullable":true,"description":"Assigned user details","properties":{"id":{"type":"integer","example":42},"firstname":{"type":"string","example":"John"},"lastname":{"type":"string","example":"Doe"},"email":{"type":"string","format":"email","example":"john.doe@example.com"}}}}}},"components/schemas/TaskAssignment":{"id":"components/schemas/TaskAssignment","kind":"json-schema","title":"TaskAssignment","data":{"type":"object","description":"Task assignment response returned from POST assign endpoint","properties":{"id":{"type":"integer","description":"Assignee record ID","example":1},"user_id":{"type":"integer","description":"ID of the assigned user","example":42},"task_id":{"type":"integer","description":"ID of the task","example":100}}}},"components/schemas/AssetTypeRef":{"id":"components/schemas/AssetTypeRef","kind":"json-schema","title":"AssetTypeRef","data":{"type":"object","properties":{"id":{"type":"string","example":"tEnc123"},"name":{"type":"string","example":"Laptop"},"category":{"type":"string"},"is_system":{"type":"boolean"}}}},"components/schemas/UserRef":{"id":"components/schemas/UserRef","kind":"json-schema","title":"UserRef","data":{"type":"object","properties":{"id":{"type":"integer","example":100},"email":{"type":"string","format":"email","example":"marine@acme.com"},"full_name":{"type":"string","example":"Marine G."}}}},"components/schemas/Asset":{"id":"components/schemas/Asset","kind":"json-schema","title":"Asset","data":{"type":"object","required":["id","name","category","status"],"properties":{"id":{"type":"string","example":"aXb9c3k4m2"},"name":{"type":"string","example":"MacBook Pro 16\""},"category":{"type":"string","enum":["computers","mobile_devices","networking","servers_storage","other"]},"brand":{"type":"string","nullable":true,"example":"Apple"},"model":{"type":"string","nullable":true,"example":"A2780"},"notes":{"type":"string","nullable":true},"status":{"type":"string","enum":["available","in_use"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"type":{"type":"object","nullable":true,"allOf":[{"$ref":"#/components/schemas/AssetTypeRef"}]},"assigned_to":{"type":"object","nullable":true,"allOf":[{"$ref":"#/components/schemas/UserRef"}]},"created_by":{"type":"object","nullable":true,"allOf":[{"$ref":"#/components/schemas/UserRef"}]},"properties":{"type":"object","additionalProperties":true,"example":{"cpu":"M3 Pro","ram":"32GB"}},"custom_fields":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","example":"warranty_expires"},"label":{"type":"string","example":"Warranty Expires"},"type":{"type":"string","enum":["text","number","date","checkbox","dropdown"]},"value":{"description":"Custom field value; the JSON type depends on the field's declared type."}}}}}}},"components/schemas/AssetListItem":{"id":"components/schemas/AssetListItem","kind":"json-schema","title":"AssetListItem","data":{"allOf":[{"$ref":"#/components/schemas/Asset"}]}},"components/schemas/AssetCreateRequest":{"id":"components/schemas/AssetCreateRequest","kind":"json-schema","title":"AssetCreateRequest","data":{"type":"object","required":["workspace_id","category","name"],"properties":{"workspace_id":{"type":"integer","example":123},"category":{"type":"string","enum":["computers","mobile_devices","networking","servers_storage","other"]},"name":{"type":"string","maxLength":255},"type_id":{"type":"string","nullable":true},"brand":{"type":"string","nullable":true},"model":{"type":"string","nullable":true},"assigned_to_user_id":{"type":"integer","nullable":true,"description":"Numeric user ID (from GET /members)."},"notes":{"type":"string","nullable":true},"properties":{"type":"object","additionalProperties":true},"custom_fields":{"type":"object","additionalProperties":true,"example":{"warranty_expires":"2028-01-15"}}}}},"components/schemas/AssetUpdateRequest":{"id":"components/schemas/AssetUpdateRequest","kind":"json-schema","title":"AssetUpdateRequest","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer"},"name":{"type":"string"},"type_id":{"type":"string","nullable":true},"brand":{"type":"string","nullable":true},"model":{"type":"string","nullable":true},"assigned_to_user_id":{"type":"integer","nullable":true,"description":"Numeric user ID (from GET /members)."},"notes":{"type":"string","nullable":true},"properties":{"type":"object","additionalProperties":true},"custom_fields":{"type":"object","additionalProperties":true}}}},"components/schemas/AssetAssignRequest":{"id":"components/schemas/AssetAssignRequest","kind":"json-schema","title":"AssetAssignRequest","data":{"type":"object","required":["workspace_id","assigned_to_user_id"],"properties":{"workspace_id":{"type":"integer"},"assigned_to_user_id":{"type":"integer","description":"Numeric user ID (from GET /members)."}}}},"components/schemas/AssetType":{"id":"components/schemas/AssetType","kind":"json-schema","title":"AssetType","data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"category":{"type":"string"},"is_system":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/JobSite":{"id":"components/schemas/JobSite","kind":"json-schema","title":"JobSite","data":{"type":"object","description":"A geofence: a coordinate plus a radius in metres. Matching is recomputed on every GPS report request and never stored, so editing a site also changes how already-recorded points are attributed.","properties":{"id":{"type":"string","description":"Opaque encoded job site id.","example":"encoded_id_string"},"name":{"type":"string","example":"Warehouse A"},"address":{"type":"string","nullable":true,"description":"Free text, never geocoded.","example":"12 Depot Road"},"latitude":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decimal string with exactly 4 decimal places — byte-for-byte what the dashboard's job-site form displays (toFixed(4)). A display rounding (~11 m) of the stored decimal(10,7); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"google_maps_url"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" carries the full stored precision. A string so the rendering never depends on the server's float serialization."},"children":[]}]}]}],"example":"40.1792"},"longitude":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decimal string with exactly 4 decimal places — byte-for-byte what the dashboard's job-site form displays (toFixed(4)). A display rounding (~11 m) of the stored decimal(10,7); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"google_maps_url"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" carries the full stored precision. A string so the rendering never depends on the server's float serialization."},"children":[]}]}]}],"example":"44.4991"},"radius":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Radius in METRES (50–50000)."},"children":[]}]}]}],"example":500},"project":{"type":"object","nullable":true,"description":"When set, only points tracked on this project count as inside the site.","properties":{"id":{"type":"integer","example":41},"name":{"type":"string","example":"Bridge Retrofit"}}},"members":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Direct member assignments. An empty array does NOT mean nobody — check "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"applies_to_everyone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"object","properties":{"id":{"type":"integer","example":104582},"firstname":{"type":"string","nullable":true,"example":"Ann"},"lastname":{"type":"string","nullable":true,"example":"Poghosyan"},"email":{"type":"string","nullable":true,"example":"ann@example.com"}}}},"applies_to_everyone":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"true = no assignments, the site applies to EVERY member of the workspace. false = only the assigned members (or a dashboard-assigned team, which is folded in here but not listed in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"members"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") count."},"children":[]}]}]}],"example":true},"current_members":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Who is inside the site right now (same shape as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"members"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), from each member's last known position within the past hour. Live — recomputed per request."},"children":[]}]}]}],"items":{"type":"object","properties":{"id":{"type":"integer","example":104582},"firstname":{"type":"string","nullable":true,"example":"Ann"},"lastname":{"type":"string","nullable":true,"example":"Poghosyan"},"email":{"type":"string","nullable":true,"example":"ann@example.com"}}}},"google_maps_url":{"type":"string","example":"https://www.google.com/maps?q=40.1792,44.4991"},"created_at":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UTC, Zulu-formatted like every other v2 resource. Ordinary row timestamps — unlike the GPS report's tracked_at, which is workspace-local with an offset."},"children":[]}]}]}],"example":"2026-08-01T09:12:44Z"},"updated_at":{"type":"string","format":"date-time","example":"2026-08-01T09:12:44Z"}}}},"components/schemas/CustomField":{"id":"components/schemas/CustomField","kind":"json-schema","title":"CustomField","data":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted custom field ID."},"name":{"type":"string","example":"StripeID"},"type":{"type":"string","enum":["text","large_text","number","dropdown","checkbox","date"],"description":"Field data type. Immutable after creation."},"target":{"type":"string","enum":["project","task","member"],"description":"Entity this field applies to. Immutable after creation."},"options":{"type":"array","items":{"type":"string"},"nullable":true,"description":"Dropdown choices; null for non-dropdown types."},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/ShiftSchedule":{"id":"components/schemas/ShiftSchedule","kind":"json-schema","title":"ShiftSchedule (map: weekday → day window)","data":{"type":"object","title":"ShiftSchedule (map: weekday → day window)","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Per-day windows for a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"flexible"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" shift. This is a MAP, not a list: each "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"key is a lowercase weekday name"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tue"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"thu"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fri"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sun"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and its "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"value"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is that day's window ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"min_hours"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Include only the days the shift is worked — a day that is omitted is simply not worked. Times are 24-hour "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the shift's own "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Example — Monday 09:00–17:00 (8h) and Tuesday 10:00–16:00 (6h):"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"mon\": { \"start_time\": \"09:00\", \"end_time\": \"17:00\", \"min_hours\": 8 },\n  \"tue\": { \"start_time\": \"10:00\", \"end_time\": \"16:00\", \"min_hours\": 6 }\n}\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"mon\": { \"start_time\": \"09:00\", \"end_time\": \"17:00\", \"min_hours\": 8 },\n  \"tue\": { \"start_time\": \"10:00\", \"end_time\": \"16:00\", \"min_hours\": 6 }\n}\n"},"children":[]}]}],"x-additionalPropertiesName":"weekday (mon…sun)","additionalProperties":{"type":"object","title":"Day window","required":["start_time","end_time","min_hours"],"properties":{"start_time":{"type":"string","description":"Start of the day's window, 24h HH:mm.","example":"09:00"},"end_time":{"type":"string","description":"End of the day's window, 24h HH:mm.","example":"17:00"},"min_hours":{"type":"number","minimum":0,"maximum":24,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required hours for that day (0–24)."},"children":[]}]}]}],"example":8}}},"example":{"mon":{"start_time":"09:00","end_time":"17:00","min_hours":8},"tue":{"start_time":"10:00","end_time":"16:00","min_hours":6}}}},"components/schemas/Shift":{"id":"components/schemas/Shift","kind":"json-schema","title":"Shift","data":{"type":"object","properties":{"id":{"type":"string","description":"The shift uuid."},"name":{"type":"string","example":"Morning Shift"},"color":{"type":"string","example":"#8276ff"},"timezone":{"type":"string","description":"IANA timezone the times are expressed in.","example":"America/New_York"},"shift_type":{"type":"string","enum":["fixed","flexible"]},"repeat":{"type":"string","enum":["never","weekly","biweekly"]},"working_days":{"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"start_date":{"type":"string","format":"date","nullable":true},"end_date":{"type":"string","format":"date","nullable":true},"auto_assign_members":{"type":"boolean"},"start_time":{"type":"string","nullable":true,"description":"24h HH:mm. Present on fixed shifts.","example":"09:00"},"end_time":{"type":"string","nullable":true,"description":"24h HH:mm. Present on fixed shifts.","example":"17:00"},"min_hours":{"type":"number","nullable":true,"description":"Present on fixed shifts."},"schedule":{"$ref":"#/components/schemas/ShiftSchedule"},"members":{"type":"array","description":"Assigned members.","items":{"type":"object","properties":{"id":{"type":"integer","example":42},"firstname":{"type":"string","nullable":true,"example":"Jane"},"lastname":{"type":"string","nullable":true,"example":"Doe"},"email":{"type":"string","nullable":true,"example":"jane@example.com"}}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/AssetCustomField":{"id":"components/schemas/AssetCustomField","kind":"json-schema","title":"AssetCustomField","data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"type":{"type":"string","enum":["text","number","date","checkbox","dropdown"]},"options":{"type":"array","items":{"type":"string"},"nullable":true},"category":{"type":"string","nullable":true},"sort_order":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/AssetValidationError":{"id":"components/schemas/AssetValidationError","kind":"json-schema","title":"AssetValidationError","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"v2"},"timestamp":{"type":"string","format":"date-time"}}}}}},"schema_359":{"kind":"json-schema","data":{"type":"integer","minimum":1,"default":1},"id":"schema_359"},"schema_360":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":100,"default":20},"id":"schema_360"},"schema_361":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"type":"object","properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":3},"from":{"type":"integer","example":1},"to":{"type":"integer","example":20}}}}}}},"id":"schema_361"},"schema_362":{"kind":"json-schema","data":{"type":"integer"},"id":"schema_362"},"schema_363":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Workspace"},"message":{"type":"string","example":"Workspace retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-07-28T12:00:00.000000Z"}}}}},"id":"schema_363"},"schema_364":{"kind":"json-schema","data":{"type":"integer","example":1},"id":"schema_364"},"schema_365":{"kind":"json-schema","data":{"type":"string","format":"email","example":"john.doe@example.com"},"id":"schema_365"},"schema_366":{"kind":"json-schema","data":{"type":"string","enum":["active","inactive","left","unknown"],"example":"active"},"id":"schema_366"},"schema_367":{"kind":"json-schema","data":{"type":"string","enum":["Owner","Project viewer","Executive manager","Team manager","Project manager","Regular User"],"example":"Regular User"},"id":"schema_367"},"schema_368":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Member"}},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"type":"object","properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":3},"from":{"type":"integer","example":1},"to":{"type":"integer","example":20}}}}}}},"id":"schema_368"},"schema_369":{"kind":"json-schema","data":{"type":"object","required":["email","firstname","lastname","role"],"properties":{"email":{"type":"string","format":"email","description":"Email address of the member to invite","example":"john.doe@example.com"},"firstname":{"type":"string","description":"First name of the member","example":"John"},"lastname":{"type":"string","description":"Last name of the member","example":"Doe"},"role":{"type":"string","description":"Role to assign to the member","enum":["Regular User","Project manager","Team manager","Executive manager","Project viewer"],"example":"Regular User"},"notify":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether to notify the invited member. When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the default), an invitation email and an in-app notification are sent. When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the member is added silently with no email and no notification — use the returned "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invitation_link"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to invite them yourself."},"children":[]}]}]}],"default":true,"example":true},"custom_fields":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inline custom fields for the invited member (definition + value in one payload). Each item's definition (name/type/options) is found-or-created — workspace-scoped, target=member — and its value stored against the invited user. Requires a higher-tier plan. Max 20 fields per target; dropdown options max 10, each max 255 chars. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" applies only to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dropdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dropdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value must be one of that field's options (422 otherwise). The UPDATE endpoint (PUT) instead targets existing fields by their encrypted "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":[{"name":"EmployeeID","type":"text","value":"E100"}],"items":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string","maxLength":255,"example":"EmployeeID"},"type":{"type":"string","enum":["text","large_text","number","dropdown","checkbox","date"],"example":"text"},"options":{"type":"array","items":{"type":"string","maxLength":255},"maxItems":10,"description":"Required for dropdown; ignored for other types.","example":["Junior","Senior"]},"value":{"type":"string","maxLength":16000,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stored value. Must match the field type: number → numeric, date → date string (e.g. 2026-01-15), checkbox → boolean-ish (\"1\"/\"0\"/true/false); 422 otherwise."},"children":[]}]}]}],"example":"E100"}}}}}},"id":"schema_369"},"schema_370":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Member invited successfully"},"data":{"type":"object","required":["user_id","invitation_link"],"properties":{"user_id":{"type":"integer","description":"ID of the invited member","example":100},"invitation_link":{"type":"string","format":"uri","description":"Invitation link for the member to accept the invitation (always provided)","example":"https://app.webwork-tracker.com/dashboard/accept-invitation/abc123def456"}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_370"},"schema_371":{"kind":"json-schema","data":{"type":"integer","example":100},"id":"schema_371"},"schema_372":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Member retrieved successfully"},"data":{"$ref":"#/components/schemas/Member"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_372"},"schema_373":{"kind":"json-schema","data":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Email address","example":"john.doe@example.com"},"firstname":{"type":"string","description":"First name","example":"John"},"lastname":{"type":"string","description":"Last name","example":"Doe"},"timezone":{"type":"string","description":"Timezone","example":"America/New_York"},"role":{"type":"string","description":"Role","enum":["Regular User","Project manager","Team manager","Executive manager","Project viewer"],"example":"Regular User"},"rate_status":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate visibility status (0 = hidden, 1 = visible)"},"children":[]}]}]}],"enum":[0,1],"example":1},"weekly_hours_limit":{"type":"integer","description":"Weekly hours limit","minimum":0,"example":40},"remove_avatar":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Remove avatar (0 = keep, 1 = remove)"},"children":[]}]}]}],"enum":[0,1],"example":0},"custom_fields":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Member custom field values, each targeted by the field's encrypted "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (from the read-only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_fields"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array — that is how you identify WHICH field to update; no name matching). Ids must resolve to an existing member-target definition in this workspace, else 422. Partial merge: only listed fields are written, others untouched; an empty array clears ALL of the member's custom field values; omit the key to leave them untouched. (Checkbox falsy clears just that field; a dropdown value must be one of that field's options.) Requires a higher-tier plan. A custom_fields-only update (no profile fields) is allowed."},"children":[]}]}]}],"example":[{"id":"4cbc4fee-0000-0000-0000-000000000000","value":"E200"}],"items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Encrypted custom field id (member-target).","example":"4cbc4fee-0000-0000-0000-000000000000"},"value":{"type":"string","maxLength":16000,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stored value. Must match the field type: number → numeric, date → date string (e.g. 2026-01-15), checkbox → boolean-ish (\"1\"/\"0\"/true/false); 422 otherwise."},"children":[]}]}]}],"example":"E200"}}}}}},"id":"schema_373"},"schema_374":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Member updated successfully"},"data":{"type":"object","nullable":true,"default":null},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_374"},"schema_375":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Member deleted successfully"},"data":{"type":"object","nullable":true,"default":null},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_375"},"schema_376":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Member restored successfully"},"data":{"type":"object","nullable":true,"default":null},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_376"},"schema_377":{"kind":"json-schema","data":{"type":"object","required":["password"],"properties":{"password":{"type":"string","format":"password","description":"Password to set for the member. Must contain at least 1 uppercase letter, 1 lowercase letter and 1 number; length between the workspace's minimum password length (default 8) and 36 characters.","example":"Sup3rSecret"},"firstname":{"type":"string","description":"Optional first name override (letters and a single space only, max 20 characters). Defaults to the name provided in the invitation.","example":"John"},"lastname":{"type":"string","description":"Optional last name override (letters and a single space only, max 20 characters). Defaults to the name provided in the invitation.","example":"Doe"}}},"id":"schema_377"},"schema_378":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Member activated successfully"},"data":{"type":"object","required":["user_id","status"],"properties":{"user_id":{"type":"integer","description":"ID of the activated member","example":100},"status":{"type":"string","description":"New member status","example":"active"}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_378"},"schema_379":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"type":"object","properties":{"plan_required":{"type":"string","description":"Present when the workspace plan is below Plus","example":"plus"},"feature_required":{"type":"string","description":"Present when API member activation is not enabled for the workspace","example":"api_member_activation"}}}]},"id":"schema_379"},"schema_380":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Team"}},"message":{"type":"string","example":"Teams retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"type":"object","properties":{"total":{"type":"integer","example":3},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","example":1},"to":{"type":"integer","example":3}}}}}}},"id":"schema_380"},"schema_381":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","name"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":70,"description":"Unique per workspace.","example":"Engineering"}}},"id":"schema_381"},"schema_382":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Team"},"message":{"type":"string","example":"Team created successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_382"},"schema_383":{"kind":"json-schema","data":{"type":"string","example":"encoded_id_string"},"id":"schema_383"},"schema_384":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Team"},"message":{"type":"string","example":"Team retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_384"},"schema_385":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":70,"description":"Omitting this field is a no-op; sending it blank or null is a 422.","example":"Platform"}}},"id":"schema_385"},"schema_386":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Team"},"message":{"type":"string","example":"Team updated successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_386"},"schema_387":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","example":1}}},"id":"schema_387"},"schema_388":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Team deleted successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_388"},"schema_389":{"kind":"json-schema","data":{"type":"integer","example":42},"id":"schema_389"},"schema_390":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","example":1},"is_manager":{"type":"boolean","description":"Promote (true) / demote (false) as Team Manager for this team.","example":true}}},"id":"schema_390"},"schema_391":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Team"},"message":{"type":"string","example":"Member assigned to team successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_391"},"schema_392":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Team"},"message":{"type":"string","example":"Member unassigned from team successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_392"},"schema_393":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Title"}},"message":{"type":"string","example":"Titles retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"type":"object","properties":{"total":{"type":"integer","example":3},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","example":1},"to":{"type":"integer","example":3}}}}}}},"id":"schema_393"},"schema_394":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","name"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":70,"description":"Unique per workspace.","example":"Senior Developer"}}},"id":"schema_394"},"schema_395":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Title"},"message":{"type":"string","example":"Title created successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_395"},"schema_396":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Title"},"message":{"type":"string","example":"Title retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_396"},"schema_397":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":70,"description":"Omitting this field is a no-op; sending it blank or null is a 422.","example":"Staff Engineer"}}},"id":"schema_397"},"schema_398":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Title"},"message":{"type":"string","example":"Title updated successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_398"},"schema_399":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Title deleted successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_399"},"schema_400":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Title"},"message":{"type":"string","example":"Member assigned to title successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_400"},"schema_401":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Title"},"message":{"type":"string","example":"Member unassigned from title successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_401"},"schema_402":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/ProjectGroup"}},"message":{"type":"string","example":"Project groups retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"type":"object","properties":{"total":{"type":"integer","example":3},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","example":1},"to":{"type":"integer","example":3}}}}}}},"id":"schema_402"},"schema_403":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","name"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":70,"description":"Unique per workspace.","example":"Client Work"}}},"id":"schema_403"},"schema_404":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/ProjectGroup"},"message":{"type":"string","example":"Project group created successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_404"},"schema_405":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/ProjectGroup"},"message":{"type":"string","example":"Project group retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_405"},"schema_406":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":70,"description":"Omitting this field is a no-op; sending it blank or null is a 422.","example":"Internal Work"}}},"id":"schema_406"},"schema_407":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/ProjectGroup"},"message":{"type":"string","example":"Project group updated successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_407"},"schema_408":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Project group deleted successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_408"},"schema_409":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/ProjectGroup"},"message":{"type":"string","example":"Project assigned to project group successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_409"},"schema_410":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/ProjectGroup"},"message":{"type":"string","example":"Project unassigned from project group successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_410"},"schema_411":{"kind":"json-schema","data":{"type":"string","example":"Marketing"},"id":"schema_411"},"schema_412":{"kind":"json-schema","data":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Project name. Must be unique within the workspace — creating a project whose name matches an existing active project returns 422 (archived/deleted projects don't count)."},"children":[]}]}]}],"maxLength":255,"example":"Marketing Campaign Q1"},"start_date":{"type":"string","format":"date","description":"Project start date","example":"2024-01-15"},"deadline":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Project deadline (must be after or equal to start_date)"},"children":[]}]}]}],"example":"2024-03-31"},"estimation":{"type":"number","description":"Estimated hours","minimum":0,"example":120},"budget":{"type":"number","description":"Budget estimation","minimum":0,"example":5000},"notes":{"type":"string","description":"Project notes","example":"Focus on social media channels"},"icon":{"type":"string","description":"Project icon identifier","maxLength":255,"example":"project-icon-1"},"custom_fields":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inline custom fields for this new project (definition + value in one payload). Each item's definition (name/type/options) is found-or-created — workspace-scoped, target=project — and its value stored for the created project. Requires a higher-tier plan. Max 20 fields per target; dropdown options max 10, each max 255 chars. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" applies only to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dropdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — omit it for every other type, and a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dropdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value must be one of that field's options (422 otherwise). NOTE: this create shape takes name+type; the UPDATE endpoint (PUT) instead targets existing fields by their encrypted "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":[{"name":"StripeID","type":"text","value":"cus_OabcDEFG123"},{"name":"Tier","type":"dropdown","options":["Low","High"],"value":"High"},{"name":"Active","type":"checkbox","value":"1"}],"items":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string","maxLength":255,"example":"StripeID"},"type":{"type":"string","enum":["text","large_text","number","dropdown","checkbox","date"],"example":"text"},"options":{"type":"array","items":{"type":"string","maxLength":255},"maxItems":10,"description":"Required for dropdown; ignored for other types.","example":["Low","High"]},"value":{"type":"string","maxLength":16000,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stored value. Must match the field type: number → numeric, date → date string (e.g. 2026-01-15), checkbox → boolean-ish (\"1\"/\"0\"/true/false, a falsy value stores nothing and reads back as \"No\"); 422 otherwise."},"children":[]}]}]}],"example":"cus_OabcDEFG123"}}}}}},"id":"schema_412"},"schema_413":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Project created successfully"},"data":{"$ref":"#/components/schemas/Project"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_413"},"schema_414":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Project retrieved successfully"},"data":{"$ref":"#/components/schemas/Project"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_414"},"schema_415":{"kind":"json-schema","data":{"type":"object","properties":{"name":{"type":"string","description":"Project name","maxLength":255,"example":"Marketing Campaign Q1 Updated"},"start_date":{"type":"string","format":"date","description":"Project start date","example":"2024-01-15"},"deadline":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Project deadline (must be after or equal to start_date)"},"children":[]}]}]}],"example":"2024-04-30"},"estimation":{"type":"number","description":"Estimated hours","minimum":0,"example":150},"budget":{"type":"number","description":"Budget estimation","minimum":0,"example":6000},"notes":{"type":"string","description":"Project notes","example":"Updated focus areas"},"icon":{"type":"string","description":"Project icon identifier","maxLength":255,"example":"project-icon-2"},"custom_fields":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom field values for this project, each targeted by the field's encrypted "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the same id returned in the read-only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_fields"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array — that is how you identify WHICH field to update; there is no name matching). Ids must resolve to an existing project-target definition in this workspace, else 422. This is a PARTIAL MERGE: only the listed fields are written, every other field the project holds is left untouched. Pass an EMPTY array to clear ALL of the project's custom field values; omit the key to leave them untouched. (A listed checkbox with a falsy value clears just that field; a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dropdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value must be one of that field's options, else 422.) Requires a higher-tier plan. To add a brand-new field, first create the definition via POST /custom-fields, then send its id here."},"children":[]}]}]}],"example":[{"id":"4cbc4fee-0000-0000-0000-000000000000","value":"cus_OabcDEFG123"},{"id":"8c775603-0000-0000-0000-000000000000","value":"High"}],"items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Encrypted custom field id (from the read-only custom_fields array). Must be a project-target field owned by this workspace."},"children":[]}]}]}],"example":"4cbc4fee-0000-0000-0000-000000000000"},"value":{"type":"string","maxLength":16000,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stored value. Must match the field type: number → numeric, date → date string (e.g. 2026-01-15), checkbox → boolean-ish (\"1\"/\"0\"/true/false, a falsy value stores nothing and reads back as \"No\"); 422 otherwise."},"children":[]}]}]}],"example":"cus_OabcDEFG123"}}}}}},"id":"schema_415"},"schema_416":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Project updated successfully"},"data":{"$ref":"#/components/schemas/Project"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_416"},"schema_417":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Project deleted successfully"},"data":{"type":"object","nullable":true,"default":null},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_417"},"schema_418":{"kind":"json-schema","data":{"type":"string","enum":["active","paused"],"example":"active"},"id":"schema_418"},"schema_419":{"kind":"json-schema","data":{"type":"integer","minimum":1,"default":1,"example":1},"id":"schema_419"},"schema_420":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":100,"default":20,"example":20},"id":"schema_420"},"schema_421":{"kind":"json-schema","data":{"type":"object","required":["project_id","user_id"],"properties":{"project_id":{"type":"integer","description":"ID of the project","example":100},"user_id":{"type":"integer","description":"ID of the user (member)","example":100},"weekly_hours_limit":{"type":"integer","description":"Weekly hours limit (default: 168)","example":40},"screenshots":{"type":"string","nullable":true,"description":"Screenshot mode","enum":["full","blurred","no_preview","no_screenshot","background_blurred","video_full","video_blurred","video_full_silent","video_blurred_silent",null],"example":"full"},"rate":{"type":"number","description":"Hourly rate (only saved if you have permission to view rates)","example":50}}},"id":"schema_421"},"schema_422":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Contract created successfully"},"data":{"$ref":"#/components/schemas/Contract"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_422"},"schema_423":{"kind":"json-schema","data":{"type":"object","properties":{"weekly_hours_limit":{"type":"integer","description":"Weekly hours limit","example":40},"screenshots":{"type":"string","nullable":true,"description":"Screenshot mode","enum":["full","blurred","no_preview","no_screenshot","background_blurred","video_full","video_blurred","video_full_silent","video_blurred_silent",null],"example":"blurred"},"rate":{"type":"number","description":"Hourly rate (only updated if you have permission to view rates)","example":55},"status":{"type":"string","enum":["active","paused"],"description":"Contract status","example":"active"}}},"id":"schema_423"},"schema_424":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Contract deleted successfully"},"data":{"type":"object","nullable":true,"default":null},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_424"},"schema_425":{"kind":"json-schema","data":{"type":"integer","example":50},"id":"schema_425"},"schema_426":{"kind":"json-schema","data":{"type":"integer","enum":[10,20,30,40]},"id":"schema_426"},"schema_427":{"kind":"json-schema","data":{"type":"integer","default":1},"id":"schema_427"},"schema_428":{"kind":"json-schema","data":{"type":"integer","default":20},"id":"schema_428"},"schema_429":{"kind":"json-schema","data":{"type":"string","example":"null"},"id":"schema_429"},"schema_430":{"kind":"json-schema","data":{"type":"string","enum":["asc","desc"]},"id":"schema_430"},"schema_431":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Task"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_431"},"schema_432":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","project_id","title"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID"},"project_id":{"type":"integer","description":"Project ID"},"title":{"type":"string","maxLength":1024,"minLength":1,"description":"Task title","example":"Implement user authentication"},"description":{"type":"string","nullable":true,"maxLength":65535,"description":"Task description","example":"Add OAuth2 authentication support"},"status":{"type":"integer","enum":[0,10,20,30],"default":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Task status: 0 = Open, 10 = In Progress, 20 = Done, 30 = Closed. Only base status codes are accepted for create."},"children":[]}]}]}],"example":0},"priority":{"type":"integer","nullable":true,"enum":[10,20,30,40],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Task priority: 10 = Urgent, 20 = High, 30 = Normal, 40 = Low. Defaults to null if not provided."},"children":[]}]}]}],"example":30},"start_date":{"type":"string","format":"date","nullable":true,"description":"Task start date","example":"2024-01-15"},"end_date":{"type":"string","format":"date","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Task end date (must be after or equal to start_date)"},"children":[]}]}]}],"example":"2024-01-30"},"parent_id":{"type":"integer","nullable":true,"description":"ID of the parent task to create this as a subtask. Must be a top-level task in the same project. Only one level of nesting is supported.","example":null},"assignees":{"type":"array","items":{"type":"integer"},"description":"Array of user IDs to assign the task to","example":[100,101]},"custom_fields":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inline custom fields for this new task (definition + value in one payload). Each item's definition (name/type/options) is found-or-created — workspace-scoped, target=task — and its value stored for the created task. Requires a higher-tier plan. Max 20 fields per target; dropdown options max 10, each max 255 chars. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" applies only to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dropdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dropdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value must be one of that field's options (422 otherwise). The UPDATE endpoint (PUT) instead targets existing fields by their encrypted "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":[{"name":"Severity","type":"text","value":"high"},{"name":"Tier","type":"dropdown","options":["Low","High"],"value":"High"}],"items":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string","maxLength":255,"example":"Severity"},"type":{"type":"string","enum":["text","large_text","number","dropdown","checkbox","date"],"example":"text"},"options":{"type":"array","items":{"type":"string","maxLength":255},"maxItems":10,"description":"Required for dropdown; ignored for other types.","example":["Low","High"]},"value":{"type":"string","maxLength":16000,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stored value. Must match the field type: number → numeric, date → date string (e.g. 2026-01-15), checkbox → boolean-ish (\"1\"/\"0\"/true/false); 422 otherwise."},"children":[]}]}]}],"example":"high"}}}}}},"id":"schema_432"},"schema_433":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Task"},"message":{"type":"string","example":"Task created successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_433"},"schema_434":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Task"},"message":{"type":"string","example":"Task retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_434"},"schema_435":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","project_id"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID"},"project_id":{"type":"integer","description":"Project ID"},"title":{"type":"string","maxLength":1024,"minLength":1,"description":"Task title","example":"Implement user authentication"},"description":{"type":"string","nullable":true,"maxLength":65535,"description":"Task description","example":"Add OAuth2 authentication support"},"status":{"type":"integer","enum":[0,10,20,30],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Task status: 0 = Open, 10 = In Progress, 20 = Done, 30 = Closed. Only base status codes are accepted for update."},"children":[]}]}]}],"example":10},"priority":{"type":"integer","enum":[10,20,30,40],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Task priority: 10 = Urgent, 20 = High, 30 = Normal, 40 = Low"},"children":[]}]}]}],"example":20},"start_date":{"type":"string","format":"date","nullable":true,"description":"Task start date","example":"2024-01-15"},"end_date":{"type":"string","format":"date","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Task end date (must be after or equal to start_date)"},"children":[]}]}]}],"example":"2024-01-30"},"parent_id":{"type":"integer","nullable":true,"description":"Set or change the parent task. Pass null to make it a top-level task. Must be a top-level task in the same project. Only one level of nesting is supported.","example":null},"custom_fields":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom field values for this task, each targeted by the field's encrypted "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (from the read-only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_fields"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array — that is how you identify WHICH field to update; no name matching). Ids must resolve to an existing task-target definition in this workspace, else 422. Partial merge: only listed fields are written, others untouched; an empty array clears ALL of the task's custom field values; omit the key to leave them untouched. (Checkbox falsy clears just that field; a dropdown value must be one of that field's options.) Requires a higher-tier plan."},"children":[]}]}]}],"example":[{"id":"4cbc4fee-0000-0000-0000-000000000000","value":"high"}],"items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Encrypted custom field id (task-target).","example":"4cbc4fee-0000-0000-0000-000000000000"},"value":{"type":"string","maxLength":16000,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stored value. Must match the field type: number → numeric, date → date string (e.g. 2026-01-15), checkbox → boolean-ish (\"1\"/\"0\"/true/false); 422 otherwise."},"children":[]}]}]}],"example":"high"}}}}}},"id":"schema_435"},"schema_436":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Task"},"message":{"type":"string","example":"Task updated successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_436"},"schema_437":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","project_id"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID"},"project_id":{"type":"integer","description":"Project ID"}}},"id":"schema_437"},"schema_438":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted timesheet ID","example":"encoded_id_string"},"status":{"type":"string","example":"approved"},"user_id":{"type":"integer","nullable":true,"example":45696},"user_name":{"type":"string","nullable":true,"example":"John Smith"},"user_email":{"type":"string","nullable":true,"example":"john.smith@example.com"},"date_from":{"type":"string","format":"date","nullable":true,"example":"2024-01-01"},"date_to":{"type":"string","format":"date","nullable":true,"example":"2024-01-15"}}},"message":{"type":"string","example":"Task deleted successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_438"},"schema_439":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/TaskAssignee"}},"message":{"type":"string","example":"Task assignees retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_439"},"schema_440":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TaskAssignment"},"message":{"type":"string","example":"Task assigned successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_440"},"schema_441":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted timesheet ID","example":"encoded_id_string"},"status":{"type":"string","example":"rejected"},"user_id":{"type":"integer","nullable":true,"example":45696},"user_name":{"type":"string","nullable":true,"example":"John Smith"},"user_email":{"type":"string","nullable":true,"example":"john.smith@example.com"},"date_from":{"type":"string","format":"date","nullable":true,"example":"2024-01-01"},"date_to":{"type":"string","format":"date","nullable":true,"example":"2024-01-15"}}},"message":{"type":"string","example":"Task unassigned successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_441"},"schema_442":{"kind":"json-schema","data":{"type":"integer","default":20,"maximum":100},"id":"schema_442"},"schema_443":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatus"}},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}},"id":"schema_443"},"schema_444":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","text","type"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID"},"text":{"type":"string","maxLength":20,"description":"Status label","example":"Code Review"},"type":{"type":"string","enum":["open","active","done","closed"],"description":"Type group the status belongs to","example":"active"},"color":{"type":"string","maxLength":7,"minLength":7,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"7-character hex color (e.g. #6385FD). A random color is assigned if omitted."},"children":[]}]}]}],"example":"#6385FD"},"project_id":{"type":"integer","description":"Project ID. Optional. When supplied, the status is created on the project's status override; a first-time override is seeded from the current workspace statuses.","example":100}}},"id":"schema_444"},"schema_445":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TaskStatus"},"message":{"type":"string","example":"Task status created successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_445"},"schema_446":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TaskStatus"},"message":{"type":"string","example":"Task status retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_446"},"schema_447":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID"},"text":{"type":"string","maxLength":20,"description":"Status label. At least one of text or color is required.","example":"Code Review"},"color":{"type":"string","maxLength":7,"minLength":7,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"7-character hex color (e.g. #6385FD). At least one of text or color is required."},"children":[]}]}]}],"example":"#6385FD"},"project_id":{"type":"integer","description":"Project ID. Optional. When supplied, the update applies to the project's status override.","example":100}}},"id":"schema_447"},"schema_448":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TaskStatus"},"message":{"type":"string","example":"Task status updated successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_448"},"schema_449":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID"},"reassign_to":{"type":"integer","description":"An existing status ID to move affected tasks to. Defaults to the group base status when omitted.","example":10},"project_id":{"type":"integer","description":"Project ID. Optional. When supplied, the deletion applies to the project's status override.","example":100}}},"id":"schema_449"},"schema_450":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","nullable":true,"example":null},"message":{"type":"string","example":"Task status deleted successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_450"},"schema_451":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/TaskComment"}},"message":{"type":"string","example":"Task comments retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}},"id":"schema_451"},"schema_452":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","text"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID"},"text":{"type":"string","minLength":1,"maxLength":2048,"description":"Comment body","example":"Looks good, ready for review."},"parent_id":{"type":"integer","description":"Parent comment ID when posting a reply. Omit for a top-level comment.","example":501}}},"id":"schema_452"},"schema_453":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TaskComment"},"message":{"type":"string","example":"Task comment created successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_453"},"schema_454":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TaskComment"},"message":{"type":"string","example":"Task comment retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_454"},"schema_455":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","text"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID"},"text":{"type":"string","minLength":1,"maxLength":2048,"description":"Updated comment body","example":"Updated: ready for review after the latest changes."}}},"id":"schema_455"},"schema_456":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TaskComment"},"message":{"type":"string","example":"Task comment updated successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_456"},"schema_457":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID"}}},"id":"schema_457"},"schema_458":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","nullable":true,"example":null},"message":{"type":"string","example":"Task comment deleted successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_458"},"schema_459":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"},"message":{"type":"string"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_459"},"schema_460":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer"},"email":{"type":"string","format":"email"},"firstname":{"type":"string"},"lastname":{"type":"string"}}},"id":"schema_460"},"schema_461":{"kind":"json-schema","data":{"type":"string"},"id":"schema_461"},"schema_462":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer"}}},"id":"schema_462"},"schema_463":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","project_id"],"properties":{"workspace_id":{"type":"integer"},"project_id":{"type":"integer"}}},"id":"schema_463"},"schema_464":{"kind":"json-schema","data":{"type":"string","enum":["pending","submitted","approved","rejected"],"example":"pending"},"id":"schema_464"},"schema_465":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2024-01-01"},"id":"schema_465"},"schema_466":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2024-01-31"},"id":"schema_466"},"schema_467":{"kind":"json-schema","data":{"type":"integer","example":123},"id":"schema_467"},"schema_468":{"kind":"json-schema","data":{"type":"string","enum":["asc","desc"],"example":"desc"},"id":"schema_468"},"schema_469":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","description":"Array of timesheet objects","items":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted timesheet ID","example":"encoded_id_string"},"user_id":{"type":"integer","description":"User ID","example":100},"member":{"type":"string","nullable":true,"description":"User full name (firstname lastname)","example":"John Doe"},"date_from":{"type":"string","format":"date","nullable":true,"description":"Timesheet period start date (pay period start)","example":"2024-01-01"},"date_to":{"type":"string","format":"date","nullable":true,"description":"Timesheet period end date (pay period end)","example":"2024-01-07"},"total_minutes":{"type":"integer","description":"Total tracked minutes for the entire timesheet period","example":1737},"total_amount":{"type":"number","nullable":true,"description":"Total amount for the entire timesheet period. Only included if the authenticated user has permission to see rates.","example":192.97},"submitted_on":{"type":"string","nullable":true,"description":"Timestamp when timesheet was submitted","example":"2024-01-05 10:30"},"reject_reason":{"type":"string","nullable":true,"description":"Reason for rejection (if rejected)","example":null},"status":{"type":"string","description":"Timesheet status","enum":["open","submitted","approved","rejected"],"example":"submitted"},"currency":{"type":"string","nullable":true,"description":"Currency code for the user (from team settings or owner default). Only included if the authenticated user has permission to see rates.","example":"EUR"},"daily_breakdown":{"type":"object","description":"Daily breakdown of tracked time by date. Each date contains an array of project entries with their tracked time. Amount is only included if the user has rate visibility permission.","additionalProperties":{"type":"array","items":{"type":"object","properties":{"project_id":{"type":"integer","nullable":true,"description":"Project ID (null for 'No Project')","example":789},"project_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Project name ('No Project' if project_id is null)"},"children":[]}]}]}],"example":"Customer Engagement & Onboarding"},"contract_id":{"type":"integer","nullable":true,"description":"Contract ID","example":456},"total_minutes":{"type":"integer","description":"Total tracked minutes for this project on this day","example":76},"total_amount":{"type":"number","nullable":true,"description":"Total amount for this project on this day. Only included if the user has rate visibility permission.","example":74.33}}}},"example":{"2024-01-01":[{"project_id":789,"project_name":"Customer Engagement & Onboarding","contract_id":456,"total_minutes":76,"total_amount":0},{"project_id":null,"project_name":"No Project","contract_id":333,"total_minutes":223,"total_amount":74.33}],"2024-01-02":[{"project_id":789,"project_name":"Customer Engagement & Onboarding","contract_id":456,"total_minutes":442,"total_amount":0}]}}}}},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2024-01-15T10:30:00Z"},"pagination":{"type":"object","properties":{"total":{"type":"integer","description":"Total number of timesheets","example":50},"per_page":{"type":"integer","description":"Items per page","example":20},"current_page":{"type":"integer","description":"Current page number","example":1},"last_page":{"type":"integer","description":"Last page number","example":3},"from":{"type":"integer","description":"First item index on current page","example":1},"to":{"type":"integer","description":"Last item index on current page","example":20}}}}}}},"id":"schema_469"},"schema_470":{"kind":"json-schema","data":{"type":"string","format":"uuid"},"id":"schema_470"},"schema_471":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Timesheet"},"message":{"type":"string","example":"Timesheet retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-07-28T12:00:00.000000Z"}}}}},"id":"schema_471"},"schema_472":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","example":"Invalid timesheet identifier provided."}}},"id":"schema_472"},"schema_473":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","description":"ID of the workspace","example":1}}},"id":"schema_473"},"schema_474":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted timesheet ID","example":"encoded_id_string"},"status":{"type":"string","example":"approved"},"user_id":{"type":"integer","nullable":true,"example":45696},"user_name":{"type":"string","nullable":true,"example":"John Smith"},"user_email":{"type":"string","nullable":true,"example":"john.smith@example.com"},"date_from":{"type":"string","format":"date","nullable":true,"example":"2024-01-01"},"date_to":{"type":"string","format":"date","nullable":true,"example":"2024-01-15"}}},"message":{"type":"string","description":"Dynamic message with approver name, timestamp, member name, and pay period. Suitable for Slack bot notifications.","example":"Timesheet approved by Jane Doe at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_474"},"schema_475":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","reason"],"properties":{"workspace_id":{"type":"integer","description":"ID of the workspace","example":1},"reason":{"type":"string","description":"Reason for rejection. This is required and will be visible to the user.","example":"Please correct the hours for Monday - they seem too high"}}},"id":"schema_475"},"schema_476":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted timesheet ID","example":"encoded_id_string"},"status":{"type":"string","example":"rejected"},"user_id":{"type":"integer","nullable":true,"example":45696},"user_name":{"type":"string","nullable":true,"example":"John Smith"},"user_email":{"type":"string","nullable":true,"example":"john.smith@example.com"},"date_from":{"type":"string","format":"date","nullable":true,"example":"2024-01-01"},"date_to":{"type":"string","format":"date","nullable":true,"example":"2024-01-15"}}},"message":{"type":"string","description":"Dynamic message with rejector name, timestamp, member name, pay period, and rejection reason. Suitable for Slack bot notifications.","example":"Timesheet rejected by Jane Doe at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15 | Reason: Please correct the hours for Monday"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_476"},"schema_477":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted timesheet ID","example":"encoded_id_string"},"status":{"type":"string","example":"submitted"},"user_id":{"type":"integer","nullable":true,"example":45696},"user_name":{"type":"string","nullable":true,"example":"John Smith"},"user_email":{"type":"string","nullable":true,"example":"john.smith@example.com"},"date_from":{"type":"string","format":"date","nullable":true,"example":"2024-01-01"},"date_to":{"type":"string","format":"date","nullable":true,"example":"2024-01-15"}}},"message":{"type":"string","description":"Dynamic message with submitter name, timestamp, member name, and pay period. Suitable for Slack bot notifications.","example":"Timesheet submitted by John Smith at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_477"},"schema_478":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted timesheet ID","example":"encoded_id_string"},"status":{"type":"string","example":"open"},"user_id":{"type":"integer","nullable":true,"example":45696},"user_name":{"type":"string","nullable":true,"example":"John Smith"},"user_email":{"type":"string","nullable":true,"example":"john.smith@example.com"},"date_from":{"type":"string","format":"date","nullable":true,"example":"2024-01-01"},"date_to":{"type":"string","format":"date","nullable":true,"example":"2024-01-15"}}},"message":{"type":"string","description":"Dynamic message with actor name, timestamp, member name, and pay period. Suitable for Slack bot notifications.","example":"Timesheet unsubmitted by Jane Doe at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_478"},"schema_479":{"kind":"json-schema","data":{"type":"string","enum":["pending","approved","rejected"]},"id":"schema_479"},"schema_480":{"kind":"json-schema","data":{"type":"string","format":"date"},"id":"schema_480"},"schema_481":{"kind":"json-schema","data":{"type":"integer","default":30,"maximum":100},"id":"schema_481"},"schema_482":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","user_id","start","end"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID (required)"},"user_id":{"type":"integer","description":"User ID for whom the time request is being created (required)"},"contract_id":{"type":"integer","nullable":true,"description":"Contract ID (optional). Can be null if creating a time request without a contract."},"start":{"type":"string","format":"date-time","description":"Start time in ISO 8601 format (required)"},"end":{"type":"string","format":"date-time","description":"End time in ISO 8601 format, must be after start (required)"},"activity_description":{"type":"string","nullable":true,"description":"Optional activity description for the time request"},"task_id":{"type":"integer","nullable":true,"description":"Optional task ID to associate with the time request"}}},"id":"schema_482"},"schema_483":{"kind":"json-schema","data":{"type":"object","required":["success","data","message","meta"],"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","required":["id","status"],"properties":{"id":{"type":"string","description":"Encrypted time request ID","example":"encoded_id_string"},"status":{"type":"string","enum":["pending","approved","rejected"],"description":"Time request status","example":"pending"},"user_id":{"type":"integer","nullable":true,"description":"User ID associated with the time request","example":123},"user_name":{"type":"string","nullable":true,"description":"Full name of the user associated with the time request","example":"John Smith"},"user_email":{"type":"string","nullable":true,"description":"Email of the user associated with the time request","example":"john.smith@example.com"},"project_id":{"type":"integer","nullable":true,"description":"Project ID when contract/project exists","example":309836},"project_name":{"type":"string","nullable":true,"description":"Project name when contract/project exists","example":"Website Redesign"},"task_id":{"type":"integer","nullable":true,"description":"Task ID when task exists","example":101},"task_title":{"type":"string","nullable":true,"description":"Task title when task exists","example":"Implement auth"}}},"message":{"type":"string","description":"Dynamic message with member name, date, time range, project, task, and activity details. Suitable for Slack bot notifications.","example":"Time request created for John Smith on 2025-12-05 (09:00 - 17:00) | Project: Website Redesign | Task: Implement auth | Activity: Worked on feature implementation"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_483"},"schema_484":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TimeRequest"},"message":{"type":"string","example":"Time request retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-07-28T12:00:00.000000Z"}}}}},"id":"schema_484"},"schema_485":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","example":"Invalid time request identifier provided."}}},"id":"schema_485"},"schema_486":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID (required)","example":1}}},"id":"schema_486"},"schema_487":{"kind":"json-schema","data":{"type":"object","required":["success","data","message","meta"],"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","required":["id","status"],"properties":{"id":{"type":"string","description":"Encrypted time request ID","example":"encoded_id_string"},"status":{"type":"string","enum":["approved"],"description":"Time request status (always 'approved' for approve endpoint)","example":"approved"},"user_id":{"type":"integer","nullable":true,"description":"User ID associated with the time request","example":123},"user_name":{"type":"string","nullable":true,"description":"Full name of the user associated with the time request","example":"John Smith"},"user_email":{"type":"string","nullable":true,"description":"Email of the user associated with the time request","example":"john.smith@example.com"},"project_id":{"type":"integer","nullable":true,"description":"Project ID when contract/project exists","example":309836},"project_name":{"type":"string","nullable":true,"description":"Project name when contract/project exists","example":"Website Redesign"},"task_id":{"type":"integer","nullable":true,"description":"Task ID when task exists","example":101},"task_title":{"type":"string","nullable":true,"description":"Task title when task exists","example":"Implement auth"}}},"message":{"type":"string","description":"Dynamic message with approver name and timestamp. Suitable for Slack bot notifications.","example":"Time request approved by Jane Doe at 2025-12-05 11:00:00"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_487"},"schema_488":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","comment"],"properties":{"workspace_id":{"type":"integer","description":"Workspace ID (required)"},"comment":{"type":"string","maxLength":1000,"description":"Comment explaining the rejection reason (required, max 1000 characters)","example":"Time entry overlaps with existing approved time"}}},"id":"schema_488"},"schema_489":{"kind":"json-schema","data":{"type":"object","required":["success","data","message","meta"],"properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","required":["id","status"],"properties":{"id":{"type":"string","description":"Encrypted time request ID","example":"encoded_id_string"},"status":{"type":"string","enum":["rejected"],"description":"Time request status (always 'rejected' for reject endpoint)","example":"rejected"},"user_id":{"type":"integer","nullable":true,"description":"User ID associated with the time request","example":123},"user_name":{"type":"string","nullable":true,"description":"Full name of the user associated with the time request","example":"John Smith"},"user_email":{"type":"string","nullable":true,"description":"Email of the user associated with the time request","example":"john.smith@example.com"},"project_id":{"type":"integer","nullable":true,"description":"Project ID when contract/project exists","example":309836},"project_name":{"type":"string","nullable":true,"description":"Project name when contract/project exists","example":"Website Redesign"},"task_id":{"type":"integer","nullable":true,"description":"Task ID when task exists","example":101},"task_title":{"type":"string","nullable":true,"description":"Task title when task exists","example":"Implement auth"}}},"message":{"type":"string","description":"Dynamic message with rejector name, timestamp, and rejection reason. Suitable for Slack bot notifications.","example":"Time request rejected by Jane Doe at 2025-12-05 11:00:00 | Reason: Time entry overlaps with existing approved time"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_489"},"schema_490":{"kind":"json-schema","data":{"type":"string","enum":["yes","no"]},"id":"schema_490"},"schema_491":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2024-12-31"},"id":"schema_491"},"schema_492":{"kind":"json-schema","data":{"type":"string","enum":["pending","approved","rejected","deleted"]},"id":"schema_492"},"schema_493":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Encoded leave request ID","example":"encoded_id_string"},"user_id":{"type":"integer","description":"User ID who requested the leave","example":1},"status":{"type":"string","description":"Leave request status (lowercase)","example":"approved"},"note":{"type":"string","nullable":true,"description":"Note associated with the leave request","example":"Family vacation"},"is_paid":{"type":"string","enum":["yes","no"],"description":"Whether the leave is paid (yes or no)","example":"yes"},"created_by":{"type":"integer","description":"User ID who created the leave request","example":1},"approved_by":{"type":"integer","nullable":true,"description":"User ID who approved the leave request (only present if status is approved)","example":2},"rejected_by":{"type":"integer","nullable":true,"description":"User ID who rejected the leave request (only present if status is rejected)","example":2},"reject_reason":{"type":"string","nullable":true,"description":"Reason for rejection (only present if status is rejected)","example":"Insufficient leave balance"},"start_date":{"type":"string","format":"date","description":"Start date of the leave","example":"2019-08-24"},"end_date":{"type":"string","format":"date","description":"End date of the leave","example":"2019-08-24"},"created_on":{"type":"string","format":"date","description":"Date when the leave request was created (format: Y-m-d)","example":"2019-08-24"},"total":{"type":"object","properties":{"days":{"type":"number","nullable":true,"description":"Total leave days (only present if time unit is days)","example":5},"hours":{"type":"number","nullable":true,"description":"Total leave hours (only present if time unit is hours)","example":null}},"description":"Total leave duration. Either days or hours will be populated based on the leave type time unit."},"approval_steps":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sequential multi-level approval chain. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only present when multi-level approval is enabled for the workspace"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (single-level workspaces omit this field). One ordered entry per level: a pending request shows which level it is waiting on, and an approved request shows who approved each level."},"children":[]}]}]}],"items":{"type":"object","properties":{"level":{"type":"integer","description":"1-based position of this step in the approval chain.","example":1},"roles":{"type":"array","items":{"type":"string","enum":["Owner","Executive Manager","Team Manager","Project Manager","Member"]},"description":"Roles eligible to approve this level.","example":["Team Manager"]},"status":{"type":"string","enum":["pending","approved","rejected"],"description":"Status of this level.","example":"approved"},"approved_by":{"type":"integer","nullable":true,"description":"User ID who approved this level (null unless the level is approved).","example":2},"approved_by_name":{"type":"string","nullable":true,"description":"Full name of the approver (null unless the level is approved).","example":"Jane Doe"},"acted_at":{"type":"string","format":"date","nullable":true,"description":"Date the level was acted on (format: Y-m-d; null while pending).","example":"2024-01-15"}}}}}},"description":"Array of leave request objects"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_493"},"schema_494":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","policy_id","start","end","user_id"],"properties":{"workspace_id":{"type":"integer","description":"ID of the workspace","example":123},"policy_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Encoded ID of the leave policy (the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"policy_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value returned by the leave policies endpoint). Send it as a string, not the raw numeric ID."},"children":[]}]}]}],"example":"7802e7ca-c7f3-cfab-482a-fbc4982fe6b9"},"start":{"type":"string","format":"date","description":"Start date in YYYY-MM-DD format","example":"2026-02-10"},"end":{"type":"string","format":"date","description":"End date in YYYY-MM-DD format","example":"2026-02-12"},"user_id":{"type":"integer","description":"ID of the user","example":789},"start_time":{"type":"string","format":"time","description":"Start time in HH:mm format. (Required when policy is hour-based)","example":"09:00"},"end_time":{"type":"string","format":"time","description":"End time in HH:mm format. (Required when policy is hour-based)","example":"13:00"},"hours_per_day":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Hours per day for the leave. Required when policy is hour-based. Accepts either a decimal number of hours (e.g. 1.5) or an \"HH:mm\" string (e.g. \"01:30\"). Must be greater than 0 and not exceed the start_time–end_time interval. For a day-based leave, if omitted (empty/null/0) it now defaults to the policy's effective working_hours_amount for a full working day — the workspace value in TOTAL balance mode, the policy's own value in SPLIT mode — matching the dashboard. Omitting it no longer books 0 hours against an hours-based (TOTAL + Hours) shared pool."},"children":[]}]}]}],"oneOf":[{"type":"number","example":1.5},{"type":"string","example":"01:30"}]},"leave_period":{"type":"integer","description":"Leave period (0: Full day, 1: 1st half, 2: 2nd half)","default":0},"reason":{"type":"string","description":"Reason for the leave request","maxLength":255}}},"id":"schema_494"},"schema_495":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","description":"The created leave request, in the same shape as an item from GET /leaves.","properties":{"id":{"type":"string","description":"Encrypted leave-request UUID.","example":"encoded_id_string"},"user_id":{"type":"integer","example":71},"status":{"type":"string","enum":["pending","approved","rejected"],"description":"A new request is always created as pending.","example":"pending"},"note":{"type":"string","nullable":true,"example":"Family trip"},"is_paid":{"type":"string","enum":["yes","no"],"example":"yes"},"created_by":{"type":"integer","example":71},"approved_by":{"type":"integer","nullable":true,"example":null},"rejected_by":{"type":"integer","nullable":true,"example":null},"reject_reason":{"type":"string","nullable":true,"example":null},"start_date":{"type":"string","format":"date","example":"2027-03-15"},"end_date":{"type":"string","format":"date","example":"2027-03-16"},"created_on":{"type":"string","format":"date","example":"2026-07-23"},"total":{"type":"object","description":"Booked amount. The unit that does not apply to the policy is null.","properties":{"days":{"type":"number","nullable":true,"example":1},"hours":{"type":"number","nullable":true,"example":null}}},"approval_steps":{"type":"array","description":"Only present on multi-level-approval workspaces: the ordered approval chain. A new request is pending at level 1.","items":{"type":"object","properties":{"level":{"type":"integer","example":1},"roles":{"type":"array","items":{"type":"string"},"example":["Owner"]},"status":{"type":"string","enum":["pending","approved","rejected"],"example":"pending"},"approved_by":{"type":"integer","nullable":true,"example":null},"approved_by_name":{"type":"string","nullable":true,"example":null},"acted_at":{"type":"string","format":"date","nullable":true,"example":null}}}}},"example":{"id":"encoded_id_string","user_id":71,"status":"pending","note":"Family trip","is_paid":"yes","created_by":71,"approved_by":null,"rejected_by":null,"reject_reason":null,"start_date":"2027-03-15","end_date":"2027-03-16","created_on":"2026-07-23","total":{"days":1,"hours":null}}},"message":{"type":"string"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_495"},"schema_496":{"kind":"json-schema","data":{"oneOf":[{"type":"object","properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"}}},{"type":"object","properties":{"success":{"type":"boolean","example":false},"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}}]},"id":"schema_496"},"schema_497":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","description":"One object per member. Each member lists a remaining balance per leave policy for the requested period.","items":{"type":"object","properties":{"user_id":{"type":"integer","description":"The member's user ID.","example":71},"balances":{"type":"array","description":"One entry per leave policy the member has.","items":{"type":"object","properties":{"policy_id":{"type":"string","description":"Encrypted leave-policy UUID.","example":"encoded_id_string"},"policy_name":{"type":"string","example":"Vacation"},"used":{"type":"object","description":"Leave already used in the period. The unit that does not apply to the policy is 0.","properties":{"days":{"type":"number","nullable":true,"example":8},"hours":{"type":"number","nullable":true,"example":0}}},"balance":{"type":"object","description":"Remaining balance. The unit that does not apply to the policy is null (e.g. an hours-based policy reports days: 0 and the remaining amount under hours).","properties":{"days":{"type":"number","nullable":true,"example":12},"hours":{"type":"number","nullable":true,"example":0}}}}}},"total_balance":{"type":"object","nullable":true,"description":"Only present on one-duration-for-all (TOTAL) workspaces: the single shared allowance minus total used, in the workspace unit. null when no allowance is configured, and omitted entirely for Separate-duration (SPLIT) workspaces.","properties":{"days":{"type":"number","nullable":true,"example":12},"hours":{"type":"number","nullable":true,"example":0}}}}},"example":[{"user_id":71,"balances":[{"policy_id":"encoded_id_string","policy_name":"Vacation","used":{"days":8,"hours":0},"balance":{"days":12,"hours":0}},{"policy_id":"encoded_id_string","policy_name":"Day off hourly","used":{"days":0,"hours":0},"balance":{"days":0,"hours":8}}]}]},"message":{"type":"string"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_497"},"schema_498":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","description":"One object per leave policy visible in the workspace.","items":{"type":"object","properties":{"id":{"type":"string","description":"Encrypted leave-policy UUID.","example":"encoded_id_string"},"policy_name":{"type":"string","example":"Vacation"},"balance_schedule":{"type":"string","enum":["annually","monthly","hired-date based"],"example":"annually"},"time_unit":{"type":"string","enum":["days","hours"],"example":"days"},"working_hours_per_day":{"type":"integer","nullable":true,"description":"Working hours per day for days-based policies; null for hours-based policies.","example":8},"duration":{"type":"object","description":"Total allowance. The unit that does not apply to the policy is null.","properties":{"days":{"type":"integer","nullable":true,"example":20},"hours":{"type":"integer","nullable":true,"example":null}}},"paid":{"type":"string","enum":["yes","no"],"example":"yes"},"is_negative_balance_allowed":{"type":"string","enum":["yes","no"],"example":"no"},"reason_required":{"type":"string","enum":["yes","no"],"example":"yes"}}},"example":[{"id":"encoded_id_string","policy_name":"Other","balance_schedule":"annually","time_unit":"days","working_hours_per_day":8,"duration":{"days":20,"hours":null},"paid":"yes","is_negative_balance_allowed":"yes","reason_required":"yes"},{"id":"encoded_id_string","policy_name":"Monthly","balance_schedule":"monthly","time_unit":"days","working_hours_per_day":8,"duration":{"days":0,"hours":null},"paid":"yes","is_negative_balance_allowed":"no","reason_required":"yes"}]},"message":{"type":"string"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_498"},"schema_499":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Leave"},"message":{"type":"string","example":"Leave request retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-07-28T12:00:00.000000Z"}}}}},"id":"schema_499"},"schema_500":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","example":"Invalid leave request identifier provided"}}},"id":"schema_500"},"schema_501":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Expense"}},"message":{"type":"string"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_501"},"schema_502":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer"},"amount":{"type":"number"},"category_id":{"type":"string"},"description":{"type":"string"},"date":{"type":"string","format":"date"}}},"id":"schema_502"},"schema_503":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Expense"},"message":{"type":"string","example":"Expense retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-07-28T12:00:00.000000Z"}}}}},"id":"schema_503"},"schema_504":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","example":"Invalid expense identifier provided."}}},"id":"schema_504"},"schema_505":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"This expense has been invoiced and can no longer be changed."}}},"id":"schema_505"},"schema_506":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","user_id"],"properties":{"workspace_id":{"type":"integer","description":"ID of the workspace","example":1},"user_id":{"type":"integer","description":"ID of the user to start tracking for. Must be a member of the specified workspace.","example":100},"contract_id":{"type":"integer","nullable":true,"description":"Optional contract ID (project-member assignment). If provided, the time will be tracked for the associated project. If not provided, time will be tracked without a project assignment.","example":20},"task_id":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional task ID. Can only be provided if contract_id is also provided. The task must belong to the project associated with the contract."},"children":[]}]}]}],"example":5},"activity_description":{"type":"string","nullable":true,"maxLength":1000,"description":"Optional description of the activity being tracked","example":"Working on feature implementation"}}},"id":"schema_506"},"schema_507":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"start_time":{"type":"string","format":"date-time","example":"2024-01-15T10:30:00+00:00","description":"ISO 8601 timestamp when tracking started"},"user_id":{"type":"integer","example":100,"description":"ID of the user whose tracking was started"},"user_name":{"type":"string","example":"John Smith","description":"Full name of the user whose tracking was started"},"user_email":{"type":"string","nullable":true,"example":"john.smith@example.com","description":"Email of the user whose tracking was started"},"contract_id":{"type":"integer","nullable":true,"example":20,"description":"Contract ID if provided"},"project_id":{"type":"integer","nullable":true,"example":10,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Project ID from the contract if contract_id was provided"},"children":[]}]}]}]},"project_name":{"type":"string","nullable":true,"example":"Website Redesign","description":"Project name when contract/project exists"},"task_id":{"type":"integer","nullable":true,"example":5,"description":"Task ID if provided"},"task_title":{"type":"string","nullable":true,"example":"Implement auth","description":"Task title when task exists"},"activity_description":{"type":"string","nullable":true,"example":"Working on feature implementation","description":"Activity description if provided"}}},"message":{"type":"string","description":"Dynamic message with user name, timestamp, project, task, and activity details. Suitable for Slack bot notifications.","example":"Time tracking started for John Smith at 2024-01-15 10:30:00 | Project: Website Redesign | Task: Implement auth | Activity: Working on feature implementation"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_507"},"schema_508":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","user_id"],"properties":{"workspace_id":{"type":"integer","description":"ID of the workspace","example":1},"user_id":{"type":"integer","description":"ID of the user to stop tracking for. Must be a member of the specified workspace and have an active tracker running.","example":100}}},"id":"schema_508"},"schema_509":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"stopped_at":{"type":"string","format":"date-time","example":"2024-01-15T12:30:00+00:00","description":"ISO 8601 timestamp when tracking was stopped"},"user_id":{"type":"integer","example":100,"description":"ID of the user whose tracking was stopped"},"user_name":{"type":"string","example":"John Smith","description":"Full name of the user whose tracking was stopped"},"user_email":{"type":"string","nullable":true,"example":"john.smith@example.com","description":"Email of the user whose tracking was stopped"}}},"message":{"type":"string","description":"Dynamic message with user name and stop timestamp. Suitable for Slack bot notifications.","example":"Time tracking stopped for John Smith at 2024-01-15 12:30:00"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_509"},"schema_510":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Current tracker data including total time tracked. The total_minutes field combines minutes from Timeline entries for the date with minutes from the current running tracker. The total_seconds field represents the remainder seconds from the current tracker."},"children":[]}]}]}],"properties":{"contract_id":{"type":"integer","nullable":true,"description":"Contract ID (project-member assignment) if tracking with a project","example":598672},"user_id":{"type":"integer","description":"User ID of the person tracking time","example":45696},"activity_description":{"type":"string","nullable":true,"description":"Description of the activity being tracked","example":"Working on API documentation"},"task_id":{"type":"integer","nullable":true,"description":"Task ID if tracking with a task","example":3917798},"task_title":{"type":"string","nullable":true,"description":"Title of the task if tracking with a task","example":"Adding timesheets"},"total_seconds":{"type":"integer","description":"Remainder seconds from the current running tracker (after converting to minutes)","example":9},"total_minutes":{"type":"integer","description":"Total minutes tracked, combining Timeline entries for the date with minutes from the current running tracker","example":7},"date":{"type":"string","format":"date","description":"Date of the tracking session","example":"2025-12-08"}}},"message":{"type":"string","example":"Current tracker data retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_510"},"schema_511":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Encrypted UUID identifier for the time entry","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"user_id":{"type":"integer","example":100},"contract_id":{"type":"integer","nullable":true,"example":20},"project_id":{"type":"integer","nullable":true,"example":10},"project_name":{"type":"string","nullable":true,"example":"Website Redesign"},"task_id":{"type":"integer","nullable":true,"example":5},"task_title":{"type":"string","nullable":true,"example":"Update homepage design"},"activity_description":{"type":"string","nullable":true,"example":"Working on feature implementation"},"method":{"type":"string","description":"Tracking method description (e.g., 'Desktop tracker', 'Mobile tracker', 'Manually added time', 'Extension tracker', 'Web tracker', 'Idle time', 'Paid leave', 'Break', 'Paid holiday')","example":"Desktop tracker"},"date":{"type":"string","format":"date","example":"2026-01-29"},"start_time":{"type":"string","format":"date-time","example":"2026-01-29T09:00:00Z"},"end_time":{"type":"string","format":"date-time","nullable":true,"example":"2026-01-29T17:00:00Z"},"duration_minutes":{"type":"integer","description":"Total duration in minutes","example":480}}}},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-01-29T12:00:00.000000Z"},"pagination":{"type":"object","properties":{"total":{"type":"integer","example":50},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":3},"from":{"type":"integer","example":1},"to":{"type":"integer","example":20}}}}}}},"id":"schema_511"},"schema_512":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","user_id","date","start_time","end_time"],"properties":{"workspace_id":{"type":"integer","description":"ID of the workspace","example":1},"user_id":{"type":"integer","description":"ID of the user","example":100},"contract_id":{"type":"integer","nullable":true,"description":"Contract ID (project-member assignment)","example":20},"task_id":{"type":"integer","nullable":true,"description":"Optional task ID","example":5},"notes":{"type":"string","nullable":true,"maxLength":500,"description":"Activity notes or description","example":"Working on feature implementation"},"date":{"type":"string","format":"date","description":"Date of the time entry (format: Y-m-d)","example":"2026-01-29"},"start_time":{"type":"string","format":"time","description":"Start time in HH:mm format","example":"09:00"},"end_time":{"type":"string","format":"time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End time in HH:mm format (must be after start_time)"},"children":[]}]}]}],"example":"17:00"}}},"id":"schema_512"},"schema_513":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","description":"Human-readable message indicating the result. May include warnings about partial saves.","example":"8 hr successfully added for John Doe."},"saved_minutes":{"type":"integer","description":"Number of minutes actually saved. May be less than requested if limits were reached.","example":480},"data":{"type":"object","properties":{"user_id":{"type":"integer","example":100},"contract_id":{"type":"integer","nullable":true,"example":20},"project_id":{"type":"integer","nullable":true,"example":10},"project_name":{"type":"string","nullable":true,"example":"Website Redesign"},"task_id":{"type":"integer","nullable":true,"example":5},"task_title":{"type":"string","nullable":true,"example":"Update homepage design"},"activity_description":{"type":"string","nullable":true,"example":"Working on feature implementation"},"method":{"type":"string","description":"Tracking method description (e.g., 'Desktop tracker', 'Mobile tracker', 'Manually added time', 'Extension tracker', 'Web tracker', 'Idle time', 'Paid leave', 'Break', 'Paid holiday')","example":"Manually added time"},"date":{"type":"string","format":"date","example":"2026-01-29"},"start_time":{"type":"string","format":"date-time","example":"2026-01-29T09:00:00Z"},"end_time":{"type":"string","format":"date-time","example":"2026-01-29T17:00:00Z"},"duration_minutes":{"type":"integer","example":480}}},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-01-29T12:00:00.000000Z"}}}}},"id":"schema_513"},"schema_514":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Time cannot be added for John Doe — member limit reached."},"saved_minutes":{"type":"integer","example":0},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-01-29T12:00:00.000000Z"}}}}},"id":"schema_514"},"schema_515":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TimeEntry"},"message":{"type":"string","example":"Time entry retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-07-28T12:00:00.000000Z"}}}}},"id":"schema_515"},"schema_516":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","example":"Invalid time entry identifier provided"}}},"id":"schema_516"},"schema_517":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","description":"ID of the workspace","example":1},"project_id":{"type":"integer","nullable":true,"description":"Project ID","example":10},"task_id":{"type":"integer","nullable":true,"description":"Task ID","example":5},"notes":{"type":"string","nullable":true,"maxLength":500,"description":"Activity notes or description","example":"Updated activity description"},"date":{"type":"string","format":"date","description":"Date of the time entry (format: Y-m-d)","example":"2026-01-29"},"start_time":{"type":"string","format":"time","description":"Start time in HH:mm format","example":"09:00"},"end_time":{"type":"string","format":"time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End time in HH:mm format (must be after start_time)"},"children":[]}]}]}],"example":"17:30"}}},"id":"schema_517"},"schema_518":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Time entry updated successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-01-29T12:00:00.000000Z"}}}}},"id":"schema_518"},"schema_519":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Wrong time range"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-01-29T12:00:00.000000Z"}}}}},"id":"schema_519"},"schema_520":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Time entry deleted successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-01-29T12:00:00.000000Z"}}}}},"id":"schema_520"},"schema_521":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"workspace_id is required in request body"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-01-29T12:00:00.000000Z"}}}}},"id":"schema_521"},"schema_522":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Invalid time entry identifier provided"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-01-29T12:00:00.000000Z"}}}}},"id":"schema_522"},"schema_523":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer"},"example":[1,2,3]},"id":"schema_523"},"schema_524":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer"},"example":[10,20]},"id":"schema_524"},"schema_525":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer"},"example":[5]},"id":"schema_525"},"schema_526":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer"},"example":[1]},"id":"schema_526"},"schema_527":{"kind":"json-schema","data":{"type":"array","items":{"type":"string"},"example":["USD","EUR"]},"id":"schema_527"},"schema_528":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TrackedHoursReport"},"message":{"type":"string","example":"Tracked hours report retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_528"},"schema_529":{"kind":"json-schema","data":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2024-01-15"},"id":"schema_529"},"schema_530":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer","minimum":1},"example":[100,101,102]},"id":"schema_530"},"schema_531":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":100,"default":30,"example":30},"id":"schema_531"},"schema_532":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/DailyTimelineReport"},"message":{"type":"string","example":"Daily timeline report retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_532"},"schema_533":{"kind":"json-schema","data":{"type":"integer","minimum":1,"example":100},"id":"schema_533"},"schema_534":{"kind":"json-schema","data":{"type":"string","example":"20"},"id":"schema_534"},"schema_535":{"kind":"json-schema","data":{"type":"string","example":"+04:00:Asia/Yerevan"},"id":"schema_535"},"schema_536":{"kind":"json-schema","data":{"type":"string","example":"project,app"},"id":"schema_536"},"schema_537":{"kind":"json-schema","data":{"type":"string","enum":["time","interval","minute"],"default":"time","example":"time"},"id":"schema_537"},"schema_538":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":500,"default":60,"example":60},"id":"schema_538"},"schema_539":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","description":"Normalized daily-activity result.","properties":{"segments":{"type":"array","description":"Tracked-time segments for the day, each with its own rows. Present unless pagination is requested.","items":{"type":"object","properties":{"start":{"type":"string","example":"09:00"},"start_timestamp":{"type":"integer","example":1705302000},"stop":{"type":"string","example":"12:30"},"stop_timestamp":{"type":"integer","example":1705314600},"total_minutes":{"type":"integer","example":210},"activity_level":{"type":"number","example":82},"rows":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activity rows. When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"columns"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is supplied each row is projected to the selected columns plus the activity metrics."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/DailyActivityRow"}}}}},"rows":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Flat list of rows, returned instead of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"segments"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when pagination (page/per_page) is requested."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/DailyActivityRow"}},"pagination":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when page/per_page are supplied."},"children":[]}]}]}],"properties":{"page":{"type":"integer","example":1},"per_page":{"type":"integer","example":60},"total_rows":{"type":"integer","example":210},"total_pages":{"type":"integer","example":4},"has_more":{"type":"boolean","example":true}}},"total_times":{"type":"object","description":"Minute totals per track type for the day.","properties":{"total":{"type":"integer"},"tracked":{"type":"integer"},"manual":{"type":"integer"},"leave":{"type":"integer"},"idle":{"type":"integer"},"break":{"type":"integer"},"holiday":{"type":"integer"}}},"activity_level":{"type":"number","description":"Overall activity level for the day (0-100)."}}},"message":{"type":"string","example":"Daily activity report retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_539"},"schema_540":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","example":"Failed to retrieve daily activity report. Please try again later."},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_540"},"schema_541":{"kind":"json-schema","data":{"type":"integer","example":20},"id":"schema_541"},"schema_542":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/ActivityLevelReport"},"message":{"type":"string","example":"Activity level report retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_542"},"schema_543":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer","minimum":1},"example":[10,11,12]},"id":"schema_543"},"schema_544":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer","minimum":1},"example":[5,6,7]},"id":"schema_544"},"schema_545":{"kind":"json-schema","data":{"type":"boolean","default":true,"example":true},"id":"schema_545"},"schema_546":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/TaskReport"},"message":{"type":"string","example":"Task report retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_546"},"schema_547":{"kind":"json-schema","data":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2024-12-22"},"id":"schema_547"},"schema_548":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","enum":["late","left_early","tracked_less","absent","on_leave"]},"example":["late","left_early"]},"id":"schema_548"},"schema_549":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/DailyAttendanceReport"},"message":{"type":"string","example":"Daily attendance report retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_549"},"schema_550":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/ActivityDescriptionReport"},"message":{"type":"string","example":"Activity description report retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_550"},"schema_551":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer","minimum":1},"example":[100,101]},"id":"schema_551"},"schema_552":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer","minimum":1},"example":[10,11]},"id":"schema_552"},"schema_553":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer","minimum":1},"example":[3]},"id":"schema_553"},"schema_554":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer","minimum":1},"example":[7]},"id":"schema_554"},"schema_555":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","enum":["productive","neutral","non-productive","unset"]},"example":["productive","neutral"]},"id":"schema_555"},"schema_556":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/AppsWebsitesOverviewReport"},"message":{"type":"string","example":"Apps & websites overview report retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_556"},"schema_557":{"kind":"json-schema","data":{"type":"integer","example":10},"id":"schema_557"},"schema_558":{"kind":"json-schema","data":{"type":"integer","example":555},"id":"schema_558"},"schema_559":{"kind":"json-schema","data":{"type":"string","enum":["desktop","web","extension","mobile","kiosk"],"example":"desktop"},"id":"schema_559"},"schema_560":{"kind":"json-schema","data":{"type":"string","enum":["online","recently","offline","absent","on_leave"],"example":"online"},"id":"schema_560"},"schema_561":{"kind":"json-schema","data":{"type":"string","enum":["office","remote"],"example":"office"},"id":"schema_561"},"schema_562":{"kind":"json-schema","data":{"type":"string","example":"windows"},"id":"schema_562"},"schema_563":{"kind":"json-schema","data":{"type":"boolean","example":true},"id":"schema_563"},"schema_564":{"kind":"json-schema","data":{"type":"string","example":"john"},"id":"schema_564"},"schema_565":{"kind":"json-schema","data":{"type":"integer","example":3},"id":"schema_565"},"schema_566":{"kind":"json-schema","data":{"type":"integer","example":7},"id":"schema_566"},"schema_567":{"kind":"json-schema","data":{"type":"string","enum":["member","project","task","tracker_type","status"],"example":"member"},"id":"schema_567"},"schema_568":{"kind":"json-schema","data":{"type":"string","enum":["asc","desc"],"default":"asc","example":"asc"},"id":"schema_568"},"schema_569":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"report_type":{"type":"string","example":"real_time"},"snapshot_at":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The moment this live snapshot was taken. This report has no start_date/end_date."},"children":[]}]}]}]},"total_rows":{"type":"integer","example":42},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"total_pages":{"type":"integer","example":3},"rows":{"type":"array","items":{"type":"object","properties":{"member":{"type":"object","properties":{"user_id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"}}},"work_location":{"type":"string","nullable":true,"enum":["office","remote",null]},"project":{"type":"object","nullable":true,"properties":{"project_id":{"type":"integer","nullable":true},"name":{"type":"string","nullable":true}}},"task":{"type":"object","nullable":true,"properties":{"task_id":{"type":"integer","nullable":true},"title":{"type":"string","nullable":true}}},"activity_description":{"type":"string","nullable":true},"tracker_type":{"type":"string","nullable":true,"enum":["desktop","web","extension","mobile","kiosk",null]},"apps_websites":{"type":"object","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Desktop tracker only — null for every other tracker, and for members on a break. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active_window_title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is OMITTED entirely when the workspace has HIPAA restrictions enabled. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"app_website"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the resolved app/website name where the platform already has one and is often null; when it is null, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active_window_title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the only app signal available (so under HIPAA this object can come back with no usable value)."},"children":[]}]}]}],"properties":{"app_website":{"type":"string","nullable":true},"active_window_title":{"type":"string","nullable":true}}},"status":{"type":"string","enum":["online","recently","offline","absent","on_leave"]},"on_break":{"type":"boolean"},"on_leave":{"type":"boolean"},"leave_info":{"type":"object","nullable":true},"os":{"type":"string","nullable":true},"kiosk_id":{"type":"integer","nullable":true},"role":{"type":"string","nullable":true},"team_ids":{"type":"array","items":{"type":"integer"}},"title_ids":{"type":"array","items":{"type":"integer"}},"last_seen":{"type":"string","format":"date-time","nullable":true}}}}}},"message":{"type":"string","example":"Real time report retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_569"},"schema_570":{"kind":"json-schema","data":{"type":"string","example":"2026-06-10"},"id":"schema_570"},"schema_571":{"kind":"json-schema","data":{"type":"string","example":"2026-06-11"},"id":"schema_571"},"schema_572":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"report_type":{"type":"string","example":"gps_tracking"},"start_date":{"type":"string","example":"2026-06-10"},"end_date":{"type":"string","example":"2026-06-11"},"timezone":{"type":"string","description":"The workspace timezone every timestamp in this payload is offset to.","example":"Asia/Yerevan"},"total_rows":{"type":"integer","example":2},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"total_pages":{"type":"integer","example":1},"rows":{"type":"array","items":{"type":"object","properties":{"member":{"type":"object","properties":{"user_id":{"type":"integer","example":100},"name":{"type":"string","example":"Anna Grigoryan"}}},"project":{"type":"object","nullable":true,"description":"Null when the point carries no project (always the case for mobile-captured points).","properties":{"project_id":{"type":"integer","example":10},"name":{"type":"string","example":"Site works"}}},"task":{"type":"object","nullable":true,"properties":{"task_id":{"type":"integer","example":555},"title":{"type":"string","example":"Install cabling"}}},"job_site":{"type":"object","nullable":true,"description":"The geofence containing this point, or null when it is inside none. Overlapping sites resolve to one arbitrarily.","properties":{"job_site_id":{"type":"string","description":"Opaque encoded job site id.","example":"encoded_id_string"},"name":{"type":"string","example":"Warehouse A"}}},"latitude":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decimal string, exactly as stored — the value the dashboard's row data and exports carry — never a float round-trip. Null when the stored value is not numeric."},"children":[]}]}]}],"example":"40.1792"},"longitude":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decimal string, exactly as stored — the value the dashboard's row data and exports carry — never a float round-trip. Null when the stored value is not numeric."},"children":[]}]}]}],"example":"44.4991"},"tracked_at":{"type":"string","description":"ISO 8601 with the workspace UTC offset. Never a Z-suffixed instant.","example":"2026-06-10T09:00:00+04:00"},"date":{"type":"string","description":"Workspace-local calendar date.","example":"2026-06-10"},"time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workspace-local wall-clock time, always 24-hour H:i — the dashboard's Time column pinned to its default form (the dashboard applies the viewing user's 12/24-hour preference; the API does not). Seconds are in tracked_at."},"children":[]}]}]}],"example":"09:00"},"google_maps_url":{"type":"string","nullable":true,"example":"https://www.google.com/maps?q=40.1792,44.4991"}}}}}},"message":{"type":"string","example":"Report retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_572"},"schema_573":{"kind":"json-schema","data":{"type":"integer","example":41},"id":"schema_573"},"schema_574":{"kind":"json-schema","data":{"type":"string","example":"depot"},"id":"schema_574"},"schema_575":{"kind":"json-schema","data":{"type":"string","enum":["name","radius","created_at","updated_at"],"default":"name"},"id":"schema_575"},"schema_576":{"kind":"json-schema","data":{"type":"string","enum":["asc","desc"],"default":"asc"},"id":"schema_576"},"schema_577":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/JobSite"}},"message":{"type":"string","example":"Job sites retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"type":"object","properties":{"total":{"type":"integer","example":2},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","nullable":true,"example":1},"to":{"type":"integer","nullable":true,"example":2}}}}}}},"id":"schema_577"},"schema_578":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","name","latitude","longitude","radius"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":191,"example":"Warehouse A"},"latitude":{"type":"number","format":"double","minimum":-90,"maximum":90,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decimal degrees, -90..90 inclusive. Stored as decimal(10,7), so anything finer than 7 decimal places (~1 cm) is rounded. The response field is a 4-decimal display string (the dashboard form's toFixed(4)); the full stored precision is carried by google_maps_url."},"children":[]}]}]}],"example":40.1792},"longitude":{"type":"number","format":"double","minimum":-180,"maximum":180,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decimal degrees, -180..180 inclusive. Stored as decimal(10,7), so anything finer than 7 decimal places (~1 cm) is rounded. The response field is a 4-decimal display string (the dashboard form's toFixed(4)); the full stored precision is carried by google_maps_url."},"children":[]}]}]}],"example":44.4991},"radius":{"type":"integer","minimum":50,"maximum":50000,"description":"Geofence radius in METRES.","example":500},"address":{"type":"string","maxLength":191,"nullable":true,"description":"Free text. Never geocoded.","example":"12 Depot Road"},"project_id":{"type":"integer","nullable":true,"description":"Optional. When set, only points tracked on this project count as inside the site.","example":41},"member_ids":{"type":"array","items":{"type":"integer"},"description":"Raw user ids the site applies to. Each must be an active, non-client member of the workspace (clients and pending invitations are 404). Leave empty and the site applies to the WHOLE workspace, not to nobody.","example":[104582]}}},"id":"schema_578"},"schema_579":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/JobSite"},"message":{"type":"string","example":"Job site created successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_579"},"schema_580":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/JobSite"},"message":{"type":"string","example":"Job site retrieved successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_580"},"schema_581":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":191,"example":"Warehouse A (north gate)"},"latitude":{"type":"number","format":"double","minimum":-90,"maximum":90,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decimal degrees, -90..90 inclusive. Stored as decimal(10,7), so anything finer than 7 decimal places (~1 cm) is rounded. The response field is a 4-decimal display string (the dashboard form's toFixed(4)); the full stored precision is carried by google_maps_url."},"children":[]}]}]}],"example":40.1792},"longitude":{"type":"number","format":"double","minimum":-180,"maximum":180,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decimal degrees, -180..180 inclusive. Stored as decimal(10,7), so anything finer than 7 decimal places (~1 cm) is rounded. The response field is a 4-decimal display string (the dashboard form's toFixed(4)); the full stored precision is carried by google_maps_url."},"children":[]}]}]}],"example":44.4991},"radius":{"type":"integer","minimum":50,"maximum":50000,"description":"Geofence radius in METRES.","example":750},"address":{"type":"string","maxLength":191,"nullable":true,"example":"12 Depot Road"},"project_id":{"type":"integer","nullable":true,"description":"Send null to unlink the project.","example":41},"member_ids":{"type":"array","items":{"type":"integer"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Replaces the direct member assignments. Each id must be an active, non-client member of the workspace (clients and pending invitations are 404). Omit to leave them untouched; send [] to clear them."},"children":[]}]}]}],"example":[104582]}}},"id":"schema_581"},"schema_582":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/JobSite"},"message":{"type":"string","example":"Job site updated successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_582"},"schema_583":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","nullable":true,"example":null},"message":{"type":"string","example":"Job site deleted successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_583"},"schema_584":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Screenshot"}},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-07-08T12:00:00.000000Z"},"pagination":{"type":"object","properties":{"total":{"type":"integer","example":240},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":12},"from":{"type":"integer","example":1},"to":{"type":"integer","example":20}}}}}}},"id":"schema_584"},"schema_585":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Screenshot"},"message":{"type":"string","example":"Screenshot retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time","example":"2026-07-08T12:00:00.000000Z"}}}}},"id":"schema_585"},"schema_586":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","example":"Invalid screenshot identifier provided"}}},"id":"schema_586"},"schema_587":{"kind":"json-schema","data":{"type":"string","format":"binary"},"id":"schema_587"},"schema_588":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-07-20"},"id":"schema_588"},"schema_589":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-07-01"},"id":"schema_589"},"schema_590":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-07-31"},"id":"schema_590"},"schema_591":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Shift"}},"message":{"type":"string","example":"Shifts retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"type":"object","properties":{"total":{"type":"integer","example":3},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","example":1},"to":{"type":"integer","example":3}}}}}}},"id":"schema_591"},"schema_592":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","name","member_ids","color","timezone","shift_type","repeat","start_date"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":100,"description":"Unique per workspace.","example":"Morning Shift"},"member_ids":{"type":"array","items":{"type":"integer"},"minItems":1,"description":"Raw integer user ids to assign.","example":[42,43]},"color":{"type":"string","maxLength":32,"example":"#8276ff"},"timezone":{"type":"string","description":"IANA timezone the times are expressed in.","example":"America/New_York"},"shift_type":{"type":"string","enum":["fixed","flexible"],"example":"fixed"},"repeat":{"type":"string","enum":["never","weekly","biweekly"],"example":"weekly"},"working_days":{"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]},"description":"Required for recurring fixed shifts (repeat weekly/biweekly).","example":["mon","tue","wed","thu","fri"]},"start_date":{"type":"string","format":"date","example":"2026-07-20"},"end_date":{"type":"string","format":"date","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional (null = repeats indefinitely); must be strictly after start_date."},"children":[]}]}]}],"example":"2026-12-31"},"auto_assign_members":{"type":"boolean","default":false},"start_time":{"type":"string","description":"24h HH:mm. Fixed shifts only.","example":"09:00"},"end_time":{"type":"string","description":"24h HH:mm. Fixed shifts only.","example":"17:00"},"min_hours":{"type":"number","minimum":0,"maximum":24,"description":"Fixed shifts only.","example":8},"schedule":{"$ref":"#/components/schemas/ShiftSchedule"}}},"id":"schema_592"},"schema_593":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Shift"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_593"},"schema_594":{"kind":"json-schema","data":{"type":"string","example":"9f8b6c2a-1d4e-4f3a-9b7c-1e2d3f4a5b6c"},"id":"schema_594"},"schema_595":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":100,"description":"Unique per workspace."},"member_ids":{"type":"array","items":{"type":"integer"},"minItems":1},"color":{"type":"string","maxLength":32},"timezone":{"type":"string","description":"IANA timezone the times are expressed in."},"shift_type":{"type":"string","enum":["fixed","flexible"]},"repeat":{"type":"string","enum":["never","weekly","biweekly"]},"working_days":{"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date","nullable":true},"auto_assign_members":{"type":"boolean"},"start_time":{"type":"string","description":"24h HH:mm. Fixed shifts only."},"end_time":{"type":"string","description":"24h HH:mm. Fixed shifts only."},"min_hours":{"type":"number","minimum":0,"maximum":24,"description":"Fixed shifts only."},"schedule":{"$ref":"#/components/schemas/ShiftSchedule"}}},"id":"schema_595"},"schema_596":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","nullable":true,"example":null},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_596"},"schema_597":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","description":"Present for the already-assigned case."},"errors":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present for conflict / invalid-member cases; a map of field to messages (plus a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"conflicts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list on overlap)."},"children":[]}]}]}]},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_597"},"schema_598":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","example":"Cannot unassign the last member of a shift. Use DELETE /shifts/{shift_id} to remove the shift."}}},"id":"schema_598"},"schema_599":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Encoded webhook ID"},"events":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEventName"},"description":"Array of subscribed event types"},"url":{"type":"string","format":"uri","description":"Webhook callback URL"},"token":{"type":"string","description":"Webhook authentication token"}}},"example":[{"id":"encoded_id_string","events":["tracker.started","member.invited","project.created","task.updated"],"url":"https://example.com/webhook","token":"encoded_string"}]},"meta":{"allOf":[{"$ref":"#/components/schemas/Meta"},{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/Pagination"}}}]}}},"id":"schema_599"},"schema_600":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","url"],"properties":{"workspace_id":{"type":"integer"},"url":{"type":"string","format":"uri"},"events":{"type":"array","description":"Array of event types to subscribe to. You can subscribe to one or more events. See each value's description for when it fires.","items":{"$ref":"#/components/schemas/WebhookEventName"},"example":["tracker.started","member.invited","project.created"]}}},"id":"schema_600"},"schema_601":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"id":{"type":"string","description":"Encoded webhook ID"},"events":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEventName"},"description":"Array of subscribed event types"},"url":{"type":"string","format":"uri","description":"Webhook callback URL"},"token":{"type":"string","description":"Webhook authentication token"}},"example":{"id":"encoded_id_string","events":["tracker.started","member.invited","project.created","task.updated"],"url":"https://example.com/webhook","token":"encoded_string"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_601"},"schema_602":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer"},"url":{"type":"string","format":"uri"},"events":{"type":"array","description":"Array of event types to subscribe to. You can subscribe to one or more events. See each value's description for when it fires.","items":{"$ref":"#/components/schemas/WebhookEventName"},"example":["tracker.started","member.invited","project.created"]}}},"id":"schema_602"},"schema_603":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Webhook updated successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_603"},"schema_604":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Webhook deleted successfully"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_604"},"schema_605":{"kind":"json-schema","data":{"type":"string","example":"MacBook"},"id":"schema_605"},"schema_606":{"kind":"json-schema","data":{"type":"string","enum":["computers","mobile_devices","networking","servers_storage","other"],"example":"computers"},"id":"schema_606"},"schema_607":{"kind":"json-schema","data":{"type":"string","enum":["available","in_use"],"example":"available"},"id":"schema_607"},"schema_608":{"kind":"json-schema","data":{"type":"string","enum":["asc","desc"],"default":"desc"},"id":"schema_608"},"schema_609":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Asset"}},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}},"id":"schema_609"},"schema_610":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Asset"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_610"},"schema_611":{"kind":"json-schema","data":{"type":"string","example":"aEnc_8x2Lq"},"id":"schema_611"},"schema_612":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","description":"ID of the workspace member record.","example":1}}},"id":"schema_612"},"schema_613":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"id":{"type":"string","example":"aEnc_8x2Lq"},"deleted_at":{"type":"string","format":"date-time"}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_613"},"schema_614":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/AssetType"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_614"},"schema_615":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","category","name"],"properties":{"workspace_id":{"type":"integer","example":1},"category":{"type":"string","enum":["computers","mobile_devices","networking","servers_storage","other"],"example":"computers"},"name":{"type":"string","maxLength":255,"example":"Workstation"}}},"id":"schema_615"},"schema_616":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/AssetType"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_616"},"schema_617":{"kind":"json-schema","data":{"type":"string","example":"tEnc_4mZ7q"},"id":"schema_617"},"schema_618":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","name"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":255,"example":"Workstation Pro"}}},"id":"schema_618"},"schema_619":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"id":{"type":"string","example":"tEnc_4mZ7q"},"deleted":{"type":"boolean","example":true}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_619"},"schema_620":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","example":"Type is assigned to one or more assets and cannot be deleted."},"in_use_count":{"type":"integer","example":42},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_620"},"schema_621":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/AssetCustomField"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_621"},"schema_622":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","name","type"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":255,"example":"Warranty Expires"},"slug":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional; auto-derived from name if omitted (e.g. \"Warranty Expires\" → \"warranty-expires\")."},"children":[]}]}]}],"example":"warranty-expires"},"type":{"type":"string","enum":["text","number","date","checkbox","dropdown"],"description":"Field data type. Immutable after creation.","example":"date"},"options":{"type":"array","items":{"type":"string"},"description":"Required when type is 'dropdown'. Ignored otherwise.","example":["R&D","Ops"]},"category":{"type":"string","nullable":true,"description":"Optional category scope. Null applies to all categories.","example":"computers"},"sort_order":{"type":"integer","minimum":0,"example":0}}},"id":"schema_622"},"schema_623":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/AssetCustomField"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_623"},"schema_624":{"kind":"json-schema","data":{"type":"string","example":"a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d"},"id":"schema_624"},"schema_625":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":255,"example":"Warranty Until"},"options":{"type":"array","items":{"type":"string"},"description":"Only used when the field type is 'dropdown'."},"category":{"type":"string","nullable":true,"example":"computers"},"sort_order":{"type":"integer","minimum":0,"example":1}}},"id":"schema_625"},"schema_626":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d"},"deleted":{"type":"boolean","example":true}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_626"},"schema_627":{"kind":"json-schema","data":{"type":"string","enum":["project","task","member"],"example":"project"},"id":"schema_627"},"schema_628":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/CustomField"}},"message":{"type":"string","example":"Custom fields retrieved successfully"},"meta":{"type":"object","properties":{"api_version":{"type":"string","example":"2.0.0"},"timestamp":{"type":"string","format":"date-time"},"pagination":{"type":"object","properties":{"total":{"type":"integer","example":3},"per_page":{"type":"integer","example":20},"current_page":{"type":"integer","example":1},"last_page":{"type":"integer","example":1},"from":{"type":"integer","example":1},"to":{"type":"integer","example":3}}}}}}},"id":"schema_628"},"schema_629":{"kind":"json-schema","data":{"type":"object","required":["workspace_id","name","type","target"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":255,"example":"StripeID"},"type":{"type":"string","enum":["text","large_text","number","dropdown","checkbox","date"],"description":"Field data type. Immutable after creation.","example":"text"},"target":{"type":"string","enum":["project","task","member"],"description":"Entity this field applies to. Immutable after creation.","example":"project"},"options":{"type":"array","items":{"type":"string","maxLength":255},"maxItems":10,"description":"Required when type is 'dropdown'. Ignored otherwise.","example":["Low","Medium","High"]}}},"id":"schema_629"},"schema_630":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/CustomField"},"meta":{"$ref":"#/components/schemas/Meta"}}},"id":"schema_630"},"schema_631":{"kind":"json-schema","data":{"type":"object","required":["workspace_id"],"properties":{"workspace_id":{"type":"integer","example":1},"name":{"type":"string","maxLength":255,"example":"Stripe Customer ID"},"options":{"type":"array","items":{"type":"string","maxLength":255},"maxItems":10,"description":"Only used when the field type is 'dropdown'."}}},"id":"schema_631"}},"exampleStore":{"paths/~1workspaces/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1workspaces/get/responses/401/content/application~1json/example"},"paths/~1workspaces/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1workspaces/get/responses/500/content/application~1json/example"},"paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1workspaces~1{workspaceId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1workspaces~1{workspaceId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1workspaces~1{workspaceId}/get/responses/401/content/application~1json/example"},"paths/~1workspaces~1{workspaceId}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1workspaces~1{workspaceId}/get/responses/403/content/application~1json/example"},"paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1workspaces~1{workspaceId}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1workspaces~1{workspaceId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1workspaces~1{workspaceId}/get/responses/500/content/application~1json/example"},"paths/~1members/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1members/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1members/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1members/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1members/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1members/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1members/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members/get/responses/401/content/application~1json/example"},"paths/~1members/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1members/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1members/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1members/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1members/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1members/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1members/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members/get/responses/500/content/application~1json/example"},"paths/~1members/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1members/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1members/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1members/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1members/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1members/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1members/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members/post/responses/401/content/application~1json/example"},"paths/~1members/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members/post/responses/403/content/application~1json/example"},"paths/~1members/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1members/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1members/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1members/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1members/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1members/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1members/post/responses/409/content/application~1json/examples/duplicate_email":{"value":{"success":false,"error":"Email address is already in use","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"duplicate_email","summary":"duplicate_email","id":"paths/~1members/post/responses/409/content/application~1json/examples/duplicate_email"},"paths/~1members/post/responses/409/content/application~1json/examples/member_already_exists":{"value":{"success":false,"error":"This email is already a member of this workspace","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_already_exists","summary":"member_already_exists","id":"paths/~1members/post/responses/409/content/application~1json/examples/member_already_exists"},"paths/~1members/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members/post/responses/422/content/application~1json/example"},"paths/~1members/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members/post/responses/500/content/application~1json/example"},"paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1members~1{memberId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1members~1{memberId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}/get/responses/401/content/application~1json/example"},"paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1members~1{memberId}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1members~1{memberId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}/get/responses/500/content/application~1json/example"},"paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1members~1{memberId}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1members~1{memberId}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}/put/responses/401/content/application~1json/example"},"paths/~1members~1{memberId}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}/put/responses/403/content/application~1json/example"},"paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1members~1{memberId}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/duplicate_email":{"value":{"success":false,"error":"Email address is already in use","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"duplicate_email","summary":"duplicate_email","id":"paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/duplicate_email"},"paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/member_already_exists":{"value":{"success":false,"error":"This email is already a member of this workspace","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_already_exists","summary":"member_already_exists","id":"paths/~1members~1{memberId}/put/responses/409/content/application~1json/examples/member_already_exists"},"paths/~1members~1{memberId}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}/put/responses/422/content/application~1json/example"},"paths/~1members~1{memberId}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}/put/responses/500/content/application~1json/example"},"paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1members~1{memberId}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1members~1{memberId}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}/delete/responses/401/content/application~1json/example"},"paths/~1members~1{memberId}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}/delete/responses/403/content/application~1json/example"},"paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1members~1{memberId}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1members~1{memberId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}/delete/responses/500/content/application~1json/example"},"paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1members~1{memberId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1members~1{memberId}~1restore/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}~1restore/post/responses/401/content/application~1json/example"},"paths/~1members~1{memberId}~1restore/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}~1restore/post/responses/403/content/application~1json/example"},"paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1members~1{memberId}~1restore/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1members~1{memberId}~1restore/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}~1restore/post/responses/500/content/application~1json/example"},"paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1members~1{memberId}~1activate/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1members~1{memberId}~1activate/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}~1activate/post/responses/401/content/application~1json/example"},"paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/plan_required":{"value":{"success":false,"message":"Member activation via API requires Plus plan or higher","plan_required":"plus","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"plan_required","summary":"plan_required","id":"paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/plan_required"},"paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/feature_required":{"value":{"success":false,"message":"Member activation via API is not enabled for this workspace","feature_required":"api_member_activation","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"feature_required","summary":"feature_required","id":"paths/~1members~1{memberId}~1activate/post/responses/403/content/application~1json/examples/feature_required"},"paths/~1members~1{memberId}~1activate/post/responses/410/content/application~1json/example":{"value":{"success":false,"error":"Invitation expired","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}~1activate/post/responses/410/content/application~1json/example"},"paths/~1members~1{memberId}~1activate/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1members~1{memberId}~1activate/post/responses/500/content/application~1json/example"},"paths/~1teams/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1teams/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1teams/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1teams/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1teams/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1teams/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1teams/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams/get/responses/401/content/application~1json/example"},"paths/~1teams/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams/get/responses/403/content/application~1json/example"},"paths/~1teams/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams/get/responses/500/content/application~1json/example"},"paths/~1teams/post/responses/201/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","name":"Engineering","members":[],"created_at":"2026-07-23T14:15:22Z","updated_at":"2026-07-23T14:15:22Z"},"message":"Team created successfully","meta":{"api_version":"2.0.0","timestamp":"2026-07-23T14:15:22Z"}},"id":"paths/~1teams/post/responses/201/content/application~1json/example"},"paths/~1teams/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1teams/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1teams/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1teams/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1teams/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1teams/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1teams/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams/post/responses/401/content/application~1json/example"},"paths/~1teams/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams/post/responses/403/content/application~1json/example"},"paths/~1teams/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams/post/responses/422/content/application~1json/example"},"paths/~1teams/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams/post/responses/500/content/application~1json/example"},"paths/~1teams~1{team_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/get/responses/401/content/application~1json/example"},"paths/~1teams~1{team_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/get/responses/403/content/application~1json/example"},"paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1teams~1{team_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1teams~1{team_id}/get/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/get/responses/422/content/application~1json/example"},"paths/~1teams~1{team_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/get/responses/500/content/application~1json/example"},"paths/~1teams~1{team_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/put/responses/401/content/application~1json/example"},"paths/~1teams~1{team_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/put/responses/403/content/application~1json/example"},"paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1teams~1{team_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1teams~1{team_id}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/put/responses/422/content/application~1json/example"},"paths/~1teams~1{team_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/put/responses/500/content/application~1json/example"},"paths/~1teams~1{team_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/delete/responses/401/content/application~1json/example"},"paths/~1teams~1{team_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/delete/responses/403/content/application~1json/example"},"paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1teams~1{team_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1teams~1{team_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/delete/responses/422/content/application~1json/example"},"paths/~1teams~1{team_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}/delete/responses/500/content/application~1json/example"},"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"},"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"},"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example"},"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"},"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"},"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"},"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example"},"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1teams~1{team_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"},"paths/~1titles/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1titles/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1titles/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1titles/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1titles/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1titles/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1titles/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles/get/responses/401/content/application~1json/example"},"paths/~1titles/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles/get/responses/403/content/application~1json/example"},"paths/~1titles/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles/get/responses/500/content/application~1json/example"},"paths/~1titles/post/responses/201/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","name":"Senior Developer","members":[],"created_at":"2026-07-23T14:15:22Z","updated_at":"2026-07-23T14:15:22Z"},"message":"Title created successfully","meta":{"api_version":"2.0.0","timestamp":"2026-07-23T14:15:22Z"}},"id":"paths/~1titles/post/responses/201/content/application~1json/example"},"paths/~1titles/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1titles/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1titles/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1titles/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1titles/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1titles/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1titles/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles/post/responses/401/content/application~1json/example"},"paths/~1titles/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles/post/responses/403/content/application~1json/example"},"paths/~1titles/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles/post/responses/422/content/application~1json/example"},"paths/~1titles/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles/post/responses/500/content/application~1json/example"},"paths/~1titles~1{title_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/get/responses/401/content/application~1json/example"},"paths/~1titles~1{title_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/get/responses/403/content/application~1json/example"},"paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1titles~1{title_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1titles~1{title_id}/get/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/get/responses/422/content/application~1json/example"},"paths/~1titles~1{title_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/get/responses/500/content/application~1json/example"},"paths/~1titles~1{title_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/put/responses/401/content/application~1json/example"},"paths/~1titles~1{title_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/put/responses/403/content/application~1json/example"},"paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1titles~1{title_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1titles~1{title_id}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/put/responses/422/content/application~1json/example"},"paths/~1titles~1{title_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/put/responses/500/content/application~1json/example"},"paths/~1titles~1{title_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/delete/responses/401/content/application~1json/example"},"paths/~1titles~1{title_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/delete/responses/403/content/application~1json/example"},"paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1titles~1{title_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1titles~1{title_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/delete/responses/422/content/application~1json/example"},"paths/~1titles~1{title_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}/delete/responses/500/content/application~1json/example"},"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"},"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"},"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/422/content/application~1json/example"},"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"},"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"},"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"},"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/422/content/application~1json/example"},"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1titles~1{title_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"},"paths/~1project-groups/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-groups/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-groups/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-groups/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups/get/responses/401/content/application~1json/example"},"paths/~1project-groups/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups/get/responses/403/content/application~1json/example"},"paths/~1project-groups/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups/get/responses/500/content/application~1json/example"},"paths/~1project-groups/post/responses/201/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","name":"Client Work","projects":[],"created_at":"2026-08-13T14:15:22Z","updated_at":"2026-08-13T14:15:22Z"},"message":"Project group created successfully","meta":{"api_version":"2.0.0","timestamp":"2026-08-13T14:15:22Z"}},"id":"paths/~1project-groups/post/responses/201/content/application~1json/example"},"paths/~1project-groups/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-groups/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-groups/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-groups/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups/post/responses/401/content/application~1json/example"},"paths/~1project-groups/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups/post/responses/403/content/application~1json/example"},"paths/~1project-groups/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups/post/responses/422/content/application~1json/example"},"paths/~1project-groups/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups/post/responses/500/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/get/responses/401/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/get/responses/403/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1project-groups~1{project_group_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1project-groups~1{project_group_id}/get/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/get/responses/422/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/get/responses/500/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/put/responses/401/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/put/responses/403/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1project-groups~1{project_group_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1project-groups~1{project_group_id}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/put/responses/422/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/put/responses/500/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/delete/responses/401/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/delete/responses/403/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1project-groups~1{project_group_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1project-groups~1{project_group_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/delete/responses/422/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}/delete/responses/500/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/401/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/403/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/422/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}~1assign~1{project_id}/post/responses/500/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/401/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/403/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/422/content/application~1json/example"},"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-groups~1{project_group_id}~1unassign~1{project_id}/delete/responses/500/content/application~1json/example"},"paths/~1projects/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1projects/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1projects/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1projects/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1projects/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1projects/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1projects/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects/get/responses/401/content/application~1json/example"},"paths/~1projects/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects/get/responses/403/content/application~1json/example"},"paths/~1projects/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects/get/responses/500/content/application~1json/example"},"paths/~1projects/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1projects/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1projects/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1projects/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1projects/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1projects/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1projects/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects/post/responses/401/content/application~1json/example"},"paths/~1projects/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects/post/responses/403/content/application~1json/example"},"paths/~1projects/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects/post/responses/422/content/application~1json/example"},"paths/~1projects/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects/post/responses/500/content/application~1json/example"},"paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1projects~1{projectId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1projects~1{projectId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects~1{projectId}/get/responses/401/content/application~1json/example"},"paths/~1projects~1{projectId}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects~1{projectId}/get/responses/403/content/application~1json/example"},"paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1projects~1{projectId}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1projects~1{projectId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects~1{projectId}/get/responses/500/content/application~1json/example"},"paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1projects~1{projectId}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1projects~1{projectId}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects~1{projectId}/put/responses/401/content/application~1json/example"},"paths/~1projects~1{projectId}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects~1{projectId}/put/responses/403/content/application~1json/example"},"paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1projects~1{projectId}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1projects~1{projectId}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects~1{projectId}/put/responses/422/content/application~1json/example"},"paths/~1projects~1{projectId}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects~1{projectId}/put/responses/500/content/application~1json/example"},"paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1projects~1{projectId}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1projects~1{projectId}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects~1{projectId}/delete/responses/401/content/application~1json/example"},"paths/~1projects~1{projectId}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects~1{projectId}/delete/responses/403/content/application~1json/example"},"paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1projects~1{projectId}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1projects~1{projectId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1projects~1{projectId}/delete/responses/500/content/application~1json/example"},"paths/~1contracts/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1contracts/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1contracts/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1contracts/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts/get/responses/401/content/application~1json/example"},"paths/~1contracts/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts/get/responses/403/content/application~1json/example"},"paths/~1contracts/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts/get/responses/500/content/application~1json/example"},"paths/~1contracts/post/requestBody/content/application~1json/example":{"value":{"project_id":100,"user_id":100,"weekly_hours_limit":40,"screenshots":"full","rate":50},"id":"paths/~1contracts/post/requestBody/content/application~1json/example"},"paths/~1contracts/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1contracts/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1contracts/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1contracts/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts/post/responses/401/content/application~1json/example"},"paths/~1contracts/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts/post/responses/403/content/application~1json/example"},"paths/~1contracts/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1contracts/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1contracts/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1contracts/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1contracts/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1contracts/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1contracts/post/responses/409/content/application~1json/examples/duplicate_email":{"value":{"success":false,"error":"Email address is already in use","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"duplicate_email","summary":"duplicate_email","id":"paths/~1contracts/post/responses/409/content/application~1json/examples/duplicate_email"},"paths/~1contracts/post/responses/409/content/application~1json/examples/member_already_exists":{"value":{"success":false,"error":"This email is already a member of this workspace","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_already_exists","summary":"member_already_exists","id":"paths/~1contracts/post/responses/409/content/application~1json/examples/member_already_exists"},"paths/~1contracts/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts/post/responses/422/content/application~1json/example"},"paths/~1contracts/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts/post/responses/500/content/application~1json/example"},"paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1contracts~1{contractId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1contracts~1{contractId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts~1{contractId}/get/responses/401/content/application~1json/example"},"paths/~1contracts~1{contractId}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts~1{contractId}/get/responses/403/content/application~1json/example"},"paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1contracts~1{contractId}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1contracts~1{contractId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts~1{contractId}/get/responses/500/content/application~1json/example"},"paths/~1contracts~1{contractId}/put/requestBody/content/application~1json/example":{"value":{"weekly_hours_limit":40,"screenshots":"blurred","rate":55,"status":"active"},"id":"paths/~1contracts~1{contractId}/put/requestBody/content/application~1json/example"},"paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1contracts~1{contractId}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1contracts~1{contractId}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts~1{contractId}/put/responses/401/content/application~1json/example"},"paths/~1contracts~1{contractId}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts~1{contractId}/put/responses/403/content/application~1json/example"},"paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1contracts~1{contractId}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1contracts~1{contractId}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts~1{contractId}/put/responses/422/content/application~1json/example"},"paths/~1contracts~1{contractId}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts~1{contractId}/put/responses/500/content/application~1json/example"},"paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1contracts~1{contractId}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1contracts~1{contractId}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts~1{contractId}/delete/responses/401/content/application~1json/example"},"paths/~1contracts~1{contractId}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts~1{contractId}/delete/responses/403/content/application~1json/example"},"paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1contracts~1{contractId}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1contracts~1{contractId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1contracts~1{contractId}/delete/responses/500/content/application~1json/example"},"paths/~1tasks/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks/get/responses/401/content/application~1json/example"},"paths/~1tasks/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks/get/responses/500/content/application~1json/example"},"paths/~1tasks/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks/post/responses/401/content/application~1json/example"},"paths/~1tasks/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks/post/responses/422/content/application~1json/example"},"paths/~1tasks/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks/post/responses/500/content/application~1json/example"},"paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{taskId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{taskId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}/get/responses/401/content/application~1json/example"},"paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{taskId}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{taskId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}/get/responses/500/content/application~1json/example"},"paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{taskId}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{taskId}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}/put/responses/401/content/application~1json/example"},"paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{taskId}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{taskId}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}/put/responses/422/content/application~1json/example"},"paths/~1tasks~1{taskId}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}/put/responses/500/content/application~1json/example"},"paths/~1tasks~1{taskId}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","status":"approved","user_id":45696,"user_name":"John Smith","user_email":"john.smith@example.com","date_from":"2024-01-01","date_to":"2024-01-15"},"message":"Timesheet approved by Jane Doe at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}/delete/responses/200/content/application~1json/example"},"paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{taskId}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{taskId}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}/delete/responses/401/content/application~1json/example"},"paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{taskId}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{taskId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}/delete/responses/500/content/application~1json/example"},"paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{taskId}~1assignees/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{taskId}~1assignees/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}~1assignees/get/responses/401/content/application~1json/example"},"paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{taskId}~1assignees/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{taskId}~1assignees/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}~1assignees/get/responses/500/content/application~1json/example"},"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/401/content/application~1json/example"},"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}~1assign~1{userId}/post/responses/500/content/application~1json/example"},"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","status":"rejected","user_id":45696,"user_name":"John Smith","user_email":"john.smith@example.com","date_from":"2024-01-01","date_to":"2024-01-15"},"message":"Timesheet rejected by Jane Doe at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15 | Reason: Please correct the hours for Monday","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/200/content/application~1json/example"},"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/401/content/application~1json/example"},"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{taskId}~1unassign~1{userId}/delete/responses/500/content/application~1json/example"},"paths/~1task-statuses/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1task-statuses/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1task-statuses/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1task-statuses/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses/get/responses/401/content/application~1json/example"},"paths/~1task-statuses/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses/get/responses/403/content/application~1json/example"},"paths/~1task-statuses/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses/get/responses/500/content/application~1json/example"},"paths/~1task-statuses/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1task-statuses/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1task-statuses/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1task-statuses/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses/post/responses/401/content/application~1json/example"},"paths/~1task-statuses/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses/post/responses/403/content/application~1json/example"},"paths/~1task-statuses/post/responses/409/content/application~1json/examples/duplicate_email":{"value":{"success":false,"error":"Email address is already in use","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"duplicate_email","summary":"duplicate_email","id":"paths/~1task-statuses/post/responses/409/content/application~1json/examples/duplicate_email"},"paths/~1task-statuses/post/responses/409/content/application~1json/examples/member_already_exists":{"value":{"success":false,"error":"This email is already a member of this workspace","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_already_exists","summary":"member_already_exists","id":"paths/~1task-statuses/post/responses/409/content/application~1json/examples/member_already_exists"},"paths/~1task-statuses/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses/post/responses/422/content/application~1json/example"},"paths/~1task-statuses/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses/post/responses/500/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1task-statuses~1{statusId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1task-statuses~1{statusId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/get/responses/401/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/get/responses/403/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1task-statuses~1{statusId}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1task-statuses~1{statusId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/get/responses/500/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1task-statuses~1{statusId}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1task-statuses~1{statusId}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/put/responses/401/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/put/responses/403/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1task-statuses~1{statusId}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1task-statuses~1{statusId}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/put/responses/422/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/put/responses/500/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1task-statuses~1{statusId}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1task-statuses~1{statusId}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/delete/responses/401/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/delete/responses/403/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1task-statuses~1{statusId}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1task-statuses~1{statusId}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/delete/responses/422/content/application~1json/example"},"paths/~1task-statuses~1{statusId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1task-statuses~1{statusId}/delete/responses/500/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{task_id}~1comments/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{task_id}~1comments/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments/get/responses/401/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments/get/responses/403/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{task_id}~1comments/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{task_id}~1comments/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments/get/responses/500/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{task_id}~1comments/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{task_id}~1comments/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments/post/responses/401/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments/post/responses/403/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{task_id}~1comments/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{task_id}~1comments/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments/post/responses/422/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments/post/responses/500/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/401/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/403/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/get/responses/500/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/401/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/403/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/422/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/put/responses/500/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/401/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/403/content/application~1json/example"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1tasks~1{task_id}~1comments~1{comment_id}/delete/responses/500/content/application~1json/example"},"paths/~1project-viewers/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-viewers/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-viewers/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-viewers/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers/get/responses/401/content/application~1json/example"},"paths/~1project-viewers/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers/get/responses/500/content/application~1json/example"},"paths/~1project-viewers/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-viewers/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-viewers/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-viewers/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers/post/responses/401/content/application~1json/example"},"paths/~1project-viewers/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers/post/responses/500/content/application~1json/example"},"paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-viewers~1{viewerId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-viewers~1{viewerId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers~1{viewerId}/get/responses/401/content/application~1json/example"},"paths/~1project-viewers~1{viewerId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers~1{viewerId}/get/responses/500/content/application~1json/example"},"paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-viewers~1{viewerId}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-viewers~1{viewerId}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers~1{viewerId}/delete/responses/401/content/application~1json/example"},"paths/~1project-viewers~1{viewerId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers~1{viewerId}/delete/responses/500/content/application~1json/example"},"paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-viewers~1{viewerId}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-viewers~1{viewerId}~1restore/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers~1{viewerId}~1restore/post/responses/401/content/application~1json/example"},"paths/~1project-viewers~1{viewerId}~1restore/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers~1{viewerId}~1restore/post/responses/500/content/application~1json/example"},"paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/401/content/application~1json/example"},"paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers~1{viewerId}~1assign-project/post/responses/500/content/application~1json/example"},"paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/401/content/application~1json/example"},"paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1project-viewers~1{viewerId}~1unassign-project/delete/responses/500/content/application~1json/example"},"paths/~1timesheets/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":[{"id":"encoded_id_string","user_id":123,"member":"John Doe","date_from":"2024-12-01","date_to":"2024-12-15","total_minutes":1737,"total_amount":192.97,"submitted_on":null,"reject_reason":null,"status":"open","currency":"EUR","daily_breakdown":{"2024-12-01":[{"project_id":789,"project_name":"Customer Engagement & Onboarding","contract_id":456,"total_minutes":76,"total_amount":0},{"project_id":null,"project_name":"No Project","contract_id":333,"total_minutes":223,"total_amount":74.33}],"2024-12-02":[{"project_id":789,"project_name":"Customer Engagement & Onboarding","contract_id":456,"total_minutes":442,"total_amount":0}],"2024-12-03":[{"project_id":789,"project_name":"Customer Engagement & Onboarding","contract_id":456,"total_minutes":347,"total_amount":0}],"2024-12-04":[{"project_id":789,"project_name":"Customer Engagement & Onboarding","contract_id":456,"total_minutes":73,"total_amount":0},{"project_id":null,"project_name":"No Project","contract_id":333,"total_minutes":217,"total_amount":72.32}],"2024-12-05":[{"project_id":789,"project_name":"Customer Engagement & Onboarding","contract_id":456,"total_minutes":220,"total_amount":0},{"project_id":null,"project_name":"No Project","contract_id":333,"total_minutes":139,"total_amount":46.32}]}}],"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00.000000Z","pagination":{"total":1,"per_page":20,"current_page":1,"last_page":1,"from":1,"to":1}}},"key":"success","summary":"Successful response","id":"paths/~1timesheets/get/responses/200/content/application~1json/examples/success"},"paths/~1timesheets/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1timesheets/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1timesheets/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1timesheets/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets/get/responses/401/content/application~1json/example"},"paths/~1timesheets/get/responses/422/content/application~1json/example":{"value":{"success":false,"error":"Invalid identifier provided.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets/get/responses/422/content/application~1json/example"},"paths/~1timesheets/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets/get/responses/500/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1timesheets~1{timesheetId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1timesheets~1{timesheetId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}/get/responses/401/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}/get/responses/403/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1timesheets~1{timesheetId}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1timesheets~1{timesheetId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}/get/responses/500/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1approve/put/responses/200/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","status":"approved","user_id":45696,"user_name":"John Smith","user_email":"john.smith@example.com","date_from":"2024-01-01","date_to":"2024-01-15"},"message":"Timesheet approved by Jane Doe at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1approve/put/responses/200/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1timesheets~1{timesheetId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1timesheets~1{timesheetId}~1approve/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1approve/put/responses/401/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1approve/put/responses/422/content/application~1json/example":{"value":{"success":false,"error":"Invalid timesheet identifier provided.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1approve/put/responses/422/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1approve/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1approve/put/responses/500/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1reject/put/responses/200/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","status":"rejected","user_id":45696,"user_name":"John Smith","user_email":"john.smith@example.com","date_from":"2024-01-01","date_to":"2024-01-15"},"message":"Timesheet rejected by Jane Doe at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15 | Reason: Please correct the hours for Monday","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1reject/put/responses/200/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1timesheets~1{timesheetId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1timesheets~1{timesheetId}~1reject/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1reject/put/responses/401/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1reject/put/responses/422/content/application~1json/example":{"value":{"success":false,"error":"Invalid timesheet identifier provided.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1reject/put/responses/422/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1reject/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1reject/put/responses/500/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1submit/put/responses/200/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","status":"submitted","user_id":45696,"user_name":"John Smith","user_email":"john.smith@example.com","date_from":"2024-01-01","date_to":"2024-01-15"},"message":"Timesheet submitted by John Smith at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1submit/put/responses/200/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1timesheets~1{timesheetId}~1submit/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1timesheets~1{timesheetId}~1submit/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1submit/put/responses/401/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1submit/put/responses/422/content/application~1json/example":{"value":{"success":false,"error":"Invalid timesheet identifier provided.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1submit/put/responses/422/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1submit/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1submit/put/responses/500/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/200/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","status":"open","user_id":45696,"user_name":"John Smith","user_email":"john.smith@example.com","date_from":"2024-01-01","date_to":"2024-01-15"},"message":"Timesheet unsubmitted by Jane Doe at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/200/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/401/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/422/content/application~1json/example":{"value":{"success":false,"error":"Invalid timesheet identifier provided.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/422/content/application~1json/example"},"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1timesheets~1{timesheetId}~1unsubmit/put/responses/500/content/application~1json/example"},"paths/~1time-requests/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-requests/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-requests/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-requests/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests/get/responses/401/content/application~1json/example"},"paths/~1time-requests/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests/get/responses/500/content/application~1json/example"},"paths/~1time-requests/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"user_id":123,"contract_id":456,"start":"2025-12-05T09:00:00+00:00","end":"2025-12-05T17:00:00+00:00","activity_description":"Worked on feature implementation","task_id":101},"id":"paths/~1time-requests/post/requestBody/content/application~1json/example"},"paths/~1time-requests/post/responses/201/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","status":"pending","user_id":123,"user_name":"John Smith","user_email":"john.smith@example.com","project_id":309836,"project_name":"Website Redesign","task_id":101,"task_title":"Implement auth"},"message":"Time request created for John Smith on 2025-12-05 (09:00 - 17:00) | Project: Website Redesign | Task: Implement auth | Activity: Worked on feature implementation","meta":{"api_version":"2.0.0","timestamp":"2025-12-05T11:00:00.000000Z"}},"id":"paths/~1time-requests/post/responses/201/content/application~1json/example"},"paths/~1time-requests/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-requests/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-requests/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-requests/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests/post/responses/401/content/application~1json/example"},"paths/~1time-requests/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests/post/responses/500/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-requests~1{timeRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-requests~1{timeRequestId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests~1{timeRequestId}/get/responses/401/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests~1{timeRequestId}/get/responses/403/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1time-requests~1{timeRequestId}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1time-requests~1{timeRequestId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests~1{timeRequestId}/get/responses/500/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}~1approve/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1time-requests~1{timeRequestId}~1approve/post/requestBody/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/200/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","status":"approved","user_id":123,"user_name":"John Smith","user_email":"john.smith@example.com","project_id":309836,"project_name":"Website Redesign","task_id":101,"task_title":"Implement auth"},"message":"Time request approved by Jane Doe at 2025-12-05 11:00:00","meta":{"api_version":"2.0.0","timestamp":"2025-12-05T11:00:00.000000Z"}},"id":"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/200/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/401/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests~1{timeRequestId}~1approve/post/responses/500/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}~1reject/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"comment":"Time entry overlaps with existing approved time"},"id":"paths/~1time-requests~1{timeRequestId}~1reject/post/requestBody/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/200/content/application~1json/example":{"value":{"success":true,"data":{"id":"encoded_id_string","status":"rejected","user_id":123,"user_name":"John Smith","user_email":"john.smith@example.com","project_id":309836,"project_name":"Website Redesign","task_id":101,"task_title":"Implement auth"},"message":"Time request rejected by Jane Doe at 2025-12-05 11:00:00 | Reason: Time entry overlaps with existing approved time","meta":{"api_version":"2.0.0","timestamp":"2025-12-05T11:00:00.000000Z"}},"id":"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/200/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/401/content/application~1json/example"},"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-requests~1{timeRequestId}~1reject/post/responses/500/content/application~1json/example"},"paths/~1leaves/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1leaves/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1leaves/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1leaves/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves/get/responses/401/content/application~1json/example"},"paths/~1leaves/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves/get/responses/500/content/application~1json/example"},"paths/~1leaves/post/requestBody/content/application~1json/examples/day-based":{"value":{"workspace_id":123,"policy_id":"7802e7ca-c7f3-cfab-482a-fbc4982fe6b9","start":"2026-02-10","end":"2026-02-12","user_id":789,"reason":"I will be out of office for the next 2 days","leave_period":1},"key":"day-based","summary":"Day-based leave request","id":"paths/~1leaves/post/requestBody/content/application~1json/examples/day-based"},"paths/~1leaves/post/requestBody/content/application~1json/examples/hour-based":{"value":{"workspace_id":123,"policy_id":"7802e7ca-c7f3-cfab-482a-fbc4982fe6b9","start":"2026-02-10","end":"2026-02-10","user_id":789,"start_time":"09:00","end_time":"13:00","hours_per_day":"01:30"},"key":"hour-based","summary":"Hour-based leave request (hours_per_day as HH:mm)","id":"paths/~1leaves/post/requestBody/content/application~1json/examples/hour-based"},"paths/~1leaves/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1leaves/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1leaves/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1leaves/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves/post/responses/401/content/application~1json/example"},"paths/~1leaves/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves/post/responses/403/content/application~1json/example"},"paths/~1leaves/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1leaves/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1leaves/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1leaves/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1leaves/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1leaves/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1leaves/post/responses/422/content/application~1json/examples/invalid_policy_id":{"value":{"success":false,"message":"Invalid policy_id identifier provided"},"key":"invalid_policy_id","summary":"Invalid policy ID","id":"paths/~1leaves/post/responses/422/content/application~1json/examples/invalid_policy_id"},"paths/~1leaves/post/responses/422/content/application~1json/examples/advance_notice_required":{"value":{"success":false,"message":"This leave policy requires at least a 7-day advance request."},"key":"advance_notice_required","summary":"Advance notice requirement not met","id":"paths/~1leaves/post/responses/422/content/application~1json/examples/advance_notice_required"},"paths/~1leaves/post/responses/422/content/application~1json/examples/validation_errors":{"value":{"success":false,"message":"Validation failed","errors":{"start":["The start field is required.","The start must be a date before or equal to end."],"end":["The end field is required.","The end must be a date after or equal to start."]}},"key":"validation_errors","summary":"Validation errors","id":"paths/~1leaves/post/responses/422/content/application~1json/examples/validation_errors"},"paths/~1leaves/post/responses/422/content/application~1json/examples/same_day_conflict":{"value":{"success":false,"message":"Validation failed","errors":{"end":["A leave request already exists for this date."]}},"key":"same_day_conflict","summary":"Same day leave request conflict","id":"paths/~1leaves/post/responses/422/content/application~1json/examples/same_day_conflict"},"paths/~1leaves/post/responses/422/content/application~1json/examples/hourly_leave_validation":{"value":{"success":false,"message":"Validation failed","errors":{"start_time":["The field is required"],"end_time":["The field is required"],"hours_per_day":["The field is required"]}},"key":"hourly_leave_validation","summary":"Hour-based leave validation errors","id":"paths/~1leaves/post/responses/422/content/application~1json/examples/hourly_leave_validation"},"paths/~1leaves/post/responses/422/content/application~1json/examples/file_validation":{"value":{"success":false,"message":"Validation failed","errors":{"files":["Maximum 3 files allowed."],"files.0":["Each file may not be greater than 5MB.","Only specific file types are allowed: PDF, Excel, Word, etc."]}},"key":"file_validation","summary":"File upload validation errors","id":"paths/~1leaves/post/responses/422/content/application~1json/examples/file_validation"},"paths/~1leaves/post/responses/422/content/application~1json/examples/note_validation":{"value":{"success":false,"message":"Validation failed","errors":{"note":["The reason may not be greater than 255 characters."]}},"key":"note_validation","summary":"Note/reason validation error","id":"paths/~1leaves/post/responses/422/content/application~1json/examples/note_validation"},"paths/~1leaves/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves/post/responses/500/content/application~1json/example"},"paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1leaves~1balances/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1leaves~1balances/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1balances/get/responses/401/content/application~1json/example"},"paths/~1leaves~1balances/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1balances/get/responses/500/content/application~1json/example"},"paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1leaves~1policies/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1leaves~1policies/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1policies/get/responses/401/content/application~1json/example"},"paths/~1leaves~1policies/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1policies/get/responses/500/content/application~1json/example"},"paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1leaves~1{leaveRequestId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1leaves~1{leaveRequestId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1{leaveRequestId}/get/responses/401/content/application~1json/example"},"paths/~1leaves~1{leaveRequestId}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1{leaveRequestId}/get/responses/403/content/application~1json/example"},"paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1leaves~1{leaveRequestId}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1leaves~1{leaveRequestId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1{leaveRequestId}/get/responses/500/content/application~1json/example"},"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/401/content/application~1json/example"},"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/403/content/application~1json/example"},"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1{leaveRequestId}~1approve/put/responses/500/content/application~1json/example"},"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/401/content/application~1json/example"},"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/403/content/application~1json/example"},"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1leaves~1{leaveRequestId}~1reject/put/responses/500/content/application~1json/example"},"paths/~1expenses/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1expenses/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1expenses/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1expenses/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses/get/responses/401/content/application~1json/example"},"paths/~1expenses/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses/get/responses/500/content/application~1json/example"},"paths/~1expenses/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1expenses/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1expenses/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1expenses/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses/post/responses/401/content/application~1json/example"},"paths/~1expenses/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses/post/responses/500/content/application~1json/example"},"paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1expenses~1categories/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1expenses~1categories/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses~1categories/get/responses/401/content/application~1json/example"},"paths/~1expenses~1categories/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses~1categories/get/responses/500/content/application~1json/example"},"paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1expenses~1{expenseId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1expenses~1{expenseId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses~1{expenseId}/get/responses/401/content/application~1json/example"},"paths/~1expenses~1{expenseId}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses~1{expenseId}/get/responses/403/content/application~1json/example"},"paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1expenses~1{expenseId}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1expenses~1{expenseId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses~1{expenseId}/get/responses/500/content/application~1json/example"},"paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1expenses~1{expenseId}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1expenses~1{expenseId}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses~1{expenseId}/put/responses/401/content/application~1json/example"},"paths/~1expenses~1{expenseId}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses~1{expenseId}/put/responses/500/content/application~1json/example"},"paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1expenses~1{expenseId}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1expenses~1{expenseId}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses~1{expenseId}/delete/responses/401/content/application~1json/example"},"paths/~1expenses~1{expenseId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1expenses~1{expenseId}/delete/responses/500/content/application~1json/example"},"paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/with_project":{"value":{"workspace_id":1,"user_id":100,"contract_id":20,"task_id":5,"activity_description":"Implementing new feature"},"key":"with_project","summary":"Start tracking with project and task","id":"paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/with_project"},"paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/without_project":{"value":{"workspace_id":1,"user_id":100,"activity_description":"General work"},"key":"without_project","summary":"Start tracking without project","id":"paths/~1time-tracking~1start/post/requestBody/content/application~1json/examples/without_project"},"paths/~1time-tracking~1start/post/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":{"start_time":"2024-01-15T10:30:00+00:00","user_id":100,"user_name":"John Smith","user_email":"john.smith@example.com","contract_id":20,"project_id":10,"project_name":"Website Redesign","task_id":5,"task_title":"Implement auth","activity_description":"Working on feature implementation"},"message":"Time tracking started for John Smith at 2024-01-15 10:30:00 | Project: Website Redesign | Task: Implement auth | Activity: Working on feature implementation","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"success","summary":"Successful response","id":"paths/~1time-tracking~1start/post/responses/200/content/application~1json/examples/success"},"paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-tracking~1start/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-tracking~1start/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-tracking~1start/post/responses/401/content/application~1json/example"},"paths/~1time-tracking~1start/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-tracking~1start/post/responses/403/content/application~1json/example"},"paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1time-tracking~1start/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/task_without_contract":{"value":{"success":false,"message":"task_id cannot be provided when contract_id is not provided","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"task_without_contract","summary":"Task ID provided without contract ID","id":"paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/task_without_contract"},"paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/already_tracking":{"value":{"success":false,"message":"User is already tracking time. Please stop the current tracker before starting a new one.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"already_tracking","summary":"User already tracking time","id":"paths/~1time-tracking~1start/post/responses/422/content/application~1json/examples/already_tracking"},"paths/~1time-tracking~1start/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-tracking~1start/post/responses/500/content/application~1json/example"},"paths/~1time-tracking~1stop/post/requestBody/content/application~1json/examples/stop_tracking":{"value":{"workspace_id":1,"user_id":100},"key":"stop_tracking","summary":"Stop time tracking","id":"paths/~1time-tracking~1stop/post/requestBody/content/application~1json/examples/stop_tracking"},"paths/~1time-tracking~1stop/post/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":{"stopped_at":"2024-01-15T12:30:00+00:00","user_id":100,"user_name":"John Smith","user_email":"john.smith@example.com"},"message":"Time tracking stopped for John Smith at 2024-01-15 12:30:00","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T12:30:00Z"}},"key":"success","summary":"Successful response","id":"paths/~1time-tracking~1stop/post/responses/200/content/application~1json/examples/success"},"paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-tracking~1stop/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-tracking~1stop/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-tracking~1stop/post/responses/401/content/application~1json/example"},"paths/~1time-tracking~1stop/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-tracking~1stop/post/responses/403/content/application~1json/example"},"paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1time-tracking~1stop/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1time-tracking~1stop/post/responses/422/content/application~1json/examples/no_active_tracker":{"value":{"success":false,"message":"No active time tracker found for this user","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"no_active_tracker","summary":"No active tracker to stop","id":"paths/~1time-tracking~1stop/post/responses/422/content/application~1json/examples/no_active_tracker"},"paths/~1time-tracking~1stop/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-tracking~1stop/post/responses/500/content/application~1json/example"},"paths/~1time-tracking~1current-data/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":{"contract_id":598672,"user_id":45696,"activity_description":"Working on API documentation","task_id":3917798,"task_title":"Adding timesheets","total_seconds":9,"total_minutes":7,"date":"2025-12-08"},"message":"Current tracker data retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2025-12-08T11:30:39.529297Z"}},"key":"success","summary":"Successful response","id":"paths/~1time-tracking~1current-data/get/responses/200/content/application~1json/examples/success"},"paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-tracking~1current-data/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-tracking~1current-data/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-tracking~1current-data/get/responses/401/content/application~1json/example"},"paths/~1time-tracking~1current-data/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-tracking~1current-data/get/responses/403/content/application~1json/example"},"paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1time-tracking~1current-data/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1time-tracking~1current-data/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-tracking~1current-data/get/responses/500/content/application~1json/example"},"paths/~1time-entries/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-entries/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-entries/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-entries/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries/get/responses/401/content/application~1json/example"},"paths/~1time-entries/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries/get/responses/403/content/application~1json/example"},"paths/~1time-entries/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1time-entries/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1time-entries/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1time-entries/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1time-entries/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1time-entries/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1time-entries/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries/get/responses/500/content/application~1json/example"},"paths/~1time-entries/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"user_id":100,"contract_id":20,"task_id":5,"notes":"Working on feature implementation","date":"2026-01-29","start_time":"09:00","end_time":"17:00"},"id":"paths/~1time-entries/post/requestBody/content/application~1json/example"},"paths/~1time-entries/post/responses/201/content/application~1json/examples/success":{"value":{"success":true,"message":"8 hr successfully added for John Doe.","saved_minutes":480,"data":{"user_id":100,"contract_id":20,"project_id":10,"project_name":"Website Redesign","task_id":5,"task_title":"Update homepage design","activity_description":"Working on feature implementation","method":"Manually added time","date":"2026-01-29","start_time":"2026-01-29T09:00:00Z","end_time":"2026-01-29T17:00:00Z","duration_minutes":480},"meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"success","summary":"Full time entry created","id":"paths/~1time-entries/post/responses/201/content/application~1json/examples/success"},"paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_member_limit":{"value":{"success":true,"message":"4 hr successfully added for John Doe. Only partial time added due to member limit.","saved_minutes":240,"data":{"id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","user_id":100,"contract_id":20,"date":"2026-01-29","start_time":"2026-01-29T09:00:00Z","end_time":"2026-01-29T13:00:00Z","duration_minutes":240},"meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"partial_member_limit","summary":"Partial time added - member limit reached","id":"paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_member_limit"},"paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_contract_limit":{"value":{"success":true,"message":"2 hr successfully added for John Doe. Only partial time added due to contract limit.","saved_minutes":120,"data":{"id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","user_id":100,"contract_id":20,"date":"2026-01-29","start_time":"2026-01-29T09:00:00Z","end_time":"2026-01-29T11:00:00Z","duration_minutes":120},"meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"partial_contract_limit","summary":"Partial time added - contract limit reached","id":"paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_contract_limit"},"paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_overlap":{"value":{"success":true,"message":"6 hr successfully added for John Doe. Only partial time added as time already exists for that period.","saved_minutes":360,"data":{"id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","user_id":100,"contract_id":20,"date":"2026-01-29","start_time":"2026-01-29T09:00:00Z","end_time":"2026-01-29T15:00:00Z","duration_minutes":360},"meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"partial_overlap","summary":"Partial time added - time already exists","id":"paths/~1time-entries/post/responses/201/content/application~1json/examples/partial_overlap"},"paths/~1time-entries/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-entries/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-entries/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-entries/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries/post/responses/401/content/application~1json/example"},"paths/~1time-entries/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries/post/responses/403/content/application~1json/example"},"paths/~1time-entries/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1time-entries/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1time-entries/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1time-entries/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1time-entries/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1time-entries/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1time-entries/post/responses/422/content/application~1json/examples/member_limit_exceeded":{"value":{"success":false,"message":"Time cannot be added for John Doe — member limit reached.","saved_minutes":0,"meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"member_limit_exceeded","summary":"Member limit reached - no time added","id":"paths/~1time-entries/post/responses/422/content/application~1json/examples/member_limit_exceeded"},"paths/~1time-entries/post/responses/422/content/application~1json/examples/contract_limit_exceeded":{"value":{"success":false,"message":"Time cannot be added for John Doe — contract limit reached.","saved_minutes":0,"meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"contract_limit_exceeded","summary":"Contract limit reached - no time added","id":"paths/~1time-entries/post/responses/422/content/application~1json/examples/contract_limit_exceeded"},"paths/~1time-entries/post/responses/422/content/application~1json/examples/time_exists":{"value":{"success":false,"message":"Time cannot be added for John Doe — there is already time for that period.","saved_minutes":0,"meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"time_exists","summary":"Time already exists for period - no time added","id":"paths/~1time-entries/post/responses/422/content/application~1json/examples/time_exists"},"paths/~1time-entries/post/responses/422/content/application~1json/examples/validation_error":{"value":{"success":false,"message":"Validation failed","errors":{"end_time":["The end time must be a date after start time."]},"meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"validation_error","summary":"Validation error","id":"paths/~1time-entries/post/responses/422/content/application~1json/examples/validation_error"},"paths/~1time-entries/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries/post/responses/500/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-entries~1{time_entry_id}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-entries~1{time_entry_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries~1{time_entry_id}/get/responses/401/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries~1{time_entry_id}/get/responses/403/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1time-entries~1{time_entry_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1time-entries~1{time_entry_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries~1{time_entry_id}/get/responses/500/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/put/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"project_id":10,"task_id":5,"notes":"Updated activity description","date":"2026-01-29","start_time":"09:00","end_time":"17:30"},"id":"paths/~1time-entries~1{time_entry_id}/put/requestBody/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/put/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Time entry updated successfully","meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"id":"paths/~1time-entries~1{time_entry_id}/put/responses/200/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1time-entries~1{time_entry_id}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1time-entries~1{time_entry_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries~1{time_entry_id}/put/responses/401/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries~1{time_entry_id}/put/responses/403/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1time-entries~1{time_entry_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_time_range":{"value":{"success":false,"message":"Wrong time range","meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"invalid_time_range","summary":"Invalid time range","id":"paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_time_range"},"paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_identifier":{"value":{"success":false,"message":"Invalid time entry identifier provided","meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"invalid_identifier","summary":"Invalid time entry identifier","id":"paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/invalid_identifier"},"paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/validation_error":{"value":{"success":false,"message":"Validation failed","errors":{"end_time":["The end time must be a date after start time."]},"meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"validation_error","summary":"Validation error","id":"paths/~1time-entries~1{time_entry_id}/put/responses/422/content/application~1json/examples/validation_error"},"paths/~1time-entries~1{time_entry_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries~1{time_entry_id}/put/responses/500/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/delete/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1time-entries~1{time_entry_id}/delete/requestBody/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Time entry deleted successfully","meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"id":"paths/~1time-entries~1{time_entry_id}/delete/responses/200/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"message":"workspace_id is required in request body","meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"missing_workspace_id","summary":"Missing workspace_id","id":"paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"message":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"key":"invalid_workspace_id","summary":"Invalid workspace_id format","id":"paths/~1time-entries~1{time_entry_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1time-entries~1{time_entry_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries~1{time_entry_id}/delete/responses/401/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries~1{time_entry_id}/delete/responses/403/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1time-entries~1{time_entry_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1time-entries~1{time_entry_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"message":"Invalid time entry identifier provided","meta":{"api_version":"2.0.0","timestamp":"2026-01-29T12:00:00.000000Z"}},"id":"paths/~1time-entries~1{time_entry_id}/delete/responses/422/content/application~1json/example"},"paths/~1time-entries~1{time_entry_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1time-entries~1{time_entry_id}/delete/responses/500/content/application~1json/example"},"paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/with_rates":{"value":{"success":true,"data":{"report_type":"tracked_hours","start_date":"2024-01-01","end_date":"2024-01-31","total":{"total_minutes":1440,"inactive_minutes":120,"total_amount":{"USD":155.67,"EUR":140.5},"total_bill_amount":{"USD":228}},"daily_breakdown":{"2024-01-15":{"users":[{"user_id":100,"total_minutes":304,"inactive_minutes":25,"project_id":10,"contract_id":20,"total_amount":{"USD":120.5},"bill_amount":{"USD":228},"pay_rate":25,"bill_rate":45,"weekly_limit":40},{"user_id":101,"total_minutes":480,"inactive_minutes":40,"project_id":11,"contract_id":21,"pay_rate":30,"bill_rate":55,"weekly_limit":40}]}}},"message":"Tracked hours report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"with_rates","summary":"Response with rate access (rate_status = 1 and bill_rate_status = 1)","id":"paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/with_rates"},"paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/without_rates":{"value":{"success":true,"data":{"report_type":"tracked_hours","start_date":"2024-01-01","end_date":"2024-01-31","total":{"total_minutes":1440,"inactive_minutes":120},"daily_breakdown":{"2024-01-15":{"users":[{"user_id":100,"total_minutes":304,"inactive_minutes":25,"project_id":10,"contract_id":20,"pay_rate":null,"bill_rate":null,"weekly_limit":40},{"user_id":101,"total_minutes":480,"inactive_minutes":40,"project_id":11,"contract_id":21,"pay_rate":null,"bill_rate":null,"weekly_limit":40}]}}},"message":"Tracked hours report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"without_rates","summary":"Response without rate access (pay/bill amounts omitted, pay_rate/bill_rate null, weekly_limit still returned)","id":"paths/~1reports~1tracked-hours/get/responses/200/content/application~1json/examples/without_rates"},"paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1reports~1tracked-hours/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1reports~1tracked-hours/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1tracked-hours/get/responses/401/content/application~1json/example"},"paths/~1reports~1tracked-hours/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1tracked-hours/get/responses/403/content/application~1json/example"},"paths/~1reports~1tracked-hours/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1tracked-hours/get/responses/500/content/application~1json/example"},"paths/~1reports~1daily-timeline/get/responses/200/content/application~1json/examples/example_response":{"value":{"success":true,"data":{"date":"2024-01-15","total_users":5,"per_page":30,"current_page":1,"total_pages":1,"users":[{"user_id":100,"member":"John Doe","total_minutes":480,"inactive_minutes":45,"total_amount":240.5,"currency":"USD","activity_level":75,"time_entries":[{"start_time":"2024-01-15T09:00:00+04:00","end_time":"2024-01-15T12:30:00+04:00","total_minutes":210,"inactive_minutes":15,"project_id":10,"contract_id":20,"task_id":5,"task_title":"Implement feature","project_name":"Project Alpha","timezone":"Asia/Yerevan","total_amount":105.25,"track_type":"Desktop tracker","activity_description":"Working on API integration","mouse_actions":945,"keyboard_actions":2520,"scroll_actions":168,"activity_level":85},{"start_time":"2024-01-15T13:30:00+04:00","end_time":"2024-01-15T17:00:00+04:00","total_minutes":210,"inactive_minutes":20,"project_id":10,"contract_id":20,"task_id":6,"task_title":"Code review","project_name":"Project Alpha","timezone":"Asia/Yerevan","total_amount":105.25,"track_type":"Desktop tracker","activity_description":"Reviewing pull requests","mouse_actions":630,"keyboard_actions":1470,"scroll_actions":105,"activity_level":70}]}]},"message":"Daily timeline report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"example_response","summary":"Daily timeline report response","id":"paths/~1reports~1daily-timeline/get/responses/200/content/application~1json/examples/example_response"},"paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1reports~1daily-timeline/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1reports~1daily-timeline/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1daily-timeline/get/responses/401/content/application~1json/example"},"paths/~1reports~1daily-timeline/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1daily-timeline/get/responses/403/content/application~1json/example"},"paths/~1reports~1daily-timeline/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1daily-timeline/get/responses/500/content/application~1json/example"},"paths/~1reports~1daily-activity/get/responses/200/content/application~1json/examples/example_response":{"value":{"success":true,"data":{"segments":[{"start":"09:00","start_timestamp":1705302000,"stop":"12:30","stop_timestamp":1705314600,"total_minutes":210,"activity_level":82,"rows":[{"time":"09:00","mouse_actions":45,"keyboard_actions":120,"scroll_actions":8,"activity_level":88,"total_minutes":1,"project_id":10,"project_name":"Project Alpha","task_id":5,"task_title":"Implement feature","description":"Working on API integration","app":"Visual Studio Code(software)","productivity":2,"active_window_title":"api.yaml — webwork-tracker","url":"","track_type":"Desktop tracker","category":"Development"}]}],"total_times":{"total":480,"tracked":420,"manual":30,"leave":0,"idle":20,"break":10,"holiday":0},"activity_level":78},"message":"Daily activity report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"example_response","summary":"Daily activity report response (group_by=time)","id":"paths/~1reports~1daily-activity/get/responses/200/content/application~1json/examples/example_response"},"paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1reports~1daily-activity/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1reports~1daily-activity/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1daily-activity/get/responses/401/content/application~1json/example"},"paths/~1reports~1daily-activity/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1daily-activity/get/responses/403/content/application~1json/example"},"paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1reports~1daily-activity/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1reports~1daily-activity/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1daily-activity/get/responses/500/content/application~1json/example"},"paths/~1reports~1activity-level/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":{"report_type":"activity_level","start_date":"2024-01-01","end_date":"2024-01-31","total_users":5,"per_page":30,"current_page":1,"total_pages":1,"users":[{"user_id":100,"member":"John Doe","total_mouse_actions":1795,"total_keyboard_actions":4820,"total_scroll_actions":318,"total_minutes":930,"activity_level":84,"daily_breakdown":{"2024-01-15":{"total_mouse_actions":945,"total_keyboard_actions":2520,"total_scroll_actions":168,"total_minutes":480,"activity_level":75.5},"2024-01-16":{"total_mouse_actions":850,"total_keyboard_actions":2300,"total_scroll_actions":150,"total_minutes":450,"activity_level":73.2}}}]},"message":"Activity level report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"success","summary":"Successful response","id":"paths/~1reports~1activity-level/get/responses/200/content/application~1json/examples/success"},"paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1reports~1activity-level/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1reports~1activity-level/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1activity-level/get/responses/401/content/application~1json/example"},"paths/~1reports~1activity-level/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1activity-level/get/responses/403/content/application~1json/example"},"paths/~1reports~1activity-level/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1activity-level/get/responses/500/content/application~1json/example"},"paths/~1reports~1task-report/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":{"report_type":"task_report","start_date":"2024-01-01","end_date":"2024-01-31","total_users":2,"per_page":30,"current_page":1,"total_pages":1,"users":[{"user_id":100,"member":"John Doe","total_minutes":960,"inactive_minutes":90,"total_amount":480.5,"currency":"USD","tasks_breakdown":[{"task_id":5,"task_title":"Implement API","project_id":10,"project_name":"Project Alpha","contract_id":20,"total_minutes":600,"inactive_minutes":50,"total_amount":300},{"task_id":null,"task_title":null,"project_id":null,"project_name":null,"contract_id":null,"total_minutes":360,"inactive_minutes":40,"total_amount":180.5}],"daily_breakdown":{"2024-01-15":{"total_minutes":480,"inactive_minutes":40,"total_amount":240.25,"tasks":[{"task_id":5,"task_title":"Implement API","project_id":10,"project_name":"Project Alpha","contract_id":20,"total_minutes":300,"inactive_minutes":25,"total_amount":150},{"task_id":null,"task_title":null,"project_id":null,"project_name":null,"contract_id":null,"total_minutes":180,"inactive_minutes":15,"total_amount":90.25}]},"2024-01-16":{"total_minutes":480,"inactive_minutes":40,"total_amount":240.25,"tasks":[{"task_id":5,"task_title":"Implement API","project_id":10,"project_name":"Project Alpha","contract_id":20,"total_minutes":300,"inactive_minutes":25,"total_amount":150},{"task_id":null,"task_title":null,"project_id":null,"project_name":null,"contract_id":null,"total_minutes":180,"total_amount":90.25}]}}}]},"message":"Task report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"success","summary":"Successful response with rate access","id":"paths/~1reports~1task-report/get/responses/200/content/application~1json/examples/success"},"paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1reports~1task-report/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1reports~1task-report/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1task-report/get/responses/401/content/application~1json/example"},"paths/~1reports~1task-report/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1task-report/get/responses/403/content/application~1json/example"},"paths/~1reports~1task-report/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1task-report/get/responses/500/content/application~1json/example"},"paths/~1reports~1daily-attendance/get/responses/200/content/application~1json/examples/example_response":{"value":{"success":true,"data":{"report_type":"daily_attendance","date":"2024-12-22","total_users":5,"per_page":30,"current_page":1,"total_pages":1,"users":[{"user_id":100,"member":"John Doe","statuses":["All good"],"start_time":"09:00","end_time":"18:00","total_time_minutes":540,"tracked_time_minutes":480,"paid_leave_minutes":0,"paid_holiday_minutes":0,"paid_break_minutes":30,"unpaid_break_minutes":0,"break_intervals":["14:30 - 15:00"],"manually_added_time_minutes":0,"idle_time_minutes":0,"activity_level":88,"productivity_level":92,"outside_working_hours_minutes":0,"inside_working_hours_minutes":540,"is_working_day":true,"late_comment":null,"early_comment":null},{"user_id":101,"member":"Jane Smith","statuses":["Late","Left early"],"start_time":"09:15","end_time":"17:30","total_time_minutes":495,"tracked_time_minutes":450,"paid_leave_minutes":0,"paid_holiday_minutes":0,"paid_break_minutes":30,"unpaid_break_minutes":55,"break_intervals":["14:30 - 15:25","16:00 - 16:15"],"manually_added_time_minutes":0,"idle_time_minutes":0,"activity_level":75,"productivity_level":85,"outside_working_hours_minutes":0,"inside_working_hours_minutes":495,"is_working_day":true,"late_comment":"Traffic jam","early_comment":"Personal appointment"}]},"message":"Daily attendance report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2024-12-22T10:30:00Z"}},"key":"example_response","summary":"Daily attendance report response","id":"paths/~1reports~1daily-attendance/get/responses/200/content/application~1json/examples/example_response"},"paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1reports~1daily-attendance/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1reports~1daily-attendance/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1daily-attendance/get/responses/401/content/application~1json/example"},"paths/~1reports~1daily-attendance/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1daily-attendance/get/responses/403/content/application~1json/example"},"paths/~1reports~1daily-attendance/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1daily-attendance/get/responses/500/content/application~1json/example"},"paths/~1reports~1activity-description/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":{"report_type":"activity_description","start_date":"2024-01-01","end_date":"2024-01-31","total_users":2,"per_page":30,"current_page":1,"total_pages":1,"users":[{"user_id":100,"member":"John Doe","total_minutes":960,"inactive_minutes":90,"total_amount":480.5,"currency":"USD","activities_breakdown":[{"activity_description":"Working on API integration","task_id":5,"task_title":"Implement API","project_id":10,"project_name":"Project Alpha","contract_id":20,"total_minutes":600,"inactive_minutes":50,"total_amount":300},{"activity_description":null,"task_id":null,"task_title":null,"project_id":null,"project_name":null,"contract_id":null,"total_minutes":360,"inactive_minutes":40,"total_amount":180.5}],"daily_breakdown":{"2024-01-15":{"total_minutes":480,"inactive_minutes":40,"total_amount":240.25,"activities":[{"activity_description":"Working on API integration","task_id":5,"task_title":"Implement API","project_id":10,"project_name":"Project Alpha","contract_id":20,"total_minutes":300,"inactive_minutes":25,"total_amount":150},{"activity_description":null,"task_id":null,"task_title":null,"project_id":null,"project_name":null,"contract_id":null,"total_minutes":180,"inactive_minutes":15,"total_amount":90.25}]}}}]},"message":"Activity description report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"success","summary":"Successful response with rate access","id":"paths/~1reports~1activity-description/get/responses/200/content/application~1json/examples/success"},"paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1reports~1activity-description/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1reports~1activity-description/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1activity-description/get/responses/401/content/application~1json/example"},"paths/~1reports~1activity-description/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1activity-description/get/responses/403/content/application~1json/example"},"paths/~1reports~1activity-description/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1activity-description/get/responses/500/content/application~1json/example"},"paths/~1reports~1apps-websites/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":{"report_type":"apps_websites_overview","start_date":"2024-01-01","end_date":"2024-01-07","total_rows":42,"per_page":30,"current_page":1,"total_pages":2,"total_minutes":1830,"rows":[{"app_website":"Slack","category":"Communication","productivity":"Productive","member":{"user_id":100,"name":"John Doe"},"project":{"project_id":10,"name":"Website Redesign"},"task":"(no task)","description":"(no description)","mouse_actions":320,"keyboard_actions":1450,"scroll_actions":88,"activity_level":84,"inactive_minutes":5,"date":"2024-01-03","total_minutes":120}]},"message":"Apps & websites overview report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"success","summary":"Successful response","id":"paths/~1reports~1apps-websites/get/responses/200/content/application~1json/examples/success"},"paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1reports~1apps-websites/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1reports~1apps-websites/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1apps-websites/get/responses/401/content/application~1json/example"},"paths/~1reports~1apps-websites/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1apps-websites/get/responses/403/content/application~1json/example"},"paths/~1reports~1apps-websites/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1apps-websites/get/responses/500/content/application~1json/example"},"paths/~1reports~1real-time/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":{"report_type":"real_time","snapshot_at":"2024-01-15T10:30:00Z","total_rows":3,"per_page":20,"current_page":1,"total_pages":1,"rows":[{"member":{"user_id":100,"name":"John Doe","email":"john@example.com"},"work_location":"office","project":{"project_id":10,"name":"Website Redesign"},"task":{"task_id":555,"title":"Fix navbar"},"activity_description":"Working on responsive layout","tracker_type":"desktop","apps_websites":{"app_website":"Visual Studio Code(software)","active_window_title":"navbar.scss — webwork"},"status":"online","on_break":false,"on_leave":false,"leave_info":null,"os":"windows","kiosk_id":null,"role":"Regular User","team_ids":[3],"title_ids":[7],"last_seen":"2024-01-15T10:29:41Z"},{"member":{"user_id":101,"name":"Jane Smith","email":"jane@example.com"},"work_location":null,"project":null,"task":null,"activity_description":null,"tracker_type":null,"apps_websites":null,"status":"absent","on_break":false,"on_leave":false,"leave_info":null,"os":null,"kiosk_id":null,"role":"Regular User","team_ids":[],"title_ids":[],"last_seen":null},{"member":{"user_id":102,"name":"Ashot Petrosyan","email":"ashot@example.com"},"work_location":null,"project":null,"task":null,"activity_description":null,"tracker_type":null,"apps_websites":null,"status":"on_leave","on_break":false,"on_leave":true,"leave_info":{"period":"full_day","time":null},"os":null,"kiosk_id":null,"role":"Regular User","team_ids":[],"title_ids":[],"last_seen":null}]},"message":"Real time report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"success","summary":"Successful response","id":"paths/~1reports~1real-time/get/responses/200/content/application~1json/examples/success"},"paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1reports~1real-time/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1reports~1real-time/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1real-time/get/responses/401/content/application~1json/example"},"paths/~1reports~1real-time/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1real-time/get/responses/403/content/application~1json/example"},"paths/~1reports~1real-time/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1real-time/get/responses/500/content/application~1json/example"},"paths/~1reports~1gps-tracking/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":{"report_type":"gps_tracking","start_date":"2026-06-10","end_date":"2026-06-11","timezone":"Asia/Yerevan","total_rows":2,"per_page":20,"current_page":1,"total_pages":1,"rows":[{"member":{"user_id":100,"name":"Anna Grigoryan"},"project":null,"task":null,"job_site":null,"latitude":"40.2105","longitude":"44.5512","tracked_at":"2026-06-10T13:42:00+04:00","date":"2026-06-10","time":"13:42","google_maps_url":"https://www.google.com/maps?q=40.2105,44.5512"},{"member":{"user_id":100,"name":"Anna Grigoryan"},"project":{"project_id":10,"name":"Site works"},"task":{"task_id":555,"title":"Install cabling"},"job_site":{"job_site_id":"encoded_id_string","name":"Warehouse A"},"latitude":"40.1792","longitude":"44.4991","tracked_at":"2026-06-10T09:00:00+04:00","date":"2026-06-10","time":"09:00","google_maps_url":"https://www.google.com/maps?q=40.1792,44.4991"}]},"message":"GPS tracking report retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2026-06-12T10:30:00Z"}},"key":"success","summary":"Successful response","id":"paths/~1reports~1gps-tracking/get/responses/200/content/application~1json/examples/success"},"paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1reports~1gps-tracking/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1reports~1gps-tracking/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1gps-tracking/get/responses/401/content/application~1json/example"},"paths/~1reports~1gps-tracking/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1gps-tracking/get/responses/403/content/application~1json/example"},"paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1reports~1gps-tracking/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1reports~1gps-tracking/get/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1gps-tracking/get/responses/422/content/application~1json/example"},"paths/~1reports~1gps-tracking/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1reports~1gps-tracking/get/responses/500/content/application~1json/example"},"paths/~1job-sites/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"data":[{"id":"encoded_id_string_b","name":"Site B","address":null,"latitude":"40.2000","longitude":"44.4800","radius":200,"project":{"id":41,"name":"Bridge Retrofit"},"members":[{"id":104582,"firstname":"Ann","lastname":"Poghosyan","email":"ann@example.com"}],"applies_to_everyone":false,"current_members":[],"google_maps_url":"https://www.google.com/maps?q=40.2,44.48","created_at":"2026-08-04T11:03:20Z","updated_at":"2026-08-12T08:41:02Z"},{"id":"encoded_id_string_a","name":"Warehouse A","address":"12 Depot Road","latitude":"40.1792","longitude":"44.4991","radius":500,"project":null,"members":[],"applies_to_everyone":true,"current_members":[{"id":104582,"firstname":"Ann","lastname":"Poghosyan","email":"ann@example.com"},{"id":104973,"firstname":"Davit","lastname":"Sargsyan","email":"davit@example.com"}],"google_maps_url":"https://www.google.com/maps?q=40.1792,44.4991","created_at":"2026-08-01T09:12:44Z","updated_at":"2026-08-01T09:12:44Z"}],"message":"Job sites retrieved successfully","meta":{"api_version":"2.0.0","timestamp":"2026-08-14T10:00:00+00:00","pagination":{"total":2,"per_page":20,"current_page":1,"last_page":1,"from":1,"to":2}}},"key":"success","summary":"Two job sites","id":"paths/~1job-sites/get/responses/200/content/application~1json/examples/success"},"paths/~1job-sites/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1job-sites/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1job-sites/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1job-sites/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites/get/responses/401/content/application~1json/example"},"paths/~1job-sites/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites/get/responses/403/content/application~1json/example"},"paths/~1job-sites/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1job-sites/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1job-sites/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1job-sites/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1job-sites/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1job-sites/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1job-sites/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites/get/responses/500/content/application~1json/example"},"paths/~1job-sites/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"name":"Warehouse A","latitude":40.1792,"longitude":44.4991,"radius":500,"address":"12 Depot Road","member_ids":[104582]},"id":"paths/~1job-sites/post/requestBody/content/application~1json/example"},"paths/~1job-sites/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1job-sites/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1job-sites/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1job-sites/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites/post/responses/401/content/application~1json/example"},"paths/~1job-sites/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites/post/responses/403/content/application~1json/example"},"paths/~1job-sites/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1job-sites/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1job-sites/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1job-sites/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1job-sites/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1job-sites/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1job-sites/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites/post/responses/422/content/application~1json/example"},"paths/~1job-sites/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites/post/responses/500/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1job-sites~1{job_site_id}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1job-sites~1{job_site_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/get/responses/401/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/get/responses/403/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1job-sites~1{job_site_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1job-sites~1{job_site_id}/get/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/get/responses/422/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/get/responses/500/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/put/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"radius":750},"id":"paths/~1job-sites~1{job_site_id}/put/requestBody/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1job-sites~1{job_site_id}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1job-sites~1{job_site_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/put/responses/401/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/put/responses/403/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1job-sites~1{job_site_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1job-sites~1{job_site_id}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/put/responses/422/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/put/responses/500/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/delete/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1job-sites~1{job_site_id}/delete/requestBody/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1job-sites~1{job_site_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1job-sites~1{job_site_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/delete/responses/401/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/delete/responses/403/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1job-sites~1{job_site_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1job-sites~1{job_site_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/delete/responses/422/content/application~1json/example"},"paths/~1job-sites~1{job_site_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1job-sites~1{job_site_id}/delete/responses/500/content/application~1json/example"},"paths/~1screenshots/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1screenshots/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1screenshots/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1screenshots/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1screenshots/get/responses/401/content/application~1json/example"},"paths/~1screenshots/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1screenshots/get/responses/403/content/application~1json/example"},"paths/~1screenshots/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1screenshots/get/responses/500/content/application~1json/example"},"paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1screenshots~1{screenshot_id}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1screenshots~1{screenshot_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1screenshots~1{screenshot_id}/get/responses/401/content/application~1json/example"},"paths/~1screenshots~1{screenshot_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1screenshots~1{screenshot_id}/get/responses/403/content/application~1json/example"},"paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1screenshots~1{screenshot_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1screenshots~1{screenshot_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1screenshots~1{screenshot_id}/get/responses/500/content/application~1json/example"},"paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1screenshots~1{screenshot_id}~1download/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1screenshots~1{screenshot_id}~1download/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1screenshots~1{screenshot_id}~1download/get/responses/401/content/application~1json/example"},"paths/~1screenshots~1{screenshot_id}~1download/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1screenshots~1{screenshot_id}~1download/get/responses/403/content/application~1json/example"},"paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1screenshots~1{screenshot_id}~1download/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1screenshots~1{screenshot_id}~1download/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1screenshots~1{screenshot_id}~1download/get/responses/500/content/application~1json/example"},"paths/~1shifts/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1shifts/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1shifts/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1shifts/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts/get/responses/401/content/application~1json/example"},"paths/~1shifts/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts/get/responses/403/content/application~1json/example"},"paths/~1shifts/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts/get/responses/500/content/application~1json/example"},"paths/~1shifts/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"name":"Morning Shift","member_ids":[42,43],"color":"#8276ff","timezone":"America/New_York","shift_type":"fixed","repeat":"weekly","working_days":["mon","tue","wed","thu","fri"],"start_date":"2026-07-20","start_time":"09:00","end_time":"17:00","min_hours":8},"id":"paths/~1shifts/post/requestBody/content/application~1json/example"},"paths/~1shifts/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1shifts/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1shifts/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1shifts/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts/post/responses/401/content/application~1json/example"},"paths/~1shifts/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts/post/responses/403/content/application~1json/example"},"paths/~1shifts/post/responses/422/content/application~1json/examples/fieldValidation":{"value":{"success":false,"errors":{"end_date":["The end date must be a date after start date."],"working_days":["These day(s) fall outside the start–end date range: sat."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"fieldValidation","summary":"Field validation failed","id":"paths/~1shifts/post/responses/422/content/application~1json/examples/fieldValidation"},"paths/~1shifts/post/responses/422/content/application~1json/examples/overlapConflict":{"value":{"success":false,"errors":{"member_ids":["The shift conflicts with existing shifts for one or more selected members."],"conflicts":[{"id":"3c1a2b4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d","name":"Evening Shift","shift_type":"fixed","repeat":"weekly","working_days":["mon","tue","wed","thu","fri"],"start_time":"16:00","end_time":"23:00","members":[{"id":71,"firstname":"Jane","lastname":"Doe","email":"jane@example.com"}]}]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"overlapConflict","summary":"Overlaps existing shifts for one or more members","id":"paths/~1shifts/post/responses/422/content/application~1json/examples/overlapConflict"},"paths/~1shifts/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts/post/responses/500/content/application~1json/example"},"paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1shifts~1{shift_id}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1shifts~1{shift_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}/get/responses/401/content/application~1json/example"},"paths/~1shifts~1{shift_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}/get/responses/403/content/application~1json/example"},"paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1shifts~1{shift_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1shifts~1{shift_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}/get/responses/500/content/application~1json/example"},"paths/~1shifts~1{shift_id}/put/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"name":"Morning Shift (updated)","member_ids":[42],"color":"#8276ff","timezone":"America/New_York","shift_type":"fixed","repeat":"weekly","working_days":["mon","tue","wed","thu"],"start_date":"2026-07-20","start_time":"10:00","end_time":"18:00","min_hours":8},"id":"paths/~1shifts~1{shift_id}/put/requestBody/content/application~1json/example"},"paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1shifts~1{shift_id}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1shifts~1{shift_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}/put/responses/401/content/application~1json/example"},"paths/~1shifts~1{shift_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}/put/responses/403/content/application~1json/example"},"paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1shifts~1{shift_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/fieldValidation":{"value":{"success":false,"errors":{"end_date":["The end date must be a date after start date."],"working_days":["These day(s) fall outside the start–end date range: sat."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"fieldValidation","summary":"Field validation failed","id":"paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/fieldValidation"},"paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/overlapConflict":{"value":{"success":false,"errors":{"member_ids":["The shift conflicts with existing shifts for one or more selected members."],"conflicts":[{"id":"3c1a2b4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d","name":"Evening Shift","shift_type":"fixed","repeat":"weekly","working_days":["mon","tue","wed","thu","fri"],"start_time":"16:00","end_time":"23:00","members":[{"id":71,"firstname":"Jane","lastname":"Doe","email":"jane@example.com"}]}]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"overlapConflict","summary":"Overlaps existing shifts for one or more members","id":"paths/~1shifts~1{shift_id}/put/responses/422/content/application~1json/examples/overlapConflict"},"paths/~1shifts~1{shift_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}/put/responses/500/content/application~1json/example"},"paths/~1shifts~1{shift_id}/delete/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1shifts~1{shift_id}/delete/requestBody/content/application~1json/example"},"paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1shifts~1{shift_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1shifts~1{shift_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}/delete/responses/401/content/application~1json/example"},"paths/~1shifts~1{shift_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}/delete/responses/403/content/application~1json/example"},"paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1shifts~1{shift_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1shifts~1{shift_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}/delete/responses/500/content/application~1json/example"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/requestBody/content/application~1json/example"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/401/content/application~1json/example"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/403/content/application~1json/example"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/alreadyAssigned":{"value":{"success":false,"error":"Member is already assigned to this shift.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"alreadyAssigned","summary":"Member already on the shift","id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/alreadyAssigned"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/overlapConflict":{"value":{"success":false,"errors":{"member_ids":["The shift conflicts with existing shifts for one or more selected members."],"conflicts":[{"id":"3c1a2b4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d","name":"Evening Shift","shift_type":"fixed","repeat":"weekly","working_days":["mon","tue","wed","thu","fri"],"start_time":"16:00","end_time":"23:00","members":[{"id":71,"firstname":"Jane","lastname":"Doe","email":"jane@example.com"}]}]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"overlapConflict","summary":"Overlaps another shift the member already holds","id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/overlapConflict"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/invalidMember":{"value":{"success":false,"errors":{"member_id":["You do not have access to some of the selected members."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalidMember","summary":"Member id not in this workspace","id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/422/content/application~1json/examples/invalidMember"},"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}~1assign~1{member_id}/post/responses/500/content/application~1json/example"},"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/requestBody/content/application~1json/example"},"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/401/content/application~1json/example"},"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/403/content/application~1json/example"},"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1shifts~1{shift_id}~1unassign~1{member_id}/delete/responses/500/content/application~1json/example"},"paths/~1webhooks/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1webhooks/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1webhooks/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1webhooks/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks/get/responses/401/content/application~1json/example"},"paths/~1webhooks/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Please verify your email to access this feature.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks/get/responses/403/content/application~1json/example"},"paths/~1webhooks/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks/get/responses/500/content/application~1json/example"},"paths/~1webhooks/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1webhooks/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1webhooks/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1webhooks/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks/post/responses/401/content/application~1json/example"},"paths/~1webhooks/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Please verify your email to access this feature.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks/post/responses/403/content/application~1json/example"},"paths/~1webhooks/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks/post/responses/500/content/application~1json/example"},"paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1webhooks~1{webhookId}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1webhooks~1{webhookId}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks~1{webhookId}/get/responses/401/content/application~1json/example"},"paths/~1webhooks~1{webhookId}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Please verify your email to access this feature.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks~1{webhookId}/get/responses/403/content/application~1json/example"},"paths/~1webhooks~1{webhookId}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks~1{webhookId}/get/responses/500/content/application~1json/example"},"paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1webhooks~1{webhookId}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1webhooks~1{webhookId}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks~1{webhookId}/put/responses/401/content/application~1json/example"},"paths/~1webhooks~1{webhookId}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Please verify your email to access this feature.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks~1{webhookId}/put/responses/403/content/application~1json/example"},"paths/~1webhooks~1{webhookId}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks~1{webhookId}/put/responses/500/content/application~1json/example"},"paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1webhooks~1{webhookId}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1webhooks~1{webhookId}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks~1{webhookId}/delete/responses/401/content/application~1json/example"},"paths/~1webhooks~1{webhookId}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Please verify your email to access this feature.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks~1{webhookId}/delete/responses/403/content/application~1json/example"},"paths/~1webhooks~1{webhookId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1webhooks~1{webhookId}/delete/responses/500/content/application~1json/example"},"paths/~1assets/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1assets/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1assets/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1assets/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1assets/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1assets/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1assets/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets/get/responses/401/content/application~1json/example"},"paths/~1assets/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets/get/responses/403/content/application~1json/example"},"paths/~1assets/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1assets/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1assets/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1assets/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1assets/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1assets/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1assets/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets/get/responses/500/content/application~1json/example"},"paths/~1assets/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"category":"computers","name":"MacBook Pro 16\"","brand":"Apple","model":"A2780","notes":"Issued to design team.","properties":{"cpu":"M3 Pro","ram":"32GB"},"custom_fields":{"warranty_expires":"2028-01-15"}},"id":"paths/~1assets/post/requestBody/content/application~1json/example"},"paths/~1assets/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1assets/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1assets/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1assets/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1assets/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1assets/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1assets/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets/post/responses/401/content/application~1json/example"},"paths/~1assets/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets/post/responses/403/content/application~1json/example"},"paths/~1assets/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1assets/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1assets/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1assets/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1assets/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1assets/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1assets/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets/post/responses/422/content/application~1json/example"},"paths/~1assets/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets/post/responses/500/content/application~1json/example"},"paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1assets~1{asset_id}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1assets~1{asset_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/get/responses/401/content/application~1json/example"},"paths/~1assets~1{asset_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/get/responses/403/content/application~1json/example"},"paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1assets~1{asset_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1assets~1{asset_id}/get/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/get/responses/422/content/application~1json/example"},"paths/~1assets~1{asset_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/get/responses/500/content/application~1json/example"},"paths/~1assets~1{asset_id}/put/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"name":"MacBook Pro 16\" (Updated)","notes":"Reassigned to engineering team.","properties":{"ram":"64GB"},"custom_fields":{"warranty_expires":"2029-01-15"}},"id":"paths/~1assets~1{asset_id}/put/requestBody/content/application~1json/example"},"paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1assets~1{asset_id}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1assets~1{asset_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/put/responses/401/content/application~1json/example"},"paths/~1assets~1{asset_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/put/responses/403/content/application~1json/example"},"paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1assets~1{asset_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1assets~1{asset_id}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/put/responses/422/content/application~1json/example"},"paths/~1assets~1{asset_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/put/responses/500/content/application~1json/example"},"paths/~1assets~1{asset_id}/delete/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1assets~1{asset_id}/delete/requestBody/content/application~1json/example"},"paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1assets~1{asset_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1assets~1{asset_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/delete/responses/401/content/application~1json/example"},"paths/~1assets~1{asset_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/delete/responses/403/content/application~1json/example"},"paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1assets~1{asset_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1assets~1{asset_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/delete/responses/422/content/application~1json/example"},"paths/~1assets~1{asset_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}/delete/responses/500/content/application~1json/example"},"paths/~1assets~1{asset_id}~1restore/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1assets~1{asset_id}~1restore/post/requestBody/content/application~1json/example"},"paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1assets~1{asset_id}~1restore/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1assets~1{asset_id}~1restore/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1restore/post/responses/401/content/application~1json/example"},"paths/~1assets~1{asset_id}~1restore/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1restore/post/responses/403/content/application~1json/example"},"paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1assets~1{asset_id}~1restore/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1assets~1{asset_id}~1restore/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1restore/post/responses/422/content/application~1json/example"},"paths/~1assets~1{asset_id}~1restore/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1restore/post/responses/500/content/application~1json/example"},"paths/~1assets~1{asset_id}~1assign/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"assigned_to_user_id":100},"id":"paths/~1assets~1{asset_id}~1assign/post/requestBody/content/application~1json/example"},"paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1assets~1{asset_id}~1assign/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1assets~1{asset_id}~1assign/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1assign/post/responses/401/content/application~1json/example"},"paths/~1assets~1{asset_id}~1assign/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1assign/post/responses/403/content/application~1json/example"},"paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1assets~1{asset_id}~1assign/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1assets~1{asset_id}~1assign/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1assign/post/responses/422/content/application~1json/example"},"paths/~1assets~1{asset_id}~1assign/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1assign/post/responses/500/content/application~1json/example"},"paths/~1assets~1{asset_id}~1unassign/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1assets~1{asset_id}~1unassign/post/requestBody/content/application~1json/example"},"paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1assets~1{asset_id}~1unassign/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1assets~1{asset_id}~1unassign/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1unassign/post/responses/401/content/application~1json/example"},"paths/~1assets~1{asset_id}~1unassign/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1unassign/post/responses/403/content/application~1json/example"},"paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/member_not_found"},"paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1assets~1{asset_id}~1unassign/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1assets~1{asset_id}~1unassign/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1unassign/post/responses/422/content/application~1json/example"},"paths/~1assets~1{asset_id}~1unassign/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1assets~1{asset_id}~1unassign/post/responses/500/content/application~1json/example"},"paths/~1asset-types/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1asset-types/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1asset-types/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1asset-types/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types/get/responses/401/content/application~1json/example"},"paths/~1asset-types/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types/get/responses/403/content/application~1json/example"},"paths/~1asset-types/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types/get/responses/500/content/application~1json/example"},"paths/~1asset-types/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"category":"computers","name":"Workstation"},"id":"paths/~1asset-types/post/requestBody/content/application~1json/example"},"paths/~1asset-types/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1asset-types/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1asset-types/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1asset-types/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types/post/responses/401/content/application~1json/example"},"paths/~1asset-types/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types/post/responses/403/content/application~1json/example"},"paths/~1asset-types/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types/post/responses/422/content/application~1json/example"},"paths/~1asset-types/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types/post/responses/500/content/application~1json/example"},"paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1asset-types~1{type_id}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1asset-types~1{type_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/get/responses/401/content/application~1json/example"},"paths/~1asset-types~1{type_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/get/responses/403/content/application~1json/example"},"paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1asset-types~1{type_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1asset-types~1{type_id}/get/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/get/responses/422/content/application~1json/example"},"paths/~1asset-types~1{type_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/get/responses/500/content/application~1json/example"},"paths/~1asset-types~1{type_id}/put/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"name":"Workstation Pro"},"id":"paths/~1asset-types~1{type_id}/put/requestBody/content/application~1json/example"},"paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1asset-types~1{type_id}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1asset-types~1{type_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/put/responses/401/content/application~1json/example"},"paths/~1asset-types~1{type_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/put/responses/403/content/application~1json/example"},"paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1asset-types~1{type_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1asset-types~1{type_id}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/put/responses/422/content/application~1json/example"},"paths/~1asset-types~1{type_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/put/responses/500/content/application~1json/example"},"paths/~1asset-types~1{type_id}/delete/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1asset-types~1{type_id}/delete/requestBody/content/application~1json/example"},"paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1asset-types~1{type_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1asset-types~1{type_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/delete/responses/401/content/application~1json/example"},"paths/~1asset-types~1{type_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/delete/responses/403/content/application~1json/example"},"paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1asset-types~1{type_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1asset-types~1{type_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/delete/responses/422/content/application~1json/example"},"paths/~1asset-types~1{type_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-types~1{type_id}/delete/responses/500/content/application~1json/example"},"paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1asset-custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1asset-custom-fields/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields/get/responses/401/content/application~1json/example"},"paths/~1asset-custom-fields/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields/get/responses/403/content/application~1json/example"},"paths/~1asset-custom-fields/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields/get/responses/500/content/application~1json/example"},"paths/~1asset-custom-fields/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"name":"Warranty Expires","type":"date","category":"computers","sort_order":0},"id":"paths/~1asset-custom-fields/post/requestBody/content/application~1json/example"},"paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1asset-custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1asset-custom-fields/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields/post/responses/401/content/application~1json/example"},"paths/~1asset-custom-fields/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields/post/responses/403/content/application~1json/example"},"paths/~1asset-custom-fields/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields/post/responses/422/content/application~1json/example"},"paths/~1asset-custom-fields/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields/post/responses/500/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1asset-custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1asset-custom-fields~1{field_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/get/responses/401/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/get/responses/403/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1asset-custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1asset-custom-fields~1{field_id}/get/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/get/responses/422/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/get/responses/500/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/put/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"name":"Warranty Until","sort_order":1},"id":"paths/~1asset-custom-fields~1{field_id}/put/requestBody/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1asset-custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1asset-custom-fields~1{field_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/put/responses/401/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/put/responses/403/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1asset-custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1asset-custom-fields~1{field_id}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/put/responses/422/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/put/responses/500/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/delete/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1asset-custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1asset-custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1asset-custom-fields~1{field_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/delete/responses/401/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/delete/responses/403/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1asset-custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1asset-custom-fields~1{field_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/delete/responses/422/content/application~1json/example"},"paths/~1asset-custom-fields~1{field_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1asset-custom-fields~1{field_id}/delete/responses/500/content/application~1json/example"},"paths/~1custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1custom-fields/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1custom-fields/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1custom-fields/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields/get/responses/401/content/application~1json/example"},"paths/~1custom-fields/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields/get/responses/403/content/application~1json/example"},"paths/~1custom-fields/get/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields/get/responses/422/content/application~1json/example"},"paths/~1custom-fields/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields/get/responses/500/content/application~1json/example"},"paths/~1custom-fields/post/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"name":"StripeID","type":"text","target":"project"},"id":"paths/~1custom-fields/post/requestBody/content/application~1json/example"},"paths/~1custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1custom-fields/post/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1custom-fields/post/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1custom-fields/post/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields/post/responses/401/content/application~1json/example"},"paths/~1custom-fields/post/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields/post/responses/403/content/application~1json/example"},"paths/~1custom-fields/post/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields/post/responses/422/content/application~1json/example"},"paths/~1custom-fields/post/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields/post/responses/500/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1custom-fields~1{field_id}/get/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1custom-fields~1{field_id}/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/get/responses/401/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/get/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/get/responses/403/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/member_not_found"},"paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1custom-fields~1{field_id}/get/responses/404/content/application~1json/examples/user_not_found"},"paths/~1custom-fields~1{field_id}/get/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/get/responses/422/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/get/responses/500/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/put/requestBody/content/application~1json/example":{"value":{"workspace_id":1,"name":"Stripe Customer ID"},"id":"paths/~1custom-fields~1{field_id}/put/requestBody/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1custom-fields~1{field_id}/put/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1custom-fields~1{field_id}/put/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/put/responses/401/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/put/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/put/responses/403/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/member_not_found"},"paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1custom-fields~1{field_id}/put/responses/404/content/application~1json/examples/user_not_found"},"paths/~1custom-fields~1{field_id}/put/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/put/responses/422/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/put/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/put/responses/500/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/delete/requestBody/content/application~1json/example":{"value":{"workspace_id":1},"id":"paths/~1custom-fields~1{field_id}/delete/requestBody/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id":{"value":{"success":false,"error":"workspace_id parameter is required","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"missing_workspace_id","summary":"missing_workspace_id","id":"paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/missing_workspace_id"},"paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id":{"value":{"success":false,"error":"workspace_id must be a valid integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_workspace_id","summary":"invalid_workspace_id","id":"paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_workspace_id"},"paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination":{"value":{"success":false,"error":"page must be a positive integer","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"invalid_pagination","summary":"invalid_pagination","id":"paths/~1custom-fields~1{field_id}/delete/responses/400/content/application~1json/examples/invalid_pagination"},"paths/~1custom-fields~1{field_id}/delete/responses/401/content/application~1json/example":{"value":{"success":false,"error":"Unauthorized","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/delete/responses/401/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"error":"Access denied. Only Owners and Executive Managers can perform this action.","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/delete/responses/403/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found":{"value":{"success":false,"error":"Workspace not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"workspace_not_found","summary":"workspace_not_found","id":"paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/workspace_not_found"},"paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found":{"value":{"success":false,"error":"Member not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"member_not_found","summary":"member_not_found","id":"paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/member_not_found"},"paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"error":"User not found","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"key":"user_not_found","summary":"user_not_found","id":"paths/~1custom-fields~1{field_id}/delete/responses/404/content/application~1json/examples/user_not_found"},"paths/~1custom-fields~1{field_id}/delete/responses/422/content/application~1json/example":{"value":{"success":false,"errors":{"email":["The email field is required."],"firstname":["The firstname field is required."],"role":["The selected role is invalid."]},"meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/delete/responses/422/content/application~1json/example"},"paths/~1custom-fields~1{field_id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"error":"Failed to process request","meta":{"api_version":"2.0.0","timestamp":"2024-01-15T10:30:00Z"}},"id":"paths/~1custom-fields~1{field_id}/delete/responses/500/content/application~1json/example"}},"securitySchemeStore":{"oauth2":{"id":"oauth2","type":"oauth2","description":"OAuth2 authentication using Authorization Code flow. Register your application to get client credentials.","flows":{"authorizationCode":{"authorizationUrl":"https://app.webwork-tracker.com/oauth/authorize","tokenUrl":"https://api.webwork-tracker.com/oauth/token","refreshUrl":"https://api.webwork-tracker.com/oauth/token","scopes":{"read":"Read only. GET requests to retrieve data; cannot create, change or delete anything.","write":"Read and write. POST, PUT, PATCH and DELETE, including deletes, plus GET. What most integrations need.","admin":"Everything write allows, plus the AI assistant's approval actions (timesheets, leave, time requests). Not required to delete records over the REST API."}}}},"apiKey":{"id":"apiKey","type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access token for API authentication. Generate tokens in Settings > REST API."},"children":[]}]}]}]}},"servers":[{"url":"https://api.webwork-tracker.com/api/v2","description":"Production Server"}]},"options":{"hideDownloadButtons":true,"codeSamples":{"skipOptionalParameters":true,"languages":[{"lang":"curl","label":"cURL"},{"lang":"JavaScript","label":"JS"},{"lang":"Python","label":"Python"},{"lang":"PHP","label":"PHP"},{"lang":"Go"},{"lang":"Java8+Apache","label":"Java 8"},{"lang":"C#","label":"C#"},{"lang":"C++","label":"C++"}]},"hideSidebar":true,"mockServer":{"url":"/_mock/api","position":"off","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/@v2/api.json?download"},{"url":"/_bundle/@v2/api.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"WebWork Time Tracker API V2 Documentation","description":"Modern REST API for WebWork Time Tracker with OAuth2 authentication. This API provides access to workspaces, members, projects, and time tracking features.\n\n**Scopes are enforced.** `read` permits GET only; `write` permits POST/PUT/PATCH/DELETE (including deletes) as well as GET; `admin` adds the AI assistant's approval actions. A token without the required scope receives 403 with `meta.required_scope` and `meta.granted_scope`.\n\n**Rate Limit**: 150 requests per minute per user, plus a maximum of 20 write requests per second. Exceeding either returns 429 with a `Retry-After` header."}},"baseSlug":"/api","routesMapping":{}}