---
title: "Find ownership matches"
method: POST
path: "/posfinancing/rest/v2/ownership-matches"
tags: ["Ownership Matches"]
---

# Find ownership matches

`POST /posfinancing/rest/v2/ownership-matches`

## Request

- Base URL: `https://devint01-api.goodleap.com`
- URL: `https://devint01-api.goodleap.com/posfinancing/rest/v2/ownership-matches`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/goodleap/apis/developer-api/docs/posfinancing/rest/v2/ownership-matches/post.ts> (a function with typed inputs; its response is checked against the schema)

Ownership Matches

## Request body

- SUBMISSIONOwnershipMatchesInput
  - `address` SUBMISSIONOwnershipMatchesAddressDto, required
    - `street` string, required: The street address.
    - `street2` string, nullable: Unit/suite/floor, etc. Appended to `street` with a space before sending upstream.
    - `city` string, required: The city.
    - `state` string, required: The 2-letter state code.
    - `zip` string, required: The 5 or 9-digit ZIP code.
  - `names` SUBMISSIONCandidateNameDto[], required: People to match against the property's reported owners.
    - `first` string, required
    - `middle` string
    - `last` string, required

## Response `200`

The reported owners and a match verdict per candidate name.

- SchemaObject9
  - `payload` object, required: The response data.
    - `allOwnersMatched` boolean, required: Whether every submitted name matched a reported property owner.
    - `similarityThreshold` number, required: The fuzzy-match threshold (0, 1] applied to every match in this response - diagnostics only, never an input to this endpoint.
    - `owners` SUBMISSIONPropertyOwnerDto[], required: Every owner First American has on record for the property, 1:1 from First American.
      - `firstName` string, nullable, required
      - `middleName` string, nullable, required
      - `lastName` string, nullable, required
      - `fullName` string, nullable, required: The owner's name as reported, in its verbatim spelling. For corporate entities this is the company name, with `firstName`, `middleName`, and `lastName` all `null`.
      - `isCorporate` boolean, required: Whether this is a trust, LLC, or other corporate entity rather than a natural person.
      - `matched` boolean, required
    - `names` SUBMISSIONCandidateNameMatchDto[], required: The request's `names`, echoed back with a per-person ownership-match verdict, 1:1 and in the order they were submitted.
      - `first` string, required
      - `middle` string, nullable, required: `null` when the request's name had no middle name.
      - `last` string, required
      - `isPropertyOwner` boolean, required

## Other responses

- `400`: The request cannot be processed due to malformed data.
- `401`: Unauthorized access to the requested resource.
- `404`: The resource was not found.
- `409`: The request cannot be processed due to a conflict with the current state of the resource.
- `422`: The server understood the request but it was unable to process the contained instructions.

## Changes

- **2026-10-29** `30a51d431498`: 1 info
  - api operation id `postOwnershipMatches` was added
- **2026-10-20** `f3b2f62c2a21`: 2 warning
  - changed the pattern of the request property `address/state` from `/^[A-Z]{2}$/` to `^[A-Z]{2}$`
  - changed the pattern of the request property `address/zip` from `/^\d{5}(?:-\d{4})?$/` to `^\d{5}(?:-\d{4})?$`
- **2026-09-22** `347fae53b9dd`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/goodleap/apis/developer-api/changes/posfinancing/rest/v2/ownership-matches/post.md)

---

[API](https://skmtc.dev/goodleap/apis/developer-api.md) - [All operations](https://skmtc.dev/goodleap/apis/developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/goodleap/apis/developer-api/revisions/30a51d431498?raw)
