{"openapi":"3.0.3","info":{"title":"Tines REST API — PurpleSuite executable core","version":"1.0.0"},"security":[{"apiKey":[]},{"bearerAuth":[]}],"servers":[{"url":"/api/purple-suite/{instanceId}/contracts/itsm/tines","variables":{"instanceId":{"default":"instance-id"}}}],"paths":{"/api/v2/cases":{"get":{"summary":"List cases","operationId":"get_api_v2_cases","description":"List cases","tags":["Cases"],"parameters":[{"name":"per_page","in":"query","schema":{"type":"integer"},"description":"Number of results per page"},{"name":"page","in":"query","schema":{"type":"integer"},"description":"Page number"},{"name":"team_id","in":"query","schema":{"type":"integer"},"description":"Filter by team ID"},{"name":"filters","in":"query","schema":{"type":"object","properties":{"assignees":{"type":"array","description":"Filter by assignee user IDs or email addresses. Use \"unassigned\" to match cases with no assignee. Cases matching any of the specified assignees will be returned."},"case_ids":{"type":"array","description":"Filter by specific case IDs"},"name":{"type":"string","description":"Filter by case name"},"priority":{"type":"array","enum":["LOW","MEDIUM","HIGH","CRITICAL","INFO"],"description":"Filter by priority"},"search":{"type":"string","description":"Free-text search across case content"},"status":{"type":"array","enum":["OPEN","CLOSED"],"description":"Filter by status"}}},"description":"Filter criteria"},{"name":"order","in":"query","schema":{"type":"string","enum":["RECENTLY_EDITED","LEAST_RECENTLY_EDITED","PRIORITY_ASC","PRIORITY_DESC","OPENED_ASC","OPENED_DESC","CREATED_ASC","CREATED_DESC"]},"description":"Sort order"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"cases":{"type":"array","items":{"$ref":"#/components/schemas/case"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}}}}}}},"post":{"summary":"Create a case","operationId":"post_api_v2_cases","description":"Create a case","tags":["Cases"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The case name"},"description":{"type":"string","description":"The case description"},"status":{"type":"string","enum":["OPEN","CLOSED"],"description":"The case status"},"priority":{"type":"string","description":"Maps to severity"},"team_id":{"type":"integer","description":"Team to create the case in"},"sub_status_id":{"type":"integer","description":"The sub-status ID"},"template_id":{"type":"string","description":"Template ID or slug"},"assignee_emails":{"type":"array","description":"Email addresses of assignees"},"tag_names":{"type":"array","description":"Tag names to apply"},"field_values":{"type":"object","description":"Field values as key-value pairs"},"blocks":{"type":"array","description":"Case blocks to create"},"author_email":{"type":"string","description":"Email address of the case author"},"opened_at":{"type":"string","description":"ISO 8601 datetime when the case was opened"},"resolved_at":{"type":"string","description":"ISO 8601 datetime when the case was resolved"},"metadata":{"type":"object","description":"Arbitrary key-value metadata to attach to the case"},"closure_conditions":{"type":"array","description":"Array of closure condition objects with name and formula fields"},"tasks":{"type":"array","description":"Array of task objects with description and optional assignee_emails"}},"required":["name","team_id"]}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/case"}}}}}}},"/api/v2/cases/{id}":{"get":{"summary":"Get a case","operationId":"get_api_v2_cases_by_id","description":"Get a case","tags":["Cases"],"parameters":[{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"resolve_mentions","in":"query","schema":{"type":"string"},"description":"Set to 'true' to resolve @mentions to display names"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/case"}}}}}},"patch":{"summary":"Update a case","operationId":"patch_api_v2_cases_by_id","description":"Update a case","tags":["Cases"],"parameters":[{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The case name"},"description":{"type":"string","description":"The case description"},"status":{"type":"string","enum":["OPEN","CLOSED"],"description":"The case status"},"priority":{"type":"string","description":"The case priority"},"team_id":{"type":"integer","description":"The team ID"},"sub_status_id":{"type":"integer","description":"The sub-status ID"},"add_assignee_emails":{"type":"array","description":"Email addresses of assignees to add"},"remove_assignee_emails":{"type":"array","description":"Email addresses of assignees to remove"},"add_tag_names":{"type":"array","description":"Tag names to add"},"remove_tag_names":{"type":"array","description":"Tag names to remove"},"closure_conditions":{"type":"array","description":"Array of closure condition objects with name and formula fields"},"author_email":{"type":"string","description":"Email address of the case author"},"opened_at":{"type":"string","description":"ISO 8601 datetime when the case was opened"},"resolved_at":{"type":"string","description":"ISO 8601 datetime when the case was resolved"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/case"}}}}}},"put":{"summary":"Update a case","operationId":"put_api_v2_cases_by_id","description":"Update a case","tags":["Cases"],"parameters":[{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The case name"},"description":{"type":"string","description":"The case description"},"status":{"type":"string","enum":["OPEN","CLOSED"],"description":"The case status"},"priority":{"type":"string","description":"The case priority"},"team_id":{"type":"integer","description":"The team ID"},"sub_status_id":{"type":"integer","description":"The sub-status ID"},"add_assignee_emails":{"type":"array","description":"Email addresses of assignees to add"},"remove_assignee_emails":{"type":"array","description":"Email addresses of assignees to remove"},"add_tag_names":{"type":"array","description":"Tag names to add"},"remove_tag_names":{"type":"array","description":"Tag names to remove"},"closure_conditions":{"type":"array","description":"Array of closure condition objects with name and formula fields"},"author_email":{"type":"string","description":"Email address of the case author"},"opened_at":{"type":"string","description":"ISO 8601 datetime when the case was opened"},"resolved_at":{"type":"string","description":"ISO 8601 datetime when the case was resolved"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/case"}}}}}},"delete":{"summary":"Delete a case","operationId":"delete_api_v2_cases_by_id","description":"Delete a case","tags":["Cases"],"parameters":[{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"}],"responses":{"204":{"description":"Empty response on success"}}}},"/api/v2/cases/{case_id}/comments":{"get":{"summary":"List comments","operationId":"get_api_v2_cases_by_case_id_comments","tags":["Cases > Comments"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"per_page","in":"query","schema":{"type":"integer"},"description":"Number of results per page"},{"name":"page","in":"query","schema":{"type":"integer"},"description":"Page number"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"comments":{"type":"array","items":{"$ref":"#/components/schemas/activity"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"},"case_id":{"type":"integer","description":"The case ID"}}}}}}}},"post":{"summary":"Create a comment","operationId":"post_api_v2_cases_by_case_id_comments","tags":["Cases > Comments"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"string","description":"Comment text"},"author_email":{"type":"string","description":"Email of comment author"}},"required":["value"]}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/activity"}}}}}}},"/api/v2/cases/{case_id}/comments/{id}":{"get":{"summary":"Get a comment","operationId":"get_api_v2_cases_by_case_id_comments_by_id","tags":["Cases > Comments"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The comment ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/activity"}}}}}},"patch":{"summary":"Update a comment","operationId":"patch_api_v2_cases_by_case_id_comments_by_id","tags":["Cases > Comments"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The comment ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"string","description":"Updated comment text"}},"required":["value"]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/activity"}}}}}},"put":{"summary":"Update a comment","operationId":"put_api_v2_cases_by_case_id_comments_by_id","tags":["Cases > Comments"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The comment ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"string","description":"Updated comment text"}},"required":["value"]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/activity"}}}}}},"delete":{"summary":"Delete a comment","operationId":"delete_api_v2_cases_by_case_id_comments_by_id","tags":["Cases > Comments"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The comment ID"}],"responses":{"204":{"description":"Empty response on success"}}}},"/api/v2/cases/{case_id}/tasks":{"get":{"summary":"List tasks","operationId":"get_api_v2_cases_by_case_id_tasks","tags":["Cases > Tasks"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"per_page","in":"query","schema":{"type":"integer"},"description":"Number of results per page"},{"name":"page","in":"query","schema":{"type":"integer"},"description":"Page number"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"tasks":{"type":"array","items":{"$ref":"#/components/schemas/task"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}}}}}}},"post":{"summary":"Create a task","operationId":"post_api_v2_cases_by_case_id_tasks","tags":["Cases > Tasks"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","description":"Task description"},"assignee_emails":{"type":"array","description":"Email addresses of assignees"}},"required":["description"]}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/task"}}}}}}},"/api/v2/cases/{case_id}/tasks/{id}":{"get":{"summary":"Get a task","operationId":"get_api_v2_cases_by_case_id_tasks_by_id","tags":["Cases > Tasks"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The task ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/task"}}}}}},"patch":{"summary":"Update a task","operationId":"patch_api_v2_cases_by_case_id_tasks_by_id","tags":["Cases > Tasks"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The task ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","description":"Task description"},"completed":{"type":"boolean","description":"Whether the task is completed"},"assignee_emails":{"type":"array","description":"Email addresses of assignees"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/task"}}}}}},"put":{"summary":"Update a task","operationId":"put_api_v2_cases_by_case_id_tasks_by_id","tags":["Cases > Tasks"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The task ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","description":"Task description"},"completed":{"type":"boolean","description":"Whether the task is completed"},"assignee_emails":{"type":"array","description":"Email addresses of assignees"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/task"}}}}}},"delete":{"summary":"Delete a task","operationId":"delete_api_v2_cases_by_case_id_tasks_by_id","tags":["Cases > Tasks"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The task ID"}],"responses":{"204":{"description":"Empty response on success"}}}},"/api/v2/cases/{case_id}/assignees":{"get":{"summary":"List assignees","operationId":"get_api_v2_cases_by_case_id_assignees","tags":["Cases > Assignees"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"per_page","in":"query","schema":{"type":"integer"},"description":"Number of results per page"},{"name":"page","in":"query","schema":{"type":"integer"},"description":"Page number"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"assignees":{"type":"array","items":{"$ref":"#/components/schemas/user"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}}}}}}}},"/api/v2/cases/{case_id}/activities":{"get":{"summary":"List activities","operationId":"get_api_v2_cases_by_case_id_activities","tags":["Cases > Activities"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"},{"name":"per_page","in":"query","schema":{"type":"integer"},"description":"Number of results per page"},{"name":"page","in":"query","schema":{"type":"integer"},"description":"Page number"},{"name":"activity_type","in":"query","schema":{"type":"string"},"description":"Filter by activity type"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"activities":{"type":"array","items":{"$ref":"#/components/schemas/activity"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}}}}}}}},"/api/v2/cases/{case_id}/pdf":{"get":{"summary":"Export case as PDF","operationId":"get_api_v2_cases_by_case_id_pdf","tags":["Cases"],"parameters":[{"name":"case_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The case ID"}],"responses":{"200":{"description":"PDF document of the case"}}}},"/api/v1/teams":{"get":{"summary":"List teams","operationId":"get_api_v1_teams","tags":["Teams (v1)"],"parameters":[{"name":"scope","in":"query","schema":{"type":"string","enum":["all","standard","personal_only"]},"description":"Filter teams by scope (defaults to standard)"},{"name":"per_page","in":"query","schema":{"type":"integer"},"description":"Number of results per page"},{"name":"page","in":"query","schema":{"type":"integer"},"description":"Page number (defaults to 1)"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"teams":{"type":"array","items":{"$ref":"#/components/schemas/team"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}}}}}}}},"/api/v1/teams/{id}":{"get":{"summary":"Get a team","operationId":"get_api_v1_teams_by_id","tags":["Teams (v1)"],"parameters":[{"name":"id","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the team to retrieve"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/team"}}}}}}},"/api/v1/admin/users":{"get":{"summary":"List users","operationId":"get_api_v1_admin_users","description":"Retrieve a list of users from the Tines tenant.","tags":["Admin > Users"],"parameters":[{"name":"per_page","in":"query","schema":{"type":"integer"},"description":"Number of results per page. Defaults to 20"},{"name":"page","in":"query","schema":{"type":"integer"},"description":"Page number. Defaults to 1"},{"name":"filter","in":"query","schema":{"type":"string","enum":["TENANT_OWNER"]},"description":"Filter the returned users"},{"name":"search","in":"query","schema":{"type":"string"},"description":"Case-insensitive substring match against user name or email"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"admin/users":{"type":"array","items":{"$ref":"#/components/schemas/admin_user"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}}}}}}}},"/api/v1/admin/users/{id}":{"get":{"summary":"Get a user","operationId":"get_api_v1_admin_users_by_id","description":"Retrieve details of a specific user by ID or email address.","tags":["Admin > Users"],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"required":true,"description":"ID of the user. An email address can be supplied in its place"},{"name":"include","in":"query","schema":{"type":"string","enum":["team_memberships"]},"description":"Include additional related data in the response"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/admin_user"}}}}},"x-path-normalized":["renamed path parameter 'user_id' to 'id' to match the route"]}},"/api/v1/case_sub_statuses":{"get":{"summary":"List case statuses","operationId":"get_api_v1_case_sub_statuses","tags":["Cases (v1) > Case Statuses"],"parameters":[{"name":"team_id","in":"query","schema":{"type":"integer"},"required":true,"description":"The team whose case statuses to retrieve"},{"name":"parent_status","in":"query","schema":{"type":"string","enum":["OPEN","CLOSED"]},"description":"Filter by parent status"},{"name":"search","in":"query","schema":{"type":"string"},"description":"Filter statuses whose name contains this text"},{"name":"per_page","in":"query","schema":{"type":"integer"},"description":"Number of results per page"},{"name":"page","in":"query","schema":{"type":"integer"},"description":"Page number"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"case_sub_statuses":{"type":"array","items":{"$ref":"#/components/schemas/case_sub_status"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}}}}}}}},"/api/v1/tags":{"get":{"summary":"List tags","operationId":"get_api_v1_tags","tags":["Tags"],"parameters":[{"name":"team_id","in":"query","schema":{"type":"integer"},"description":"Filter tags by team"},{"name":"per_page","in":"query","schema":{"type":"integer"},"description":"Number of results per page"},{"name":"page","in":"query","schema":{"type":"integer"},"description":"Page number"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"$ref":"#/components/schemas/tag"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}}}}}}}},"/api/v1/info":{"get":{"summary":"Get tenant stack information","operationId":"get_api_v1_info","description":"Retrieve basic information regarding your tenant's stack.","tags":["Info"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/info"}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"X-User-Token","description":"A Tines API key. Personal, service, team, and tenant owner keys are all accepted; the key's own access determines which resources the request can reach, and a key without access to a resource receives a 404. SCIM endpoints require a tenant owner key."},"bearerAuth":{"type":"http","scheme":"bearer","description":"A Tines API key. Personal, service, team, and tenant owner keys are all accepted; the key's own access determines which resources the request can reach, and a key without access to a resource receives a 404. SCIM endpoints require a tenant owner key."}},"schemas":{"PaginationMeta":{"type":"object","properties":{"current_page":{"type":"integer"},"per_page":{"type":"integer"},"total_pages":{"type":"integer"},"total_count":{"type":"integer"}}},"activity":{"type":"object","properties":{"id":{"type":"integer","description":"Activity ID"},"activity_type":{"type":"string","description":"Type of activity"},"value":{"type":"string","nullable":true,"description":"Activity content"},"file":{"type":"object","nullable":true,"description":"Attached file with filename and url"},"created_at":{"type":"string","description":"When the activity was created"},"user":{"$ref":"#/components/schemas/user"},"reactions":{"type":"array","items":{"type":"object"},"nullable":true,"description":"Emoji reactions"}},"description":"A case activity or comment"},"admin_user":{"type":"object","properties":{"id":{"type":"integer","description":"User ID"},"scim_uid":{"type":"string","nullable":true,"description":"SCIM user ID"},"email":{"type":"string","description":"User email"},"first_name":{"type":"string","description":"First name"},"last_name":{"type":"string","description":"Last name"},"admin":{"type":"boolean","description":"Whether the user is an admin"},"is_active":{"type":"boolean","description":"Whether the user is active"},"tenant_permissions":{"type":"array","items":{"type":"string"},"nullable":true,"description":"Tenant permission names granted to the user"},"last_seen":{"type":"string","nullable":true,"description":"When the user was last seen in the platform"},"created_at":{"type":"string","description":"When the user was created"},"updated_at":{"type":"string","description":"When the user was last updated"}},"description":"A user in the Tines tenant"},"case":{"type":"object","properties":{"case_id":{"type":"integer","description":"Case ID"},"name":{"type":"string","description":"Case name"},"description":{"type":"string","nullable":true,"description":"Case description"},"status":{"type":"string","description":"Case status (OPEN, CLOSED)"},"sub_status":{"type":"object","nullable":true,"description":"Sub-status with id and name"},"priority":{"type":"string","description":"Priority level"},"metadata":{"type":"object","nullable":true,"description":"Arbitrary metadata object"},"author":{"$ref":"#/components/schemas/user"},"opened_by":{"$ref":"#/components/schemas/user"},"resolved_by":{"$ref":"#/components/schemas/user"},"tags":{"type":"array","items":{"type":"object"},"description":"Tags"},"records":{"type":"array","items":{"type":"object"},"description":"Associated records"},"team":{"type":"object","description":"Team the case belongs to"},"sla":{"type":"object","nullable":true,"description":"SLA status"},"slas":{"type":"array","items":{"type":"object"},"description":"SLA statuses"},"actions":{"type":"array","items":{"type":"object"},"description":"Case actions"},"closure_conditions":{"type":"array","items":{"type":"object"},"description":"Closure conditions"},"blocks":{"type":"array","items":{"type":"object"},"description":"Case blocks"},"opened_at":{"type":"string","nullable":true,"description":"When the case was opened"},"resolved_at":{"type":"string","nullable":true,"description":"When the case was resolved"},"created_at":{"type":"string","description":"When the case was created"},"updated_at":{"type":"string","description":"When the case was last updated"}},"description":"A case"},"case_sub_status":{"type":"object","properties":{"id":{"type":"integer","description":"Case status ID"},"name":{"type":"string","description":"Status name"},"slug":{"type":"string","description":"Human-readable identifier, auto-generated from the name"},"description":{"type":"string","nullable":true,"description":"Status description"},"parent_status":{"type":"string","description":"Parent status (OPEN or CLOSED)"},"default":{"type":"boolean","description":"Whether this is the default status for its parent status"},"team":{"type":"object","description":"Team the status belongs to"},"created_at":{"type":"string","description":"When the status was created"},"updated_at":{"type":"string","description":"When the status was last updated"}},"description":"A case status"},"info":{"type":"object","properties":{"stack":{"$ref":"#/components/schemas/info_stack"}},"description":"Information about the tenant's stack"},"info_stack":{"type":"object","properties":{"name":{"type":"string","description":"The name assigned to the tenant's stack"},"type":{"type":"string","description":"Whether the stack is dedicated or shared"},"region":{"type":"string","description":"The AWS region the stack is hosted in"},"egress_ips":{"type":"array","items":{"type":"string"},"description":"The origin IPs used for any request originating from the tenant"}},"description":"Details about a tenant's stack"},"tag":{"type":"object","properties":{"id":{"type":"integer","description":"Tag ID"},"name":{"type":"string","description":"Tag name"},"color":{"type":"string","description":"Tag color as a #RRGGBB hex value"},"teams":{"type":"array","items":{"type":"object"},"description":"Teams the tag belongs to (id, name)"},"created_at":{"type":"string","description":"When the tag was created"},"updated_at":{"type":"string","description":"When the tag was last updated"}},"description":"A tag"},"task":{"type":"object","properties":{"id":{"type":"integer","description":"Task ID"},"description":{"type":"string","description":"Task description"},"completed":{"type":"boolean","description":"Whether the task is completed"},"created_at":{"type":"string","description":"When the task was created"},"updated_at":{"type":"string","description":"When the task was last updated"},"assignees":{"type":"array","items":{"type":"object"},"description":"Assigned users (id, email, first_name, last_name)"}},"description":"A case task"},"team":{"type":"object","properties":{"id":{"type":"integer","description":"The team ID"},"name":{"type":"string","description":"The team name"},"groups":{"type":"array","items":{"type":"object"},"description":"The team groups (id, name)"}},"description":"A team"},"user":{"type":"object","properties":{"user_id":{"type":"integer","description":"User ID"},"first_name":{"type":"string","description":"First name"},"last_name":{"type":"string","description":"Last name"},"email":{"type":"string","description":"Email address"},"avatar_url":{"type":"string","nullable":true,"description":"Avatar URL"},"is_service_account":{"type":"boolean","description":"Whether this is a service account"}},"description":"A Tines user"}}}}