{
    "type": "object",
    "title": "Hook",
    "description": "Represents a webhook.",
    "properties": {
        "status": {
            "description": "The status of this hook",
            "type": "string",
            "enum": ["pending_confirmation", "confirmed", "deleted"]
        },
        "protocol": {
            "description": "The protocol used to send events to this hook.",
            "type": "string",
            "enum": ["http", "https"]
        },
        "apis": {
            "type": "object",
            "description": "An object with properties that correspond to API subscriptions.",
            "properties": {
                "vehicle": {
                    "type": "boolean",
                    "description": "Optional. Indicates whether to enable storage for the Vehicle API."
                },
                "transport": {
                    "type": "boolean",
                    "description": "Optional. Indicates whether to enable storage for the Transport API."
                }
            }
        },
        "hookUrl": {
            "description": "The URL of the webhook events will be sent to.",
            "type": "string"
        },
        "topicName": {
            "description": "The name of the AWS SNS topic that serves this hook. This can be used to verify incoming requests.",
            "type": "string"
        },
        "topicArn": {
            "description": "The ARN of the AWS SNS topic that serves this hook. This can be used to verify incoming requests.",
            "type": "string"
        }
    },
    "required": [
        "status",
        "protocol",
        "hookUrl",
        "topicName",
        "topicArn"
    ]
}
