First American Occupancy API

Occupancy report ordering and retrieval, including a PDF rendering. Swagger 2.0, 3 operations.

Operations 3

GET /occupancy/report #
GET /occupancy/report/pdf Get PDF report #
POST /occupancy/order Make a new Occupancy service call to get a Occupancy check on the property. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/first-american-financial-occupancy"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

first-american-financial-occupancy-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: v1
  title: Occupancy Service
host: solutions.dgw.firstam.io
basePath: /v1
schemes:
- https
paths:
  /occupancy/report:
    get:
      tags:
      - Request Occupancy
      operationId: Report
      consumes:
      - application/json
      - application/xml
      produces:
      - application/json
      - application/xml
      parameters:
      - in: header
        name: X-App-Id
        description: Application ID
        required: true
        type: string
      - in: header
        name: X-App-Key
        description: Application Key
        required: true
        type: string
      - name: transactionID
        in: query
        required: false
        default: 4514c308-468f-438a-bd8f-253c6c3cbd65
        type: string
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/OccupancyServiceResponse'
  /occupancy/report/pdf:
    get:
      tags:
      - Request Occupancy
      summary: Get PDF report
      operationId: ReportPDF
      consumes:
      - application/json
      - application/xml
      produces:
      - application/json
      - application/xml
      parameters:
      - in: header
        name: X-App-Id
        description: Application ID
        required: true
        type: string
      - in: header
        name: X-App-Key
        description: Application Key
        required: true
        type: string
      - name: transactionID
        in: query
        required: false
        default: 4514c308-468f-438a-bd8f-253c6c3cbd65
        type: string
      responses:
        '200':
          description: Success
  /occupancy/order:
    post:
      tags:
      - Request Occupancy
      summary: Make a new Occupancy service call to get a Occupancy check on the property.
      description: 'Required fields: First Name, Last Name, SSN, Subject Address, Loan Purpose, Occupancy'
      operationId: Order
      consumes:
      - application/json
      - application/xml
      produces:
      - application/json
      - application/xml
      parameters:
      - in: header
        name: X-App-Id
        description: Application ID
        required: true
        type: string
      - in: header
        name: X-App-Key
        description: Application Key
        required: true
        type: string
      - name: request
        in: body
        required: false
        schema:
          $ref: '#/definitions/OccupancyServiceRequest'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/OccupancyServiceResponse'
        '400':
          description: Invalid Input, Object Invalid
