{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "primaryTarget": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^[A-Fa-f\\d]{24}$"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "Application",
                            "Dashboard",
                            "OrgInvite"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 1024
                    }
                },
                "additionalProperties": false
            }
        },
        "secondaryTarget": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^[A-Fa-f\\d]{24}$"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "ApiToken",
                            "ApplicationKey",
                            "DataTable",
                            "Device",
                            "DeviceRecipe",
                            "Event",
                            "ExperienceDomain",
                            "ExperienceEndpoint",
                            "ExperienceGroup",
                            "ExperienceSlug",
                            "ExperienceUser",
                            "ExperienceVersion",
                            "ExperienceView",
                            "File",
                            "Flow",
                            "Integration",
                            "Webhook"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 1024
                    }
                },
                "additionalProperties": false
            }
        },
        "actor": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^[A-Fa-f\\d]{24}$"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "Application",
                            "Device",
                            "Flow",
                            "User",
                            "ApiToken"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 1024
                    }
                },
                "additionalProperties": false
            }
        },
        "request": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "resource": {
                        "type": "string",
                        "maxLength": 1024
                    },
                    "action": {
                        "type": "string",
                        "maxLength": 1024
                    }
                },
                "additionalProperties": false
            }
        },
        "responseCode": {
            "type": "array",
            "items": {
                "type": "integer",
                "minimum": 100,
                "maximum": 599
            }
        }
    },
    "additionalProperties": false
}