{
    "type": "object",
    "properties": {
        "id": {
            "anyOf": [
                {
                    "type": "integer",
                    "minimum": 0
                },
                {
                    "type": "null"
                }
            ]
        },
        "typeCode": {
            "type": "integer"
        },
        "sourceSystem": {
            "type": "string",
            "maxLength": 20
        },
        "sourceIdentifier": {
            "type": "string",
            "maxLength": 50
        },
        "sourceStatus": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 75
                },
                {
                    "type": "null"
                }
            ]
        },
        "persons": {
            "anyOf": [
                {
                    "type": "array",
                    "items": {
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "type": "object",
                        "properties": {
                            "id": {
                                "anyOf": [
                                    {
                                        "type": "integer",
                                        "minimum": 0
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "projectId": {
                                "anyOf": [
                                    {
                                        "type": "integer",
                                        "minimum": 0
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "sourceSystem": {
                                "anyOf": [
                                    {
                                        "type": "string",
                                        "maxLength": 20
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "sourceIdentifier": {
                                "anyOf": [
                                    {
                                        "type": "string",
                                        "maxLength": 50
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "personId": {
                                "type": "string",
                                "maxLength": 40
                            },
                            "sourcePersonType": {
                                "type": "string",
                                "maxLength": 20
                            },
                            "roleCode": {
                                "type": "string",
                                "maxLength": 50
                            },
                            "active": {
                                "anyOf": [
                                    {
                                        "type": "boolean"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "new": {
                                "anyOf": [
                                    {
                                        "type": "boolean"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "dispositionTypeCd": {
                                "anyOf": [
                                    {
                                        "type": "integer"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            }
                        },
                        "required": [
                            "personId",
                            "sourcePersonType",
                            "roleCode"
                        ]
                    }
                },
                {
                    "type": "null"
                }
            ]
        },
        "sponsors": {
            "anyOf": [
                {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "anyOf": [
                                    {
                                        "type": "integer",
                                        "minimum": 0
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "projectId": {
                                "anyOf": [
                                    {
                                        "type": "integer",
                                        "minimum": 0
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "sourceSystem": {
                                "type": "string",
                                "maxLength": 20
                            },
                            "sourceIdentifier": {
                                "type": "string",
                                "maxLength": 50
                            },
                            "sponsorCode": {
                                "anyOf": [
                                    {
                                        "type": "string",
                                        "maxLength": 6
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            },
                            "sponsorName": {
                                "anyOf": [
                                    {
                                        "type": "string",
                                        "maxLength": 200
                                    },
                                    {
                                        "type": "null"
                                    }
                                ]
                            }
                        },
                        "required": [
                            "sourceSystem",
                            "sourceIdentifier"
                        ]
                    }
                },
                {
                    "type": "null"
                }
            ]
        },
        "startDate": {
            "anyOf": [
                {
                    "type": "string",
                    "minimum": 0
                },
                {
                    "type": "null"
                }
            ]
        },
        "endDate": {
            "anyOf": [
                {
                    "type": "string",
                    "minimum": 0
                },
                {
                    "type": "null"
                }
            ]
        },
        "title": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 2000
                },
                {
                    "type": "null"
                }
            ]
        },
        "sponsorCode": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 6
                },
                {
                    "type": "null"
                }
            ]
        },
        "sponsorName": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 200
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "required": [
        "typeCode",
        "sourceSystem",
        "sourceIdentifier"
    ]
}