{"openapi":"3.0.1","info":{"title":"ThinkNCollab Agent API","description":"API for AI agents and ChatGPT to manage ThinkNCollab rooms, tasks, and comments.","version":"1.0.0"},"servers":[{"url":"https://thinkncollab.com"}],"paths":{"/api/v2/rooms":{"get":{"operationId":"listRooms","summary":"List user workspaces / rooms","responses":{"200":{"description":"List of rooms","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v2/rooms/{roomId}/access":{"get":{"operationId":"getRoomAccess","summary":"Get room access, role, and board IDs","parameters":[{"name":"roomId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Room access details","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/tasks/{taskId}/api/spec":{"get":{"operationId":"getTaskSpec","summary":"Fetch technical spec, acceptance criteria, and Judge config for a task","parameters":[{"name":"taskId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Task specification and acceptance criteria","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/tasks/{taskId}/api/start":{"post":{"operationId":"startTask","summary":"Mark task as in-progress","parameters":[{"name":"taskId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Task started successfully","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/tasks/{taskId}/api/comment":{"post":{"operationId":"addComment","summary":"Post a comment to the task activity timeline","parameters":[{"name":"taskId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["comment"],"properties":{"comment":{"type":"string","description":"Comment text content"}}}}}},"responses":{"200":{"description":"Comment created","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/tasks/{taskId}/api/verify":{"post":{"operationId":"verifyTask","summary":"Submit task for automated Server-Side Judge verification","parameters":[{"name":"taskId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tunnelUrl":{"type":"string","description":"Ephemeral sandbox preview URL"},"comment":{"type":"string","description":"Implementation notes"}}}}}},"responses":{"200":{"description":"Verification result verdict","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"bearerAuth":[]}]}