feat: add stream info contracts

This commit is contained in:
2026-10-25 04:45:55 +01:00
parent 5b42580245
commit 5f09ad23ee
3 changed files with 43 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://trixie.reaperofveriod.nl/contracts/v1/stream-info-request.json",
"title": "Twitch stream information update",
"type": "object",
"additionalProperties": false,
"minProperties": 1,
"properties": {
"title": { "type": "string", "maxLength": 140 },
"game_id": { "type": "string", "maxLength": 64 },
"language": { "type": "string", "maxLength": 10 },
"tags": { "type": "array", "maxItems": 10, "items": { "type": "string", "maxLength": 25 } },
"content_classification_labels": { "type": "array", "maxItems": 10, "items": { "type": "string", "maxLength": 64 } }
}
}
+18
View File
@@ -0,0 +1,18 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://trixie.reaperofveriod.nl/contracts/v1/stream-info-response.json",
"title": "Twitch stream information",
"type": "object",
"additionalProperties": false,
"required": ["broadcaster_id", "broadcaster_name", "game_id", "game_name", "title", "language", "tags", "content_classification_labels"],
"properties": {
"broadcaster_id": { "type": "string", "minLength": 1 },
"broadcaster_name": { "type": "string", "minLength": 1 },
"game_id": { "type": "string" },
"game_name": { "type": "string" },
"title": { "type": "string" },
"language": { "type": "string" },
"tags": { "type": "array", "items": { "type": "string" } },
"content_classification_labels": { "type": "array", "items": { "type": "string" } }
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"broadcaster_id": "synthetic-broadcaster-id",
"broadcaster_name": "SyntheticStreamer",
"game_id": "123",
"game_name": "Synthetic Game",
"title": "A synthetic stream",
"language": "en",
"tags": ["Synthetic"],
"content_classification_labels": []
}