{
  "openapi": "3.0.1",
  "info": {
    "title": "FCVS API",
    "description": "API Client",
    "version": "1"
  },
  "paths": {
    "/connect/token": {
      "post": {
        "tags": [
          "Token"
        ],
        "summary": "Authentication endpoint.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/boards/{board}/practitioners/{fid}/profiles/current": {
      "get": {
        "tags": [
          "Practitioners"
        ],
        "summary": "Gets the current profile, if any, of a practitioner.",
        "operationId": "GetCurrentProfile",
        "parameters": [
          {
            "name": "board",
            "in": "path",
            "description": "Board code",
            "required": true,
            "schema": {
              "type": "string",
              "default": "me"
            }
          },
          {
            "name": "fid",
            "in": "path",
            "description": "FID of the practitioner",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/v1/boards/{board}/practitioners/{fid}/status": {
      "get": {
        "tags": [
          "Practitioners"
        ],
        "summary": "Gets the status of a practitioner.",
        "operationId": "GetStatus",
        "parameters": [
          {
            "name": "board",
            "in": "path",
            "description": "Board code",
            "required": true,
            "schema": {
              "type": "string",
              "default": "me"
            }
          },
          {
            "name": "fid",
            "in": "path",
            "description": "FID of the practitioner",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PractitionerStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PractitionerStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PractitionerStatus"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccreditedTraining": {
        "required": [
          "accreditationType",
          "program",
          "programCode",
          "programType",
          "specialty",
          "trainingStatus",
          "unusualCircumstances"
        ],
        "type": "object",
        "properties": {
          "accreditationType": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "description": "The type of accreditation (e.g. ACGME, AOA)"
          },
          "programCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Program code"
          },
          "program": {
            "$ref": "#/components/schemas/Program"
          },
          "specialty": {
            "$ref": "#/components/schemas/Specialty"
          },
          "programType": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Program type"
          },
          "trainingStatus": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Training status (e.g. `Active`, `Completed`)"
          },
          "beginDate": {
            "type": "string",
            "description": "Start date",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End date",
            "format": "date-time"
          },
          "unusualCircumstances": {
            "$ref": "#/components/schemas/UnusualCircumstances"
          }
        },
        "additionalProperties": false,
        "description": "Accredited training information"
      },
      "Activity": {
        "required": [
          "addressLines",
          "city",
          "description",
          "stateOrProvince",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Type of activity"
          },
          "inProgress": {
            "type": "boolean",
            "description": "Is in progress?"
          },
          "beginDate": {
            "type": "string",
            "description": "Start date",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End date",
            "format": "date-time",
            "nullable": true
          },
          "description": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Description"
          },
          "addressLines": {
            "maxLength": 100,
            "minLength": 0,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Address lines"
          },
          "city": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "City"
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          },
          "postalCode": {
            "maxLength": 9,
            "minLength": 0,
            "type": "string",
            "description": "Postal code",
            "nullable": true
          },
          "position": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Position",
            "nullable": true
          },
          "department": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Department",
            "nullable": true
          },
          "wasEmployed": {
            "type": "boolean",
            "description": "Was employee?"
          },
          "hadStaffPrivileges": {
            "type": "boolean",
            "description": "Had staff privileges?"
          },
          "wasAffiliated": {
            "type": "boolean",
            "description": "Was affiliated?"
          },
          "percentageClinical": {
            "type": "integer",
            "description": "% clinical",
            "format": "int32"
          },
          "percentageAdministrative": {
            "type": "integer",
            "description": "% administrative",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Activity information"
      },
      "Address": {
        "required": [
          "addressType",
          "city",
          "postalCode",
          "stateOrProvince"
        ],
        "type": "object",
        "properties": {
          "addressType": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Type of address (e.g. Business, Home)"
          },
          "lines": {
            "maxLength": 100,
            "minLength": 0,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Address lines",
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "City"
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          },
          "postalCode": {
            "maxLength": 9,
            "minLength": 0,
            "type": "string",
            "description": "Postal code"
          }
        },
        "additionalProperties": false,
        "description": "Mailing address"
      },
      "Addresses": {
        "type": "object",
        "properties": {
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Address"
            },
            "description": "Addresses",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Mailing addresses"
      },
      "Application": {
        "required": [
          "boardName",
          "status"
        ],
        "type": "object",
        "properties": {
          "boardName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Board name"
          },
          "sentDateUtc": {
            "type": "string",
            "description": "Datetime the profile was sent, in UTC",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Status of the profile (e.g. `Submitted`, `Complete`)"
          }
        },
        "additionalProperties": false,
        "description": "Application information"
      },
      "Ecfmg": {
        "required": [
          "ecfmgNumber"
        ],
        "type": "object",
        "properties": {
          "ecfmgNumber": {
            "maxLength": 8,
            "minLength": 0,
            "type": "string",
            "description": "ECFMG number"
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "ECFMG information"
      },
      "EmailAddress": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Email address"
          }
        },
        "additionalProperties": false,
        "description": "Email address"
      },
      "EmailAddresses": {
        "required": [
          "primary"
        ],
        "type": "object",
        "properties": {
          "primary": {
            "$ref": "#/components/schemas/EmailAddress"
          },
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmailAddress"
            },
            "description": "Other email addresses",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "List of email addresses"
      },
      "Exam": {
        "required": [
          "examType",
          "passFail"
        ],
        "type": "object",
        "properties": {
          "examType": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Type of exam"
          },
          "stateBoardDetail": {
            "$ref": "#/components/schemas/ExamStateBoard"
          },
          "examDate": {
            "type": "string",
            "description": "Exam date",
            "format": "date-time"
          },
          "numberOfAttempts": {
            "type": "integer",
            "description": "Number of attempts",
            "format": "int32"
          },
          "passFail": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Pass/fail status (e.g. `Pass`, `Fail`, `Unknown`)"
          }
        },
        "additionalProperties": false,
        "description": "Exam"
      },
      "ExamStateBoard": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "description": "State or province code"
          },
          "description": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Description"
          }
        },
        "additionalProperties": false,
        "description": "State board for exam"
      },
      "FifthPathway": {
        "required": [
          "school"
        ],
        "type": "object",
        "properties": {
          "school": {
            "$ref": "#/components/schemas/FifthPathwaySchool"
          },
          "startDate": {
            "type": "string",
            "description": "Start date",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End date",
            "format": "date-time"
          },
          "certificateDate": {
            "type": "string",
            "description": "Certificate date",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Fifth Pathway information"
      },
      "FifthPathwaySchool": {
        "required": [
          "affiliatedInstitution",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "School name"
          },
          "affiliatedInstitution": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Affiliated institution"
          },
          "city": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "City",
            "nullable": true
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          }
        },
        "additionalProperties": false,
        "description": "Fifth Pathway school"
      },
      "Identification": {
        "required": [
          "birthCity",
          "birthStateOrProvince",
          "gender"
        ],
        "type": "object",
        "properties": {
          "ssnLast4": {
            "type": "string",
            "description": "Last 4 of the SSN",
            "nullable": true
          },
          "npi": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "NPI",
            "nullable": true
          },
          "usmleId": {
            "maxLength": 9,
            "minLength": 0,
            "type": "string",
            "description": "USMLE ID",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "description": "Date of birth",
            "format": "date-time"
          },
          "birthCity": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Place of birth"
          },
          "birthStateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          },
          "gender": {
            "maxLength": 1,
            "minLength": 0,
            "type": "string",
            "description": "Gender"
          }
        },
        "additionalProperties": false,
        "description": "Identification information"
      },
      "License": {
        "required": [
          "licenseType"
        ],
        "type": "object",
        "properties": {
          "licenseType": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Type of license (e.g. `Active`, `Training`)"
          },
          "licensingEntity": {
            "$ref": "#/components/schemas/LicensingEntity"
          },
          "status": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "License status (e.g. `Active`, `Denied`)",
            "nullable": true
          },
          "practitionerType": {
            "$ref": "#/components/schemas/PractitionerType"
          },
          "licenseNumber": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "License number",
            "nullable": true
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date",
            "format": "date-time",
            "nullable": true
          },
          "expirationDate": {
            "type": "string",
            "description": "Expiration date",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "License information"
      },
      "LicensingEntity": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "description": "Entity code"
          },
          "description": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Description"
          }
        },
        "additionalProperties": false,
        "description": "Entity issuing license"
      },
      "MedicalDegree": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "description": "Degree code (e.g. BM, MD, DMCH)"
          },
          "description": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Description"
          }
        },
        "additionalProperties": false,
        "description": "Medical degree"
      },
      "MedicalEducation": {
        "required": [
          "school",
          "unusualCircumstances"
        ],
        "type": "object",
        "properties": {
          "school": {
            "$ref": "#/components/schemas/School"
          },
          "beginDate": {
            "type": "string",
            "description": "Start date",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End date",
            "format": "date-time"
          },
          "degree": {
            "$ref": "#/components/schemas/MedicalDegree"
          },
          "graduationDate": {
            "type": "string",
            "description": "Graduation date",
            "format": "date-time",
            "nullable": true
          },
          "unusualCircumstances": {
            "$ref": "#/components/schemas/UnusualCircumstances"
          }
        },
        "additionalProperties": false,
        "description": "Medical school education"
      },
      "MedicalEducationTraining": {
        "required": [
          "graduating"
        ],
        "type": "object",
        "properties": {
          "graduating": {
            "$ref": "#/components/schemas/MedicalEducation"
          },
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MedicalEducation"
            },
            "description": "Other medical schools",
            "nullable": true
          },
          "ecfmg": {
            "$ref": "#/components/schemas/Ecfmg"
          },
          "fifthPathway": {
            "$ref": "#/components/schemas/FifthPathway"
          }
        },
        "additionalProperties": false,
        "description": "List of medical education"
      },
      "Name": {
        "required": [
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "First name"
          },
          "middleName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Middle name",
            "nullable": true
          },
          "lastName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Last name"
          },
          "suffix": {
            "maxLength": 4,
            "minLength": 0,
            "type": "string",
            "description": "Suffix",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Name of a person"
      },
      "Names": {
        "required": [
          "legalName"
        ],
        "type": "object",
        "properties": {
          "legalName": {
            "$ref": "#/components/schemas/Name"
          },
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Name"
            },
            "description": "Other names",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "List of names"
      },
      "OtherTraining": {
        "required": [
          "program",
          "programType",
          "specialty",
          "trainingStatus",
          "unusualCircumstances"
        ],
        "type": "object",
        "properties": {
          "program": {
            "$ref": "#/components/schemas/Program"
          },
          "specialty": {
            "$ref": "#/components/schemas/Specialty"
          },
          "programType": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Program type (e.g. `Internship`, `Fellowship`)"
          },
          "trainingStatus": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Training status (e.g. `Active`, `Completed`)"
          },
          "beginDate": {
            "type": "string",
            "description": "Start date",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End date",
            "format": "date-time"
          },
          "unusualCircumstances": {
            "$ref": "#/components/schemas/UnusualCircumstances"
          }
        },
        "additionalProperties": false,
        "description": "Unaccredited postgraduate training"
      },
      "Phone": {
        "required": [
          "phoneNumber",
          "phoneType"
        ],
        "type": "object",
        "properties": {
          "phoneType": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Type of phone (e.g. `Business`, `Home`)"
          },
          "phoneNumber": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Phone number"
          },
          "extension": {
            "maxLength": 4,
            "minLength": 0,
            "type": "string",
            "description": "Phone extension",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Phone number"
      },
      "Phones": {
        "type": "object",
        "properties": {
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Phone"
            },
            "description": "Phone numbers",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "List of phone numbers"
      },
      "PostGraduateTraining": {
        "type": "object",
        "properties": {
          "accreditedTraining": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccreditedTraining"
            },
            "description": "Accredited training",
            "nullable": true
          },
          "otherTraining": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OtherTraining"
            },
            "description": "Unaccredited training",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "List of post graduate training"
      },
      "PractitionerStatus": {
        "required": [
          "fid",
          "name"
        ],
        "type": "object",
        "properties": {
          "fid": {
            "maxLength": 9,
            "minLength": 0,
            "type": "string",
            "description": "FID of the practitioner"
          },
          "name": {
            "$ref": "#/components/schemas/Name"
          },
          "lastProfileId": {
            "type": "integer",
            "description": "ID of the last profile",
            "format": "int64"
          },
          "lastProfileStatus": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Status of the last profile",
            "nullable": true
          },
          "lastProfileSubmitDateUtc": {
            "type": "string",
            "description": "Date/time the last profile was submitted, in UTC",
            "format": "date-time"
          },
          "lastProfileSentDateUtc": {
            "type": "string",
            "description": "Date/time the last profile was sent, in UTC, if any",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Status of a practitioner"
      },
      "PractitionerType": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "description": "Code"
          },
          "description": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Description"
          }
        },
        "additionalProperties": false,
        "description": "Practitioner type"
      },
      "Profile": {
        "required": [
          "addresses",
          "application",
          "emailAddresses",
          "fid",
          "identity",
          "medicalEducation",
          "names",
          "phones"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Profile ID",
            "format": "int64"
          },
          "fid": {
            "maxLength": 9,
            "minLength": 0,
            "type": "string",
            "description": "FID of practitioner"
          },
          "submitDateUtc": {
            "type": "string",
            "description": "Date the profile was submitted (UTC)",
            "format": "date-time"
          },
          "application": {
            "$ref": "#/components/schemas/Application"
          },
          "identity": {
            "$ref": "#/components/schemas/Identification"
          },
          "names": {
            "$ref": "#/components/schemas/Names"
          },
          "addresses": {
            "$ref": "#/components/schemas/Addresses"
          },
          "emailAddresses": {
            "$ref": "#/components/schemas/EmailAddresses"
          },
          "phones": {
            "$ref": "#/components/schemas/Phones"
          },
          "medicalEducation": {
            "$ref": "#/components/schemas/MedicalEducationTraining"
          },
          "postGraduateTraining": {
            "$ref": "#/components/schemas/PostGraduateTraining"
          },
          "exams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Exam"
            },
            "description": "Exams",
            "nullable": true
          },
          "licenses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/License"
            },
            "description": "Licensure",
            "nullable": true
          },
          "activities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Activity"
            },
            "description": "Chronology of activity",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Practitioner profile for a board"
      },
      "Program": {
        "required": [
          "city",
          "hospitalName",
          "stateOrProvince"
        ],
        "type": "object",
        "properties": {
          "hospitalName": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Hospital name"
          },
          "affiliatedInstitution": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Affiliated institution",
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "City"
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          }
        },
        "additionalProperties": false,
        "description": "Postgraduate training program"
      },
      "School": {
        "required": [
          "name",
          "schoolType"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "School name"
          },
          "cibisCode": {
            "maxLength": 6,
            "minLength": 0,
            "type": "string",
            "description": "CIBIS code",
            "nullable": true
          },
          "schoolType": {
            "$ref": "#/components/schemas/SchoolType"
          },
          "city": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "City",
            "nullable": true
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          }
        },
        "additionalProperties": false,
        "description": "Medical school"
      },
      "SchoolType": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "description": "Code (e.g. `MD`, `DO`)"
          },
          "description": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Description"
          }
        },
        "additionalProperties": false,
        "description": "Type of medical school"
      },
      "Specialty": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Description"
          }
        },
        "additionalProperties": false,
        "description": "Training specialty"
      },
      "StateOrProvince": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "State or province code (e.g. `TX`, `MD`)"
          },
          "description": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "State or province description"
          },
          "countryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "ISO Country code (e.g. `US`, `CA`)",
            "nullable": true
          },
          "countryDescription": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Country description",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "State or province"
      },
      "UnusualCircumstances": {
        "type": "object",
        "properties": {
          "hasInterruptions": {
            "type": "boolean",
            "description": "Has an interruption"
          },
          "interruptionsDescription": {
            "type": "string",
            "description": "Interruption description",
            "nullable": true
          },
          "interruptionStartMonth": {
            "type": "integer",
            "description": "Interruption start month",
            "format": "int32",
            "nullable": true
          },
          "interruptionStartYear": {
            "type": "integer",
            "description": "Interruption start year",
            "format": "int32",
            "nullable": true
          },
          "interruptionEndMonth": {
            "type": "integer",
            "description": "Interruption end month",
            "format": "int32",
            "nullable": true
          },
          "interruptionEndYear": {
            "type": "integer",
            "description": "Interruption end year",
            "format": "int32",
            "nullable": true
          },
          "hasProbation": {
            "type": "boolean",
            "description": "Has a probation?"
          },
          "probationDescription": {
            "type": "string",
            "description": "Probation description",
            "nullable": true
          },
          "hasInvestigation": {
            "type": "boolean",
            "description": "Has an investigation?"
          },
          "investigationDescription": {
            "type": "string",
            "description": "Investigation description",
            "nullable": true
          },
          "hasBehavior": {
            "type": "boolean",
            "description": "Has negative behavior?"
          },
          "behaviorDescription": {
            "type": "string",
            "description": "Behavior description",
            "nullable": true
          },
          "hasRequirements": {
            "type": "boolean",
            "description": "Has special requirements?"
          },
          "requirementsDescription": {
            "type": "string",
            "description": "Special requirements description",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Unusual circumstances"
      }
    },
    "securitySchemes": {
      "oauth2": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "authorizationUrl": "https://services-fcvs.fsmb.org/connect/token",
            "tokenUrl": "https://services-fcvs.fsmb.org/connect/token",
            "scopes": {
              "fcvs.read": "Read FCVS information."
            }
          }
        }
      }
    }
  },
  "security": [
    { }
  ]
}