Skip to navigation

Prospects Overview

The Prospects API provides endpoints for managing potential tenants and their preferences throughout the leasing process.

Key Concepts

Prospect Information

Prospects contain essential contact and preference information:

  • Contact Details: Name, email, and phone information
  • Property Association: Each prospect is linked to a specific property
  • Referral Tracking: Source of how the prospect found the property

Prospect Preferences

Prospects can specify their housing preferences:

  • Unit Requirements: Number of bedrooms, bathrooms, and half-bathrooms
  • Pricing Range: Minimum and maximum price preferences
  • Lease Terms: Preferred lease duration
  • Move-in Timeline: Desired move-in date range
  • Additional Notes: Other specific requirements

Primary Prospect

Every prospect carries isPrimaryProspect, which mirrors the Primary marker Fortress shows on a household member. It is read from the application the prospect was converted into, so it is tri-state:

ValueMeaning
trueThe prospect is the primary member (head of household) of the application it converted into.
falseThe prospect converted into a household but is not its primary member — for example a lead that was added to another prospect’s household as a co-applicant, or a household whose primary was later changed to a different member.
nullCannot be determined. The prospect has not been converted to an applicant yet, so there is no household membership to read the marker from. Treat this as “unknown”, not as “not primary”.

isPrimaryProspect is filterable like any other boolean field: isPrimaryProspect = true, isPrimaryProspect = false, or isPrimaryProspect = NULL for the undetermined records. Each value is available on both the list and read endpoints below.

An undetermined prospect is returned without the isPrimaryProspect key rather than with a literal null — the export pipeline omits null columns, as it does for every nullable field on this API. Treat a missing key as null; isPrimaryProspect = NULL matches those records.

isPrimaryProspect reflects the application household, not the prospect record itself. A prospect that has never converted is the only person on its own record, but that does not make it true here — the value stays undetermined until a conversion creates the household the marker lives on.

Prospect Statuses

ProspectStatus is fixed, platform-wide master data — the same 14 statuses with the same ids exist in every environment, and the catalogue has no organizationId or propertyId. Fetch it via the list endpoint below and send the returned id as prospectStatusId when updating a prospect’s status.

Prospect Updates

Available by Request

Prospect contact information and preferences can be updated after creation via a partial update — only the fields supplied in the request body are modified. A prospect’s leasing status can also be updated independently via a dedicated status endpoint.

This endpoint is part of our evolving API ecosystem. To explore availability for your integration, please contact our team.

Prospect Leslie Integration Configuration

Available by Request

A prospect’s Leslie integration configuration reports whether Leslie is enabled for that prospect. If no configuration has been saved yet, the endpoint returns enabled: true and effectiveEnabled: true. Integrations should use effectiveEnabled, which accounts for a disabled quiet period that has elapsed.

This endpoint is part of our evolving API ecosystem. To explore availability for your integration, please contact our team.

Portal Invitations

Available by Request

Every prospect can be sent their own resident portal link to register and start an application. POST /prospects/{prospectId}/portal-invitation returns it, creating the prospect’s portal account if they do not have one yet. Once an account exists, the same link is also returned as portalInviteUrl on the prospect records from the list and read endpoints.

Prospect’s portal accountportalInviteUrl
Not created yetOmitted — call the portal-invitation endpoint first
UnclaimedThe claim link, which opens account setup prefilled with the prospect’s name and email
ClaimedThe property’s portal login link
Resident portal not active for the propertyOmitted; the portal-invitation endpoint returns 400

The portal-invitation endpoint also returns the login link, without creating an account, when the prospect’s email address already has a claimed account at the property on another record, such as their application. A claim link is only ever returned for an account under the prospect’s own email address. The endpoint returns 400 and changes nothing when Leslie is not enabled for the property, when the prospect has no claimed account and no usable email address (missing or a placeholder such as none@none.com), when another record already holds a pending invitation for that email at the property, or when the property blocked the prospect’s portal account.

Fortress does not send anything when you request the link — delivering it is up to you.

The claim link lets whoever holds it set the prospect’s portal password. Send it only to the prospect it belongs to.

Available Endpoints

EndpointSummaryMethod
/prospectStatusesList Prospect StatusesGET
/prospectsList ProspectsGET
/prospectsCreate ProspectPOST
/prospects/{prospectId}Read ProspectGET
/prospects/{prospectId}Update ProspectPUT
/prospects/{prospectId}/statusUpdate Prospect StatusPUT
/prospects/{prospectId}/leslieConfigurationRead Leslie ConfigurationGET
/prospects/{prospectId}/portal-invitationCreate Prospect Portal InvitationPOST