Whisperr, Inc. · Schema

Whisperr push-token conformance cases

CompanyCustomer RetentionChurnMarketing AutomationArtificial IntelligenceSaaSSubscriptionCustomer EngagementEvent IngestionAnalyticsCustomer DataEmail DeliveryAgents

Properties

Name Type Description
$schema string
version integer
description string
cases array
View JSON Schema on GitHub

JSON Schema

whisperr-inc-push.schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/WhisperrAI/whisperr-spec/main/schemas/push.schema.json",
  "title": "Whisperr push-token conformance cases",
  "type": "object",
  "required": ["version", "cases"],
  "additionalProperties": false,
  "properties": {
    "$schema": { "type": "string" },
    "version": { "type": "integer", "minimum": 1 },
    "description": { "type": "string" },
    "cases": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/case" }
    }
  },
  "$defs": {
    "case": {
      "type": "object",
      "required": ["name", "steps", "expectedBodies"],
      "additionalProperties": false,
      "properties": {
        "name": { "type": "string", "minLength": 1 },
        "steps": {
          "type": "array",
          "minItems": 1,
          "items": { "$ref": "#/$defs/step" }
        },
        "expectedBodies": {
          "type": "array",
          "items": { "type": "object" }
        }
      }
    },
    "step": {
      "type": "object",
      "minProperties": 1,
      "maxProperties": 1,
      "additionalProperties": false,
      "properties": {
        "identify": {
          "type": "object",
          "required": ["externalUserId"],
          "additionalProperties": false,
          "properties": {
            "externalUserId": { "type": "string", "minLength": 1 },
            "traits": { "type": "object" },
            "pushToken": { "type": "string" }
          }
        },
        "setPushToken": { "type": "string" },
        "restart": { "const": true },
        "reset": { "const": true }
      }
    }
  }
}