{"openapi":"3.1.0","info":{"title":"GlooFloo Public API","version":"2026-08-31.1","description":"Versioned service-account API with tenant-scoped operations and explicitly scoped platform operations. Runtime authorization remains authoritative."},"servers":[{"url":"https://api.gloofloo.com"}],"paths":{"/api/v1/projects":{"get":{"operationId":"listProjects","summary":"List projects visible to the service account","security":[{"bearerAuth":[]}],"x-required-scope":"projects:read","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":200},"example":50}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"tenantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":160},"ownerUserId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"ownerName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"status":{"type":"string","enum":["draft","planned","active","on-hold","closing","closed","completed","cancelled"]},"progress":{"type":"integer","minimum":0,"maximum":100},"startDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"targetDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"color":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"planningContext":{"type":"string","enum":["business","event","travel","home-renovation","education","personal-goal","custom"]},"terminologyMode":{"type":"string","enum":["smart","simple","professional"]},"operatingModel":{"type":"object","properties":{"schemaVersion":{"type":"number","const":1},"source":{"type":"string","enum":["compatibility","configured"]},"context":{"type":"string","enum":["business","event","travel","home-renovation","education","personal-goal","custom"]},"terminologyMode":{"type":"string","enum":["smart","simple","professional"]},"deliveryApproach":{"type":"string","enum":["adaptive","predictive","iterative","lightweight"]},"planningDepth":{"type":"string","enum":["light","standard","advanced"]},"governanceLevel":{"type":"string","enum":["light","standard","controlled"]},"capabilities":{"minItems":1,"type":"array","items":{"type":"string","enum":["overview","work","timeline","planning","agile","controls","procurement","health","reports"]}}},"required":["schemaVersion","source","context","terminologyMode","deliveryApproach","planningDepth","governanceLevel","capabilities"],"additionalProperties":false},"operatingModelVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"budgetVariancePct":{"anyOf":[{"type":"number"},{"type":"null"}]},"teamCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","tenantId","name","ownerUserId","ownerName","status","progress","startDate","targetDate","color"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["items","nextCursor"],"additionalProperties":false},"example":{"items":[{"id":"11111111-1111-4111-8111-111111111111","tenantId":"22222222-2222-4222-8222-222222222222","name":"Global ERP rollout","ownerUserId":"33333333-3333-4333-8333-333333333333","ownerName":"Amina Hassan","status":"active","progress":42,"startDate":"2026-08-01","targetDate":"2027-03-31","color":"#22b8cf","budgetVariancePct":3.5,"teamCount":18}],"nextCursor":"MTExMTExMTEtMTExMS00MTExLTgxMTEtMTExMTExMTExMTEx"}}}},"401":{"description":"Authentication is required","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/unauthorized","status":401,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"UNAUTHORIZED","code":"UNAUTHORIZED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"403":{"description":"The API key lacks the required scope","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/insufficient-scope","status":403,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"INSUFFICIENT_SCOPE","code":"INSUFFICIENT_SCOPE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"413":{"description":"The request payload is too large","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/payload-too-large","status":413,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PAYLOAD_TOO_LARGE","code":"PAYLOAD_TOO_LARGE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"422":{"description":"The request payload is invalid","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/validation","status":422,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"VALIDATION","code":"VALIDATION","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"429":{"description":"The request rate limit was exceeded","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/rate-limited","status":429,"title":"Too many requests","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"RATE_LIMITED","code":"RATE_LIMITED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}},"500":{"description":"The request could not be completed","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/public-api-failure","status":500,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PUBLIC_API_FAILURE","code":"PUBLIC_API_FAILURE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"503":{"description":"A required API dependency is unavailable","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/service-unavailable","status":503,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"SERVICE_UNAVAILABLE","code":"SERVICE_UNAVAILABLE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}}}},"post":{"operationId":"createProject","summary":"Create a project","security":[{"bearerAuth":[]}],"x-required-scope":"projects:write","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":160},"description":{"default":"","type":"string","maxLength":10000},"ownerUserId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"startDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"targetDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"planningContext":{"default":"business","type":"string","enum":["business","event","travel","home-renovation","education","personal-goal","custom"]},"terminologyMode":{"default":"professional","type":"string","enum":["smart","simple","professional"]},"operatingModel":{"type":"object","properties":{"schemaVersion":{"type":"number","const":1},"source":{"type":"string","const":"configured"},"context":{"type":"string","enum":["business","event","travel","home-renovation","education","personal-goal","custom"]},"terminologyMode":{"type":"string","enum":["smart","simple","professional"]},"deliveryApproach":{"type":"string","enum":["adaptive","predictive","iterative","lightweight"]},"planningDepth":{"type":"string","enum":["light","standard","advanced"]},"governanceLevel":{"type":"string","enum":["light","standard","controlled"]},"capabilities":{"minItems":1,"type":"array","items":{"type":"string","enum":["overview","work","timeline","planning","agile","controls","procurement","health","reports"]}}},"required":["schemaVersion","source","context","terminologyMode","deliveryApproach","planningDepth","governanceLevel","capabilities"],"additionalProperties":false}},"required":["name","description","ownerUserId","startDate","targetDate","planningContext","terminologyMode"],"additionalProperties":false},"example":{"name":"Global ERP rollout","description":"Replace regional ERP instances with one governed platform.","ownerUserId":"33333333-3333-4333-8333-333333333333","startDate":"2026-08-01","targetDate":"2027-03-31"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"tenantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":160},"ownerUserId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"ownerName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"status":{"type":"string","enum":["draft","planned","active","on-hold","closing","closed","completed","cancelled"]},"progress":{"type":"integer","minimum":0,"maximum":100},"startDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"targetDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"color":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"planningContext":{"type":"string","enum":["business","event","travel","home-renovation","education","personal-goal","custom"]},"terminologyMode":{"type":"string","enum":["smart","simple","professional"]},"operatingModel":{"type":"object","properties":{"schemaVersion":{"type":"number","const":1},"source":{"type":"string","enum":["compatibility","configured"]},"context":{"type":"string","enum":["business","event","travel","home-renovation","education","personal-goal","custom"]},"terminologyMode":{"type":"string","enum":["smart","simple","professional"]},"deliveryApproach":{"type":"string","enum":["adaptive","predictive","iterative","lightweight"]},"planningDepth":{"type":"string","enum":["light","standard","advanced"]},"governanceLevel":{"type":"string","enum":["light","standard","controlled"]},"capabilities":{"minItems":1,"type":"array","items":{"type":"string","enum":["overview","work","timeline","planning","agile","controls","procurement","health","reports"]}}},"required":["schemaVersion","source","context","terminologyMode","deliveryApproach","planningDepth","governanceLevel","capabilities"],"additionalProperties":false},"operatingModelVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"budgetVariancePct":{"anyOf":[{"type":"number"},{"type":"null"}]},"teamCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","tenantId","name","ownerUserId","ownerName","status","progress","startDate","targetDate","color"],"additionalProperties":false},"example":{"id":"11111111-1111-4111-8111-111111111111","tenantId":"22222222-2222-4222-8222-222222222222","name":"Global ERP rollout","ownerUserId":"33333333-3333-4333-8333-333333333333","ownerName":"Amina Hassan","status":"active","progress":42,"startDate":"2026-08-01","targetDate":"2027-03-31","color":"#22b8cf","budgetVariancePct":3.5,"teamCount":18}}}},"401":{"description":"Authentication is required","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/unauthorized","status":401,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"UNAUTHORIZED","code":"UNAUTHORIZED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"403":{"description":"The API key lacks the required scope","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/insufficient-scope","status":403,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"INSUFFICIENT_SCOPE","code":"INSUFFICIENT_SCOPE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"413":{"description":"The request payload is too large","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/payload-too-large","status":413,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PAYLOAD_TOO_LARGE","code":"PAYLOAD_TOO_LARGE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"422":{"description":"The request payload is invalid","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/validation","status":422,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"VALIDATION","code":"VALIDATION","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"429":{"description":"The request rate limit was exceeded","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/rate-limited","status":429,"title":"Too many requests","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"RATE_LIMITED","code":"RATE_LIMITED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}},"500":{"description":"The request could not be completed","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/public-api-failure","status":500,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PUBLIC_API_FAILURE","code":"PUBLIC_API_FAILURE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"503":{"description":"A required API dependency is unavailable","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/service-unavailable","status":503,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"SERVICE_UNAVAILABLE","code":"SERVICE_UNAVAILABLE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}}}}},"/api/v1/tasks":{"post":{"operationId":"createTask","summary":"Create a project task","security":[{"bearerAuth":[]}],"x-required-scope":"tasks:write","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string","minLength":1,"maxLength":240},"phaseId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["projectId","title"],"additionalProperties":false},"example":{"projectId":"11111111-1111-4111-8111-111111111111","title":"Approve target operating model"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"tenantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string","minLength":1,"maxLength":240},"status":{"type":"string","enum":["backlog","ready","in-progress","blocked","done","cancelled"]},"assigneeUserId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"startAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"dueAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"progress":{"type":"integer","minimum":0,"maximum":100},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["id","tenantId","projectId","title","status","assigneeUserId","startAt","dueAt","progress","version"],"additionalProperties":false},"example":{"id":"44444444-4444-4444-8444-444444444444","tenantId":"22222222-2222-4222-8222-222222222222","projectId":"11111111-1111-4111-8111-111111111111","title":"Approve target operating model","status":"backlog","assigneeUserId":null,"startAt":null,"dueAt":null,"progress":0,"version":1}}}},"401":{"description":"Authentication is required","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/unauthorized","status":401,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"UNAUTHORIZED","code":"UNAUTHORIZED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"403":{"description":"The API key lacks the required scope","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/insufficient-scope","status":403,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"INSUFFICIENT_SCOPE","code":"INSUFFICIENT_SCOPE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"413":{"description":"The request payload is too large","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/payload-too-large","status":413,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PAYLOAD_TOO_LARGE","code":"PAYLOAD_TOO_LARGE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"422":{"description":"The request payload is invalid","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/validation","status":422,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"VALIDATION","code":"VALIDATION","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"429":{"description":"The request rate limit was exceeded","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/rate-limited","status":429,"title":"Too many requests","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"RATE_LIMITED","code":"RATE_LIMITED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}},"500":{"description":"The request could not be completed","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/public-api-failure","status":500,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PUBLIC_API_FAILURE","code":"PUBLIC_API_FAILURE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"503":{"description":"A required API dependency is unavailable","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/service-unavailable","status":503,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"SERVICE_UNAVAILABLE","code":"SERVICE_UNAVAILABLE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}}}}},"/api/v1/integrations/catalog":{"get":{"operationId":"listIntegrationProviders","summary":"List available integration providers","security":[{"bearerAuth":[]}],"x-required-scope":"integrations:read","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["jira","asana","monday","clickup","trello","ms-project","ms-planner","github","gitlab","azure-devops","linear","slack","teams","google","notion"]},"name":{"type":"string"},"category":{"type":"string","enum":["project-management","source-control","collaboration","productivity"]},"capabilities":{"type":"array","items":{"type":"string","enum":["import","export","two-way-sync","webhooks"]}},"oauthScopes":{"type":"array","items":{"type":"string"}},"connectorCapabilities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["jira-project","teams-channel","outlook-calendar","outlook-mail","planner","google-calendar","gmail-contextual","gmail-label-watch","google-tasks"]},"name":{"type":"string"},"oauthScopes":{"type":"array","items":{"type":"string"}},"directions":{"type":"array","items":{"type":"string","enum":["import","export","two_way"]}},"requiresResourceSelection":{"type":"boolean"},"defaultEnabled":{"type":"boolean"},"risk":{"type":"string","enum":["standard","elevated"]}},"required":["id","name","oauthScopes","directions","requiresResourceSelection","defaultEnabled","risk"],"additionalProperties":false}},"marketplaceReady":{"type":"boolean"}},"required":["id","name","category","capabilities","oauthScopes","marketplaceReady"],"additionalProperties":false}}},"required":["providers"],"additionalProperties":false},"example":{"providers":[{"id":"github","name":"GitHub","category":"source-control","capabilities":["import","two-way-sync","webhooks"],"oauthScopes":[],"marketplaceReady":true}]}}}},"401":{"description":"Authentication is required","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/unauthorized","status":401,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"UNAUTHORIZED","code":"UNAUTHORIZED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"403":{"description":"The API key lacks the required scope","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/insufficient-scope","status":403,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"INSUFFICIENT_SCOPE","code":"INSUFFICIENT_SCOPE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"413":{"description":"The request payload is too large","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/payload-too-large","status":413,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PAYLOAD_TOO_LARGE","code":"PAYLOAD_TOO_LARGE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"422":{"description":"The request payload is invalid","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/validation","status":422,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"VALIDATION","code":"VALIDATION","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"429":{"description":"The request rate limit was exceeded","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/rate-limited","status":429,"title":"Too many requests","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"RATE_LIMITED","code":"RATE_LIMITED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}},"500":{"description":"The request could not be completed","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/public-api-failure","status":500,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PUBLIC_API_FAILURE","code":"PUBLIC_API_FAILURE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"503":{"description":"A required API dependency is unavailable","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/service-unavailable","status":503,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"SERVICE_UNAVAILABLE","code":"SERVICE_UNAVAILABLE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}}}}},"/api/v1/integrations/sync":{"post":{"operationId":"enqueueIntegrationSync","summary":"Enqueue an integration synchronization","security":[{"bearerAuth":[]}],"x-required-scope":"integrations:write","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"installationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"connectedResourceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"direction":{"type":"string","enum":["import","export","two_way"]},"idempotencyKey":{"type":"string","minLength":16,"maxLength":200}},"required":["installationId","direction","idempotencyKey"],"additionalProperties":false},"example":{"installationId":"55555555-5555-4555-8555-555555555555","direction":"two_way","idempotencyKey":"erp-rollout-sync-2026-07-27T08:00:00Z"}}}},"responses":{"202":{"description":"Successful response","content":{"application/json":{"schema":{"type":"string","enum":["queued","duplicate"]},"example":"queued"}}},"401":{"description":"Authentication is required","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/unauthorized","status":401,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"UNAUTHORIZED","code":"UNAUTHORIZED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"403":{"description":"The API key lacks the required scope","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/insufficient-scope","status":403,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"INSUFFICIENT_SCOPE","code":"INSUFFICIENT_SCOPE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"413":{"description":"The request payload is too large","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/payload-too-large","status":413,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PAYLOAD_TOO_LARGE","code":"PAYLOAD_TOO_LARGE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"422":{"description":"The request payload is invalid","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/validation","status":422,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"VALIDATION","code":"VALIDATION","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"429":{"description":"The request rate limit was exceeded","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/rate-limited","status":429,"title":"Too many requests","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"RATE_LIMITED","code":"RATE_LIMITED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}},"500":{"description":"The request could not be completed","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/public-api-failure","status":500,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PUBLIC_API_FAILURE","code":"PUBLIC_API_FAILURE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"503":{"description":"A required API dependency is unavailable","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/service-unavailable","status":503,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"SERVICE_UNAVAILABLE","code":"SERVICE_UNAVAILABLE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}}}}},"/api/v1/platform/analytics/export":{"get":{"operationId":"exportPlatformAnalytics","summary":"Export bounded PII-free platform analytics","security":[{"bearerAuth":[]}],"x-required-scope":"platform-analytics:read","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"example":"2026-08-31"},{"name":"to","in":"query","required":true,"schema":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"example":"2026-08-31"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"schemaVersion":{"type":"string","const":"2026-08-31"},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"timezone":{"type":"string","const":"UTC"},"range":{"type":"object","properties":{"from":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"to":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"inclusiveDays":{"type":"integer","minimum":1,"maximum":366}},"required":["from","to","inclusiveDays"],"additionalProperties":false},"definitions":{"type":"object","properties":{"registration":{"type":"string"},"activeUser":{"type":"string"},"currency":{"type":"string"},"subscriptionHistory":{"type":"string"}},"required":["registration","activeUser","currency","subscriptionHistory"],"additionalProperties":false},"current":{"type":"object","properties":{"workspaces":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"active":{"type":"integer","minimum":0,"maximum":9007199254740991},"trial":{"type":"integer","minimum":0,"maximum":9007199254740991},"suspended":{"type":"integer","minimum":0,"maximum":9007199254740991},"delinquent":{"type":"integer","minimum":0,"maximum":9007199254740991},"archived":{"type":"integer","minimum":0,"maximum":9007199254740991},"pending":{"type":"integer","minimum":0,"maximum":9007199254740991},"other":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total","active","trial","suspended","delinquent","archived","pending","other"],"additionalProperties":false},"registrations":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total"],"additionalProperties":false},"subscriptions":{"type":"object","properties":{"active":{"type":"integer","minimum":0,"maximum":9007199254740991},"trialing":{"type":"integer","minimum":0,"maximum":9007199254740991},"pastDue":{"type":"integer","minimum":0,"maximum":9007199254740991},"canceled":{"type":"integer","minimum":0,"maximum":9007199254740991},"other":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["active","trialing","pastDue","canceled","other"],"additionalProperties":false},"recurringRevenue":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":3,"maxLength":3},"mrrMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"arrMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["currency","mrrMinor","arrMinor"],"additionalProperties":false}},"commercial":{"type":"object","properties":{"canceledLast30Days":{"type":"integer","minimum":0,"maximum":9007199254740991},"churnBasisPoints":{"type":"integer","minimum":0,"maximum":10000},"trialConversionsLast30Days":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["canceledLast30Days","churnBasisPoints","trialConversionsLast30Days"],"additionalProperties":false}},"required":["workspaces","registrations","subscriptions","recurringRevenue","commercial"],"additionalProperties":false},"daily":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"registrations":{"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"accepted":{"type":"integer","minimum":0,"maximum":9007199254740991},"rejected":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"completed":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["attempts","accepted","rejected","failed","completed"],"additionalProperties":false},"activeUsers":{"type":"object","properties":{"dau":{"type":"integer","minimum":0,"maximum":9007199254740991},"wau":{"type":"integer","minimum":0,"maximum":9007199254740991},"mau":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["dau","wau","mau"],"additionalProperties":false},"workspaces":{"type":"object","properties":{"created":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["created"],"additionalProperties":false},"subscriptions":{"type":"object","properties":{"paidPurchases":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["paidPurchases"],"additionalProperties":false},"revenue":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":3,"maxLength":3},"grossMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"refundsMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"netMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["currency","grossMinor","refundsMinor","netMinor"],"additionalProperties":false}},"marketing":{"type":"object","properties":{"pageViews":{"type":"integer","minimum":0,"maximum":9007199254740991},"signupCtaClicks":{"type":"integer","minimum":0,"maximum":9007199254740991},"pricingSelections":{"type":"integer","minimum":0,"maximum":9007199254740991},"leads":{"type":"integer","minimum":0,"maximum":9007199254740991},"checkoutStarted":{"type":"integer","minimum":0,"maximum":9007199254740991},"paymentCompleted":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["pageViews","signupCtaClicks","pricingSelections","leads","checkoutStarted","paymentCompleted"],"additionalProperties":false},"health":{"type":"object","properties":{"paymentAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"paymentFailures":{"type":"integer","minimum":0,"maximum":9007199254740991},"refundFailures":{"type":"integer","minimum":0,"maximum":9007199254740991},"registrationFailures":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["paymentAttempts","paymentFailures","refundFailures","registrationFailures"],"additionalProperties":false}},"required":["date","registrations","activeUsers","workspaces","subscriptions","revenue","marketing","health"],"additionalProperties":false}}},"required":["schemaVersion","generatedAt","timezone","range","definitions","current","daily"],"additionalProperties":false},"example":{"schemaVersion":"2026-08-31","generatedAt":"2026-08-31T12:00:00.000Z","timezone":"UTC","range":{"from":"2026-08-31","to":"2026-08-31","inclusiveDays":1},"definitions":{"registration":"Server-authoritative completed registration cohort.","activeUser":"Distinct registered user with a persisted session refresh.","currency":"Integer minor units grouped by ISO currency.","subscriptionHistory":"Current snapshot; no status history is inferred."},"current":{"workspaces":{"total":0,"active":0,"trial":0,"suspended":0,"delinquent":0,"archived":0,"pending":0,"other":0},"registrations":{"total":0},"subscriptions":{"active":0,"trialing":0,"pastDue":0,"canceled":0,"other":0},"recurringRevenue":[],"commercial":{"canceledLast30Days":0,"churnBasisPoints":0,"trialConversionsLast30Days":0}},"daily":[{"date":"2026-08-31","registrations":{"attempts":0,"accepted":0,"rejected":0,"failed":0,"completed":0},"activeUsers":{"dau":0,"wau":0,"mau":0},"workspaces":{"created":0},"subscriptions":{"paidPurchases":0},"revenue":[],"marketing":{"pageViews":0,"signupCtaClicks":0,"pricingSelections":0,"leads":0,"checkoutStarted":0,"paymentCompleted":0},"health":{"paymentAttempts":0,"paymentFailures":0,"refundFailures":0,"registrationFailures":0}}]}}}},"401":{"description":"Authentication is required","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/unauthorized","status":401,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"UNAUTHORIZED","code":"UNAUTHORIZED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"403":{"description":"The API key lacks the required scope","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/insufficient-scope","status":403,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"INSUFFICIENT_SCOPE","code":"INSUFFICIENT_SCOPE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"413":{"description":"The request payload is too large","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/payload-too-large","status":413,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PAYLOAD_TOO_LARGE","code":"PAYLOAD_TOO_LARGE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"422":{"description":"The request payload is invalid","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/validation","status":422,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"VALIDATION","code":"VALIDATION","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"429":{"description":"The request rate limit was exceeded","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/rate-limited","status":429,"title":"Too many requests","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"RATE_LIMITED","code":"RATE_LIMITED","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}},"500":{"description":"The request could not be completed","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/public-api-failure","status":500,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"PUBLIC_API_FAILURE","code":"PUBLIC_API_FAILURE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":false,"actions":["contact_support"]}}}},"503":{"description":"A required API dependency is unavailable","content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":400,"maximum":599},"title":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"instance":{"type":"string","minLength":1},"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"issues":{"type":"array","items":{}}},"required":["type","status","title","detail","instance","error","code","requestId","retryable","actions"],"additionalProperties":false},"example":{"type":"https://api.gloofloo.com/problems/service-unavailable","status":503,"title":"The request could not be completed","detail":"Review the request and use the reference when contacting support.","instance":"urn:gloofloo:request:req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","error":"SERVICE_UNAVAILABLE","code":"SERVICE_UNAVAILABLE","requestId":"req_01J4M6Y9TEH2Q7VZP3C8D5FKGA","retryable":true,"actions":["retry","contact_support"]}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key","description":"GlooFloo service-account key with the operation's required scope."}}}}