{
  "type": "object",
  "properties": {
    "status": {
      "enum": [
        "accepted",
        "rejected"
      ],
      "description": "Whether the supplied request is complete enough to accept.",
      "type": "string"
    },
    "reason": {
      "enum": [
        "none",
        "missing_details"
      ],
      "description": "The reason for the decision.",
      "type": "string"
    }
  },
  "required": [
    "status",
    "reason"
  ],
  "additionalProperties": false,
  "if": {
    "properties": {
      "status": {
        "const": "accepted"
      }
    },
    "required": [
      "status"
    ]
  },
  "then": {
    "properties": {
      "reason": {
        "const": "none"
      }
    }
  },
  "else": {
    "properties": {
      "reason": {
        "const": "missing_details"
      }
    }
  }
}
