{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "event_stream_message", "anyOf": [ { "$ref": "#/definitions/InsertEventMessage" }, { "$ref": "#/definitions/StartDeleteGroupsMessage" }, { "$ref": "#/definitions/StartMergeMessage" }, { "$ref": "#/definitions/StartUnmergeMessage" }, { "$ref": "#/definitions/StartUnmergeHierarchicalMessage" }, { "$ref": "#/definitions/StartDeleteTagMessage" }, { "$ref": "#/definitions/EndDeleteGroupsMessage" }, { "$ref": "#/definitions/EndMergeMessage" }, { "$ref": "#/definitions/EndUnmergeMessage" }, { "$ref": "#/definitions/EndUnmergeHierarchicalMessage" }, { "$ref": "#/definitions/EndDeleteTagMessage" }, { "$ref": "#/definitions/TombstoneEventsMessage" }, { "$ref": "#/definitions/ReplaceGroupMessage" }, { "$ref": "#/definitions/ExcludeGroupsMessage" } ], "definitions": { "SnubaDatetime": { "type": "string" }, "StartMergeMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "start_merge" }, { "type": "object", "title": "start_merge_message_body", "properties": { "transaction_id": { "type": "string" }, "project_id": { "type": "integer", "minimum": 0 }, "previous_group_ids": { "type": "array", "items": { "type": "integer" } }, "new_group_id": { "type": "integer" }, "datetime": { "$ref": "#/definitions/SnubaDatetime" } }, "additionalProperties": true, "required": [ "project_id", "previous_group_ids", "new_group_id", "datetime" ] } ] }, "EndMergeMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "end_merge" }, { "type": "object", "title": "end_merge_message_body", "properties": { "transaction_id": { "type": "string" }, "project_id": { "type": "integer", "minimum": 0 }, "previous_group_ids": { "type": "array", "items": { "type": "integer" } }, "new_group_id": { "type": "integer" }, "datetime": { "$ref": "#/definitions/SnubaDatetime" } }, "additionalProperties": true, "required": [ "project_id", "previous_group_ids", "new_group_id", "datetime" ] } ] }, "StartDeleteGroupsMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "start_delete_groups" }, { "type": "object", "properties": { "transaction_id": { "type": "string" }, "project_id": { "type": "integer", "minimum": 0 }, "group_ids": { "type": "array", "items": { "type": "integer" } }, "datetime": { "$ref": "#/definitions/SnubaDatetime" } }, "additionalProperties": true, "required": ["project_id", "group_ids", "datetime"] } ] }, "EndDeleteGroupsMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "end_delete_groups" }, { "type": "object", "title": "end_delete_groups_message_body", "properties": { "transaction_id": { "type": "string" }, "project_id": { "type": "integer", "minimum": 0 }, "group_ids": { "type": "array", "items": { "type": "integer" } }, "datetime": { "$ref": "#/definitions/SnubaDatetime" } }, "additionalProperties": true, "required": ["project_id", "group_ids", "datetime"] } ] }, "StartUnmergeMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "start_unmerge" }, { "type": "object", "properties": { "project_id": { "type": "integer", "minimum": 0 } }, "required": ["project_id"] } ] }, "StartUnmergeHierarchicalMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "start_unmerge_hierarchical" }, { "type": "object", "properties": { "project_id": { "type": "integer", "minimum": 0 } }, "required": ["project_id"] } ] }, "StartDeleteTagMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "start_delete_tag" }, { "type": "object", "properties": { "project_id": { "type": "integer", "minimum": 0 } }, "required": ["project_id"] } ] }, "EndUnmergeMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "end_unmerge" }, { "type": "object", "title": "end_unmerge_message_body", "properties": { "transaction_id": { "type": "string" }, "project_id": { "type": "integer", "minimum": 0 }, "previous_group_id": { "type": "integer" }, "new_group_id": { "type": "integer" }, "hashes": { "type": "array", "items": { "type": "string" } }, "datetime": { "$ref": "#/definitions/SnubaDatetime" } }, "additionalProperties": true, "required": [ "project_id", "previous_group_id", "new_group_id", "hashes", "datetime" ] } ] }, "EndUnmergeHierarchicalMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "end_unmerge_hierarchical" }, { "type": "object", "title": "end_unmerge_hierarchical_message_body", "properties": { "project_id": { "type": "integer", "minimum": 0 }, "previous_group_id": { "type": "integer" }, "new_group_id": { "type": "integer" }, "primary_hash": { "type": "string" }, "hierarchical_hash": { "type": "string" }, "datetime": { "$ref": "#/definitions/SnubaDatetime" } }, "additionalProperties": true, "required": [ "project_id", "previous_group_id", "new_group_id", "primary_hash", "hierarchical_hash", "datetime" ] } ] }, "EndDeleteTagMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "end_delete_tag" }, { "type": "object", "title": "end_delete_tag_message_body", "properties": { "tag": { "type": "string" }, "datetime": { "$ref": "#/definitions/SnubaDatetime" }, "project_id": { "type": "integer", "minimum": 0 } }, "additionalProperties": true, "required": ["project_id", "tag", "datetime"] } ] }, "TombstoneEventsMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "tombstone_events" }, { "type": "object", "title": "tombstone_events_message_body", "properties": { "project_id": { "type": "integer", "minimum": 0 }, "event_ids": { "type": "array", "items": { "type": "string" } }, "old_primary_hash": { "type": ["string", "null"] }, "from_timestamp": { "type": "string" }, "to_timestamp": { "type": "string" }, "datetime": { "$ref": "#/definitions/SnubaDatetime" } }, "additionalProperties": true, "required": ["project_id", "event_ids"] } ] }, "ReplaceGroupMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "replace_group" }, { "type": "object", "title": "replace_group_message_body", "properties": { "event_ids": { "type": "array", "items": { "type": "string" } }, "project_id": { "type": "integer", "minimum": 0 }, "from_timestamp": { "type": "string" }, "to_timestamp": { "type": "string" }, "transaction_id": { "type": "string" }, "datetime": { "$ref": "#/definitions/SnubaDatetime" }, "new_group_id": { "type": "integer" } }, "additionalProperties": true, "required": ["event_ids", "project_id", "new_group_id"] } ] }, "ExcludeGroupsMessage": { "type": "array", "items": [ { "const": 2, "type": "integer" }, { "const": "exclude_groups" }, { "type": "object", "title": "exclude_groups_message_body", "properties": { "project_id": { "type": "integer", "minimum": 0 }, "group_ids": { "type": "array", "items": { "type": "integer" } } }, "additionalProperties": true, "required": ["project_id", "group_ids"] } ] }, "Boolify": true, "ContextStringify": true, "Contexts": { "type": "object", "properties": { "replay": { "anyOf": [ { "$ref": "#/definitions/ReplayContext" }, { "type": "null" } ] }, "trace": { "anyOf": [ { "$ref": "#/definitions/TraceContext" }, { "type": "null" } ] } } }, "ErrorData": { "type": "object", "properties": { "contexts": { "anyOf": [ { "$ref": "#/definitions/Contexts" }, { "type": "null" } ] }, "culprit": { "$ref": "#/definitions/Unicodify" }, "errors": { "default": null, "type": ["array", "null"], "items": true }, "exception": { "anyOf": [ { "$ref": "#/definitions/Exception" }, { "type": "null" } ] }, "hierarchical_hashes": { "default": [], "type": "array", "items": { "type": "string" } }, "location": { "default": null, "type": ["string", "null"] }, "modules": { "default": null, "type": ["object", "null"], "additionalProperties": { "type": ["string", "null"] } }, "received": { "type": ["number"] }, "request": { "anyOf": [ { "$ref": "#/definitions/Request" }, { "type": "null" } ] }, "sdk": { "anyOf": [ { "$ref": "#/definitions/Sdk" }, { "type": "null" } ] }, "tags": { "type": ["array", "null"], "items": { "type": ["array", "null"], "items": [ { "$ref": "#/definitions/Unicodify" }, { "$ref": "#/definitions/Unicodify" } ], "maxItems": 2, "minItems": 2 } }, "threads": { "anyOf": [ { "$ref": "#/definitions/Thread" }, { "type": "null" } ] }, "title": { "$ref": "#/definitions/Unicodify" }, "type": { "$ref": "#/definitions/Unicodify" }, "user": { "anyOf": [ { "$ref": "#/definitions/User" }, { "type": "null" } ] }, "version": { "default": null, "type": ["string", "null"] } }, "required": ["received"] }, "ErrorMessage": { "type": "object", "title": "insert_event", "required": [ "data", "event_id", "group_id", "message", "primary_hash", "project_id" ], "properties": { "data": { "$ref": "#/definitions/ErrorData" }, "datetime": { "type": "string" }, "event_id": { "type": "string" }, "group_id": { "type": "integer", "minimum": 0 }, "message": { "type": "string" }, "platform": { "default": null, "type": ["string", "null"] }, "primary_hash": { "type": "string" }, "project_id": { "type": "integer", "minimum": 0 }, "retention_days": { "default": null, "type": ["integer", "null"], "minimum": 0 } } }, "Exception": { "type": "object", "title": "sentry_exception_chain", "properties": { "values": { "type": ["array", "null"], "items": { "anyOf": [ { "$ref": "#/definitions/ExceptionValue" }, { "type": "null" } ] } } } }, "ExceptionMechanism": { "type": "object", "properties": { "handled": { "$ref": "#/definitions/Boolify" }, "type": { "$ref": "#/definitions/Unicodify" } } }, "ExceptionValue": { "type": "object", "properties": { "mechanism": { "anyOf": [ { "$ref": "#/definitions/ExceptionMechanism" }, { "type": "null" } ] }, "stacktrace": { "anyOf": [ { "$ref": "#/definitions/StackTrace" }, { "type": "null" } ] }, "thread_id": { "anyOf": [ { "$ref": "#/definitions/ThreadId" }, { "type": "null" } ] }, "type": { "$ref": "#/definitions/Unicodify" }, "value": { "$ref": "#/definitions/Unicodify" } } }, "InsertEventMessage": { "type": "array", "items": [ { "type": "integer", "minimum": 0 }, { "type": "string" }, { "$ref": "#/definitions/ErrorMessage" }, true ], "maxItems": 4, "minItems": 4 }, "ReplayContext": { "type": "object", "properties": { "replay_id": { "type": ["string", "null"] } } }, "Request": { "type": "object", "title": "sentry_request", "properties": { "headers": { "type": ["array", "null"], "items": { "type": ["array", "null"], "items": [ { "type": "string" }, { "$ref": "#/definitions/Unicodify" } ], "maxItems": 2, "minItems": 2 } }, "method": { "$ref": "#/definitions/Unicodify" } } }, "Sdk": { "title": "client_sdk_info", "type": "object", "properties": { "integrations": { "type": ["array", "null"], "items": { "$ref": "#/definitions/Unicodify" } }, "name": { "$ref": "#/definitions/Unicodify" }, "version": { "$ref": "#/definitions/Unicodify" } } }, "StackFrame": { "type": "object", "properties": { "abs_path": { "$ref": "#/definitions/Unicodify" }, "colno": { "default": null, "type": ["integer", "null"], "minimum": 0 }, "filename": { "$ref": "#/definitions/Unicodify" }, "function": { "$ref": "#/definitions/Unicodify" }, "in_app": { "default": null, "type": ["boolean", "null"] }, "lineno": { "default": null, "type": ["integer", "null"], "minimum": 0 }, "module": { "$ref": "#/definitions/Unicodify" }, "package": { "$ref": "#/definitions/Unicodify" } } }, "StackTrace": { "type": "object", "properties": { "frames": { "type": ["array", "null"], "items": { "anyOf": [ { "$ref": "#/definitions/StackFrame" }, { "type": "null" } ] } } } }, "Thread": { "type": "object", "title": "sentry_thread_chain", "properties": { "values": { "type": ["array", "null"], "items": { "anyOf": [ { "$ref": "#/definitions/ThreadValue" }, { "type": "null" } ] } } } }, "ThreadId": { "anyOf": [ { "type": "integer", "minimum": 0 }, { "type": "string" } ] }, "ThreadValue": { "type": "object", "properties": { "id": { "anyOf": [ { "$ref": "#/definitions/ThreadId" }, { "type": "null" } ] }, "main": { "default": null, "type": ["boolean", "null"] } } }, "TraceContext": { "type": "object", "properties": { "sampled": { "default": null, "type": ["boolean", "null"] }, "span_id": { "default": null, "type": ["string", "null"] }, "trace_id": { "default": null, "type": ["string", "null"] } } }, "Unicodify": true, "User": { "type": "object", "title": "sentry_user", "properties": { "email": { "$ref": "#/definitions/Unicodify" }, "geo": { "type": ["object", "null"], "additionalProperties": { "$ref": "#/definitions/ContextStringify" } }, "id": { "$ref": "#/definitions/Unicodify" }, "ip_address": { "default": null, "type": ["string", "null"] }, "username": { "$ref": "#/definitions/Unicodify" } } } } }