definitions:
  OccupancyServiceResponse:
    type: object
    properties:
      RequestorID:
        type:
        - string
        - 'null'
      TransactionID:
        type:
        - string
        - 'null'
      Status:
        type:
        - string
        - 'null'
      Message:
        type:
        - string
        - 'null'
      IdentityDetails:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/IdentityDetails'
      PropertyOwnerInformation:
        $ref: '#/definitions/OwnerInformation'
      PropertyCharacteristics:
        $ref: '#/definitions/RealtyCharacteristics'
      PropertyTransaction:
        $ref: '#/definitions/PropertyTransaction'
      PropertyAssessorTaxInfo:
        $ref: '#/definitions/PropertyAssessorTaxInfo'
      MERSLoans:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/InquiryData'
      FlexLoans:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/FLEXData'
      RentalData:
        $ref: '#/definitions/RentalData'
      Alerts:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/Alert'
      Errors:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/Error'
      PDFS3SignedURL:
        type:
        - string
        - 'null'
  Alert:
    type:
    - object
    - 'null'
    properties:
      Code:
        type:
        - string
        - 'null'
      Description:
        type:
        - string
        - 'null'
      Status:
        type: string
        enum:
        - NotEvaluated
        - Fired
        - NotFired
      Evidence:
        type:
        - array
        - 'null'
        items:
          type:
          - object
          - 'null'
          additionalProperties: {}
    required:
    - Code
    - Description
    - Status
    - Evidence
  Borrower:
    type:
    - object
    - 'null'
    properties:
      BorrowerID:
        type: integer
      Name:
        $ref: '#/definitions/Name'
      Addresses:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/ContactAddress'
      DOB:
        $ref: '#/definitions/ParsedDate'
      SSN:
        type:
        - string
        - 'null'
      RentorOwn:
        type:
        - string
        - 'null'
      RentOrOwnNbrOfYrs:
        type: integer
      HomePhone:
        type:
        - string
        - 'null'
      Citizenship:
        type:
        - string
        - 'null'
      PermanentResidentAlien:
        type:
        - string
        - 'null'
      NonPermanentResident:
        type:
        - string
        - 'null'
      FICOScore:
        type: integer
      MonthlyBaseIncome:
        type:
        - number
        - 'null'
      MonthlyTotalIncome:
        type:
        - number
        - 'null'
    required:
    - BorrowerID
    - Name
    - Addresses
    - DOB
    - SSN
    - RentorOwn
    - RentOrOwnNbrOfYrs
    - HomePhone
    - Citizenship
    - PermanentResidentAlien
    - NonPermanentResident
    - FICOScore
    - MonthlyBaseIncome
    - MonthlyTotalIncome
  ConsumerAddress:
    type:
    - object
    - 'null'
    properties:
      FirstReportedDate:
        $ref: '#/definitions/ParsedDate'
      LastReportedDate:
        $ref: '#/definitions/ParsedDate'
      ResidenceStatus:
        type:
        - string
        - 'null'
      ResidenceDuration:
        type:
        - integer
        - 'null'
      Status:
        type:
        - string
        - 'null'
      Qualifier:
        type:
        - string
        - 'null'
      TypesOfSources:
        type:
        - array
        - 'null'
        items:
          type:
          - string
          - 'null'
      HighRiskIndicators:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/RiskIndicator'
      GeoDistance:
        type: number
      StreetNumber:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StreetPreDirection:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StreetName:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 200
      StreetSuffix:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 30
      StreetPostDirection:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      UnitDesignation:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      UnitNumber:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 15
      StreetAddress1:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 350
      StreetAddress2:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 300
      City:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      State:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 2
      ZipCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 10
      ZipFour:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 4
      County:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      Country:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      PostalCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StateCityZip:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 150
      Latitude:
        type:
        - number
        - 'null'
      Longitude:
        type:
        - number
        - 'null'
      APN:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      Hash:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 50
      FullAddress:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 700
      CountyFIPSCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StateFIPSCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      AddressStandardized:
        type:
        - boolean
        - 'null'
      RefID:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
    required:
    - FirstReportedDate
    - LastReportedDate
    - ResidenceStatus
    - ResidenceDuration
    - Status
    - Qualifier
    - TypesOfSources
    - HighRiskIndicators
    - GeoDistance
    - StreetNumber
    - StreetPreDirection
    - StreetName
    - StreetSuffix
    - StreetPostDirection
    - UnitDesignation
    - UnitNumber
    - StreetAddress1
    - StreetAddress2
    - City
    - State
    - ZipCode
    - ZipFour
    - County
    - Country
    - PostalCode
    - StateCityZip
    - Latitude
    - Longitude
    - APN
    - Hash
    - FullAddress
    - CountyFIPSCode
    - StateFIPSCode
    - AddressStandardized
    - RefID
  ConsumerNameInfo:
    type:
    - object
    - 'null'
    properties:
      Qualifier:
        type:
        - string
        - 'null'
      DateFirstReported:
        $ref: '#/definitions/ParsedDate'
      DateLastReported:
        $ref: '#/definitions/ParsedDate'
      TypesOfSources:
        type:
        - array
        - 'null'
        items:
          type:
          - string
          - 'null'
      Full:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 1000
      First:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 150
      Middle:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      Last:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 300
      Suffix:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      Prefix:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      LastOrCompanyName:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 500
      FirstAndMiddleName:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 250
    required:
    - Qualifier
    - DateFirstReported
    - DateLastReported
    - TypesOfSources
    - Full
    - First
    - Middle
    - Last
    - Suffix
    - Prefix
    - LastOrCompanyName
    - FirstAndMiddleName
  ConsumerSSNInfo:
    type:
    - object
    - 'null'
    properties:
      SSN:
        type:
        - string
        - 'null'
      IdentificationType:
        type:
        - string
        - 'null'
      AgeObtainedRangeStart:
        type:
        - string
        - 'null'
      AgeObtainedRangeEnd:
        type:
        - string
        - 'null'
      IssuanceAlertCode:
        type:
        - string
        - 'null'
      FirstPossibleIssuanceYear:
        type:
        - integer
        - 'null'
      LastPossibleIssuanceYear:
        type:
        - integer
        - 'null'
      IssuedStartDate:
        $ref: '#/definitions/ParsedDate'
      IssuedEndDate:
        $ref: '#/definitions/ParsedDate'
      DateFirstReported:
        $ref: '#/definitions/ParsedDate'
      DateLastReported:
        $ref: '#/definitions/ParsedDate'
      IssuanceExpirationDate:
        $ref: '#/definitions/ParsedDate'
      IssuanceStatus:
        type:
        - string
        - 'null'
      IssuanceYearsCovered:
        type:
        - integer
        - 'null'
      StateOfIssuance:
        type:
        - string
        - 'null'
      Valid:
        type:
        - boolean
        - 'null'
      TypesOfSources:
        type:
        - array
        - 'null'
        items:
          type:
          - string
          - 'null'
    required:
    - SSN
    - IdentificationType
    - AgeObtainedRangeStart
    - AgeObtainedRangeEnd
    - IssuanceAlertCode
    - FirstPossibleIssuanceYear
    - LastPossibleIssuanceYear
    - IssuedStartDate
    - IssuedEndDate
    - DateFirstReported
    - DateLastReported
    - IssuanceExpirationDate
    - IssuanceStatus
    - IssuanceYearsCovered
    - StateOfIssuance
    - Valid
    - TypesOfSources
  ContactAddress:
    type:
    - object
    - 'null'
    properties:
      AddressType:
        type:
        - string
        - 'null'
      StreetNumber:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StreetPreDirection:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StreetName:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 200
      StreetSuffix:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 30
      StreetPostDirection:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      UnitDesignation:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      UnitNumber:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 15
      StreetAddress1:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 350
      StreetAddress2:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 300
      City:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      State:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 2
      ZipCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 10
      ZipFour:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 4
      County:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      Country:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      PostalCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StateCityZip:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 150
      Latitude:
        type:
        - number
        - 'null'
      Longitude:
        type:
        - number
        - 'null'
      APN:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      Hash:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 50
      FullAddress:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 700
      CountyFIPSCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StateFIPSCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      AddressStandardized:
        type:
        - boolean
        - 'null'
      RefID:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
    required:
    - AddressType
    - StreetNumber
    - StreetPreDirection
    - StreetName
    - StreetSuffix
    - StreetPostDirection
    - UnitDesignation
    - UnitNumber
    - StreetAddress1
    - StreetAddress2
    - City
    - State
    - ZipCode
    - ZipFour
    - County
    - Country
    - PostalCode
    - StateCityZip
    - Latitude
    - Longitude
    - APN
    - Hash
    - FullAddress
    - CountyFIPSCode
    - StateFIPSCode
    - AddressStandardized
    - RefID
  EntityInfo:
    type:
    - object
    - 'null'
    properties:
      EntityCode:
        type:
        - string
        - 'null'
      EntityCodeDesc:
        type:
        - string
        - 'null'
      Name:
        $ref: '#/definitions/Name'
    required:
    - EntityCode
    - EntityCodeDesc
    - Name
  Error:
    type:
    - object
    - 'null'
    properties:
      Code:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 10
      Description:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 500
    required:
    - Code
    - Description
  FLEXData:
    type:
    - object
    - 'null'
    properties:
      CompanyInventory:
        type: boolean
      LoanNumber:
        type:
        - string
        - 'null'
      MatchedSSN:
        type:
        - string
        - 'null'
      SubjectProperty:
        $ref: '#/definitions/Location'
      ScheduleofRealEstateOwned:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/Location'
      Borrowers:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/Borrower'
      LoanData:
        $ref: '#/definitions/LoanData'
    required:
    - CompanyInventory
    - LoanNumber
    - MatchedSSN
    - SubjectProperty
    - ScheduleofRealEstateOwned
    - Borrowers
    - LoanData
  IdentityDetails:
    type:
    - object
    - 'null'
    properties:
      ID:
        type: integer
      Name:
        $ref: '#/definitions/ConsumerNameInfo'
      SSNInfo:
        $ref: '#/definitions/ConsumerSSNInfo'
      Address:
        $ref: '#/definitions/ConsumerAddress'
    required:
    - ID
    - Name
    - SSNInfo
    - Address
  InquiryData:
    type:
    - object
    - 'null'
    properties:
      Mers:
        $ref: '#/definitions/Mers'
      Borrower:
        $ref: '#/definitions/MersBorrower'
      Property:
        $ref: '#/definitions/Location'
      Status:
        $ref: '#/definitions/Status'
      Key:
        $ref: '#/definitions/Key'
      InvestorOrganizationIdentifier:
        type:
        - string
        - 'null'
      InvestorOrganizationName:
        type:
        - string
        - 'null'
      LienPriority:
        type: string
        enum:
        - FirstLien
        - SecondLien
        - Other
        - NoLienPriorityFromMERS
      MERSiRegistrationIndicator:
        type:
        - string
        - 'null'
      MINAffiliationIndicator:
        type:
        - string
        - 'null'
      MINArchivedIndicator:
        type:
        - string
        - 'null'
      MINStatus:
        type: string
        enum:
        - Active
        - ForeclosureComplete
        - PaidInFull
        - DefaultBySubservicer
        - TransferToNonMERSStatus
        - RenewalAndExtension
        - ReinstatedOrModified
        - ResignationFromMERS
        - RegistrationReversal
        - MERS123Reserved
        - MERS123PreliminaryRegistration
        - MERS123CancelledPreliminaryRegistration
        - Reserved
        - Inactive
        - DefaultByServicer
        - PreClosing
        - DeactivationAssignedFromMERSForDefaultOrBankruptcy
        - NoMINStatusFromMERS
      NoteDate:
        $ref: '#/definitions/ParsedDate'
      OriginalLoanAmount:
        type:
        - string
        - 'null'
      OriginatingOrganizationIdentifier:
        type:
        - string
        - 'null'
      OwnerOccupiedIndicator:
        type:
        - string
        - 'null'
      ServicerOrganizationIdentifier:
        type:
        - string
        - 'null'
      ServicerOrganizationName:
        type:
        - string
        - 'null'
      SubservicerOrganizationIdentifier:
        type:
        - string
        - 'null'
      SubservicerOrganizationName:
        type:
        - string
        - 'null'
      ForeclosureStatus:
        type: string
        enum:
        - None
        - PendingOption1
        - PendingOption2
        - ReinstatedOrModifiedOption1
        - ReinstatedOrModifiedOption2
        - Other
        - ReinstatedOrModifiedOption3
        - ReinstatedOrModifiedOption1iReg
        - PendingOption3
        - NoForeclosureStatusFromMERS
      PoolIdentifier:
        type:
        - string
        - 'null'
      DeactivationDate:
        type:
        - string
        - 'null'
      SecuritizationIdentifier:
        type:
        - string
        - 'null'
      OriginalNoteHolder:
        type:
        - string
        - 'null'
      InvestorLoanIdentifier:
        type:
        - string
        - 'null'
      CustodianOrganizationIdentifier:
        type:
        - string
        - 'null'
      CustodianOrganizationName:
        type:
        - string
        - 'null'
      InterimFunderOrganizationIdentifier:
        type:
        - string
        - 'null'
      InterimFunderOrganizationName:
        type:
        - string
        - 'null'
    required:
    - Mers
    - Borrower
    - Property
    - Status
    - Key
    - InvestorOrganizationIdentifier
    - InvestorOrganizationName
    - LienPriority
    - MERSiRegistrationIndicator
    - MINAffiliationIndicator
    - MINArchivedIndicator
    - MINStatus
    - NoteDate
    - OriginalLoanAmount
    - OriginatingOrganizationIdentifier
    - OwnerOccupiedIndicator
    - ServicerOrganizationIdentifier
    - ServicerOrganizationName
    - SubservicerOrganizationIdentifier
    - SubservicerOrganizationName
    - ForeclosureStatus
    - PoolIdentifier
    - DeactivationDate
    - SecuritizationIdentifier
    - OriginalNoteHolder
    - InvestorLoanIdentifier
    - CustodianOrganizationIdentifier
    - CustodianOrganizationName
    - InterimFunderOrganizationIdentifier
    - InterimFunderOrganizationName
  Key:
    type:
    - object
    - 'null'
    properties:
      Name:
        type:
        - string
        - 'null'
      Value:
        type:
        - string
        - 'null'
    required:
    - Name
    - Value
  LoanData:
    type: object
    properties:
      loanDate:
        $ref: '#/definitions/ParsedDate'
      loanPurpose:
        format: int32
        enum:
        - CashOutRefi
        - Purchase
        - NoCashOutRefi
        - ConstructionPerm
        - RefiLandContract
        - LandContract
        - RateTermRefinance
        - HomeImprovement
        - ReverseMortgage
        - HomeEquity
        - Other
        type: integer
      occupancy:
        format: int32
        enum:
        - OwnerOccupied
        - Investor
        - SecondHome
        - Other
        type: integer
  Location:
    type:
    - object
    - 'null'
    properties:
      GeoDistance:
        type: number
      StreetNumber:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StreetPreDirection:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StreetName:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 200
      StreetSuffix:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 30
      StreetPostDirection:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      UnitDesignation:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      UnitNumber:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 15
      StreetAddress1:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 350
      StreetAddress2:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 300
      City:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      State:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 2
      ZipCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 10
      ZipFour:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 4
      County:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      Country:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      PostalCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StateCityZip:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 150
      Latitude:
        type:
        - number
        - 'null'
      Longitude:
        type:
        - number
        - 'null'
      APN:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      Hash:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 50
      FullAddress:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 700
      CountyFIPSCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      StateFIPSCode:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      AddressStandardized:
        type:
        - boolean
        - 'null'
      RefID:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
    required:
    - GeoDistance
    - StreetNumber
    - StreetPreDirection
    - StreetName
    - StreetSuffix
    - StreetPostDirection
    - UnitDesignation
    - UnitNumber
    - StreetAddress1
    - StreetAddress2
    - City
    - State
    - ZipCode
    - ZipFour
    - County
    - Country
    - PostalCode
    - StateCityZip
    - Latitude
    - Longitude
    - APN
    - Hash
    - FullAddress
    - CountyFIPSCode
    - StateFIPSCode
    - AddressStandardized
    - RefID
  Mers:
    type:
    - object
    - 'null'
    properties:
      MERS_MINNumber:
        type:
        - string
        - 'null'
      MERSOriginalMortgageeOfRecordIndicator:
        type:
        - string
        - 'null'
      MERSRegistrationDate:
        type:
        - string
        - 'null'
    required:
    - MERS_MINNumber
    - MERSOriginalMortgageeOfRecordIndicator
    - MERSRegistrationDate
  MersBorrower:
    type:
    - object
    - 'null'
    properties:
      FirstName:
        type:
        - string
        - 'null'
      LastName:
        type:
        - string
        - 'null'
      UnParsedName:
        type:
        - string
        - 'null'
      SSN:
        type:
        - string
        - 'null'
      NonPersonEntityIndicator:
        type:
        - string
        - 'null'
    required:
    - FirstName
    - LastName
    - UnParsedName
    - SSN
    - NonPersonEntityIndicator
  Name:
    type:
    - object
    - 'null'
    properties:
      Full:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 1000
      First:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 150
      Middle:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 100
      Last:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 300
      Suffix:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      Prefix:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 20
      LastOrCompanyName:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 500
      FirstAndMiddleName:
        type:
        - string
        - 'null'
        minLength: 0
        maxLength: 250
    required:
    - Full
    - First
    - Middle
    - Last
    - Suffix
    - Prefix
    - LastOrCompanyName
    - FirstAndMiddleName
  OwnerInformation:
    type:
    - object
    - 'null'
    properties:
      OwnerNames:
        type:
        - string
        - 'null'
      OwnerName1:
        type:
        - string
        - 'null'
      OwnerName2:
        type:
        - string
        - 'null'
      OwnerName3:
        type:
        - string
        - 'null'
      OwnerName4:
        type:
        - string
        - 'null'
      Buyer1IDCodeDesc:
        type:
        - string
        - 'null'
      Buyer2IDCodeDesc:
        type:
        - string
        - 'null'
      Vesting:
        type:
        - string
        - 'null'
      VestingCodeDesc:
        type:
        - string
        - 'null'
      CurrentOwnerAsOf:
        type:
        - string
        - 'null'
      OwnerOccupiedFlag:
        type:
        - string
        - 'null'
      MailingCareOfName:
        type:
        - string
        - 'null'
      MailingAddress:
        $ref: '#/definitions/Location'
    required:
    - OwnerNames
    - OwnerName1
    - OwnerName2
    - OwnerName3
    - OwnerName4
    - Buyer1IDCodeDesc
    - Buyer2IDCodeDesc
    - Vesting
    - VestingCodeDesc
    - CurrentOwnerAsOf
    - OwnerOccupiedFlag
    - MailingCareOfName
    - MailingAddress
  ParsedDate:
    type:
    - object
    - 'null'
    properties:
      Year:
        type:
        - integer
        - 'null'
      Month:
        type:
        - integer
        - 'null'
      Day:
        type:
        - integer
        - 'null'
    required:
    - Year
    - Month
    - Day
  PropertyAssessorTaxInfo:
    type:
    - object
    - 'null'
    properties:
      TaxExemptions:
        type:
        - array
        - 'null'
        items:
          type:
          - string
          - 'null'
    required:
    - TaxExemptions
  PropertyTransaction:
    type:
    - object
    - 'null'
    properties:
      TypeofSale:
        type:
        - string
        - 'null'
      SalesPrice:
        type: number
      PurchaseDate:
        $ref: '#/definitions/ParsedDate'
      Buyers:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/EntityInfo'
    required:
    - TypeofSale
    - SalesPrice
    - PurchaseDate
    - Buyers
  RealtyCharacteristics:
    type:
    - object
    - 'null'
    properties:
      LandUseStandardizedDesc:
        type:
        - string
        - 'null'
      BuildingCount:
        type:
        - string
        - 'null'
      UnitCount:
        type:
        - string
        - 'null'
      BuildingAreaTotal:
        type:
        - string
        - 'null'
    required:
    - LandUseStandardizedDesc
    - BuildingCount
    - UnitCount
    - BuildingAreaTotal
  RentalData:
    type:
    - object
    - 'null'
    properties:
      Accommodation:
        type:
        - string
        - 'null'
      Type:
        type:
        - string
        - 'null'
      OccupancyRate:
        type:
        - string
        - 'null'
      Price:
        type:
        - string
        - 'null'
    required:
    - Accommodation
    - Type
    - OccupancyRate
    - Price
  RiskIndicator:
    type:
    - object
    - 'null'
    properties:
      RiskCode:
        type:
        - string
        - 'null'
      RiskMessage:
        type:
        - string
        - 'null'
    required:
    - RiskCode
    - RiskMessage
  Status:
    type:
    - object
    - 'null'
    properties:
      Code:
        type:
        - string
        - 'null'
      Condition:
        type:
        - string
        - 'null'
      Description:
        type:
        - string
        - 'null'
      Name:
        type:
        - string
        - 'null'
    required:
    - Code
    - Condition
    - Description
    - Name
  OccupancyServiceRequest:
    required:
    - Persons
    - LoanData
    - SubjectAddress
    type: object
    properties:
      RequestorID:
        type:
        - string
        - 'null'
      Persons:
        type:
        - array
        - 'null'
        items:
          $ref: '#/definitions/Person'
      LoanData:
        $ref: '#/definitions/LoanData'
      SubjectAddress:
        $ref: '#/definitions/Address'
      MERSInfo:
        $ref: '#/definitions/MERSInfo'
      IncludeAnalytics:
        type: boolean
  Person:
    type: object
    properties:
      name:
        $ref: '#/definitions/Name'
      address

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/first-american-financial/refs/heads/main/openapi/first-american-financial-occupancy-openapi.yml