{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$ref": "#/definitions/PushSubscription",
    "definitions": {
        "PushSubscription": {
            "type": "object",
            "properties": {
                "endpoint": {
                    "type": "string",
                    "description": "The Push Subscription Endpoint",
                    "minLength": 1
                },
                "expirationTime": {
                    "type": "number"
                },
                "keys": {
                    "type": "object",
                    "properties": {
                        "p256dh": {
                            "type": "string",
                            "minLength": 1
                        },
                        "auth": {
                            "type": "string",
                            "minLength": 1
                        }
                    },
                    "required": [
                        "p256dh",
                        "auth"
                    ]
                }
            },
            "required": [
                "endpoint",
                "keys"
            ],
            "description": "Expected data for a push subscription"
        }
    }
}
