> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developer.fortresstech.io/api-reference/renewal-offers/list-renewal-offers/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.fortresstech.io/_mcp/server. # List Renewal Offers GET https://api.fortresstech.io/v1/renewalOffers List all renewal offers Reference: https://developer.fortresstech.io/api-reference/renewal-offers/list-renewal-offers ## Authentication - `x-api-key` header (required) — API Key authentication via header ## Response ### 200 A paged array of renewal offers - `list of RenewalOffer` ## Types ### RenewalOffer - `offerDate` (datetime, optional) - `expirationDate` (datetime, optional) - `termMonths` (integer, optional) - `rentAmount` (double, optional) - `masterLeaseTermId` (string, optional) — The id of the master lease term for the renewal offer - `termDescription` (string, optional) — The description of the renewal lease term - `id` (string, optional) - `readableId` (string, optional) - `idempotencyId` (string, optional) - `createdAt` (datetime, optional) - `updatedAt` (datetime, optional) - `deletedAt` (datetime, optional) - `unitId` (string, optional) - `leaseId` (string, optional) - `organizationId` (string, optional) - `propertyId` (string, optional) - `unit` (units_components-schemas-Base, optional) - `lease` (leases_components-schemas-Base, optional) - `property` (properties_components-schemas-Base, optional) ### units_components-schemas-Base - `number` (string, optional) - `floorLevel` (string, optional) - `isADA` (boolean, optional) - `streetAddress1` (string, optional) — Primary street address line for the unit (e.g. street number and name) - `streetAddress2` (string, optional) — Secondary street address line for the unit (e.g. apartment, suite, or building number) - `city` (string, optional) — City in which the unit is located - `state` (string, optional) — State or province in which the unit is located - `zipCode` (string, optional) — Postal / ZIP code for the unit - `fullAddress` (string, optional) — Human-readable address composed from the individual address components (street lines, city, and state/zip), joined with commas. Blank components are omitted. Null when the unit has no address information. - `status` (enum, optional) - Allowed values: `VACANT_READY`, `VACANT_NOT_READY`, `OCCUPIED_ON_NTV`, `OCCUPIED_NO_NOTICE`, `DOWN`, `PROPERTY_MODEL`, `PROPERTY_OFFICE`, `NON_PRODUCTIVE` - `isOccupied` (boolean, optional) — Whether the unit counts as occupied per Fortress occupancy logic (UnitStatus cannot move-in and is not Down). Matches the Portfolio Summary occupied-units calculation. - `floorPlanId` (string, optional) - `propertyId` (string, optional) - `organizationId` (string, optional) - `buildingId` (string, optional) - `currentHouseholdId` (string, optional) - `lastMoveOutId` (string, optional) - `priorLeaseId` (string, optional) - `id` (string, optional) - `readableId` (string, optional) - `idempotencyId` (string, optional) - `createdAt` (datetime, optional) - `updatedAt` (datetime, optional) - `deletedAt` (datetime, optional) - `vacantSince` (datetime, optional) - `reportOrder` (double, optional) - `makeReadyDate` (date, optional) — Expected make ready date for the unit - `reportConfigurationValue` (enum, optional) — Value of the report configuration for the unit - Allowed values: `Quoting Rent`, `Financial Market Rent`, `Market Rent` - `lastVacancyStartDate` (date, optional) — Date when the unit last became vacant - `mostRecentApplicationId` (string, optional) — ID of the most recent application for this unit ### leases_components-schemas-Base - `startDate` (date, optional) - `endDate` (date, optional) - `moveInDate` (date, optional) — Effective move-in date (actualMoveInDate if available, otherwise moveInDate) - `moveOutDate` (date, optional) — Move-out date from the last NoticeToVacate - `rentAmount` (double, optional) - `leasedRent` (double, optional) — Leased rent amount on the lease - `securityDepositAmount` (double, optional) - `makeReadyDate` (date, optional) — Unit make ready date from Unit table - `turnMoveOutDays` (integer, optional) — Turn move out days from Property table - `documentId` (string, optional) — The id of the lease document - `moveOutId` (string, optional) - `id` (string, optional) - `readableId` (string, optional) - `idempotencyId` (string, optional) - `createdAt` (datetime, optional) - `updatedAt` (datetime, optional) - `deletedAt` (datetime, optional) - `propertyId` (string, optional) - `unitId` (string, optional) - `householdId` (string, optional) - `organizationId` (string, optional) ### properties_components-schemas-Base - `name` (string, optional) - `shortName` (string, optional) - `email` (string, optional) - `phone` (string, optional) - `physicalStreetAddress1` (string, optional) - `physicalStreetAddress2` (string, optional) - `physicalCity` (string, optional) - `physicalState` (string, optional) - `physicalZip` (string, optional) - `physicalCountry` (string, optional) - `mailingStreetAddress1` (string, optional) - `mailingStreetAddress2` (string, optional) - `mailingCity` (string, optional) - `mailingState` (string, optional) - `mailingZip` (string, optional) - `mailingCountry` (string, optional) - `phoneNumber` (string, optional) - `faxNumber` (string, optional) - `timezone` (string, optional) - `longitude` (double, optional) - `latitude` (double, optional) - `turnMoveOutDays` (integer, optional) — Number of days after move-out to calculate make ready date - `status` (enum, optional, nullable) — Property lifecycle status. Fortress aggregates occupancy only for ACTIVE properties. - Allowed values: `ACTIVE`, `INACTIVE`, `PENDING` - `propertyClass` (enum, optional, nullable) — The property's class. Null for properties with no class assigned. - Allowed values: `Conventional`, `Affordable`, `Mixed` - `organizationId` (string, optional) - `id` (string, optional) - `readableId` (string, optional) - `idempotencyId` (string, optional) - `createdAt` (datetime, optional) - `updatedAt` (datetime, optional) - `deletedAt` (datetime, optional) - `offboardedAt` (datetime, optional) - `countyName` (string, optional) - `acquisitionDate` (datetime, optional) ## Examples **Response** ```json [ { "offerDate": "2024-01-15T09:30:00Z", "expirationDate": "2024-01-15T09:30:00Z", "termMonths": 1, "rentAmount": 1.1, "masterLeaseTermId": "string", "termDescription": "string", "id": "string", "readableId": "string", "idempotencyId": "string", "createdAt": "2024-01-15T09:30:00Z", "updatedAt": "2024-01-15T09:30:00Z", "deletedAt": "2024-01-15T09:30:00Z", "unitId": "string", "leaseId": "string", "organizationId": "string", "propertyId": "string", "unit": { "number": "string", "floorLevel": "string", "isADA": true, "streetAddress1": "string", "streetAddress2": "string", "city": "string", "state": "string", "zipCode": "string", "fullAddress": "string", "status": "VACANT_READY", "isOccupied": true, "floorPlanId": "string", "propertyId": "string", "organizationId": "string", "buildingId": "string", "currentHouseholdId": "string", "lastMoveOutId": "string", "priorLeaseId": "string", "id": "string", "readableId": "string", "idempotencyId": "string", "createdAt": "2024-01-15T09:30:00Z", "updatedAt": "2024-01-15T09:30:00Z", "deletedAt": "2024-01-15T09:30:00Z", "vacantSince": "2024-01-15T09:30:00Z", "reportOrder": 1.1, "makeReadyDate": "2023-01-15", "reportConfigurationValue": "Quoting Rent", "lastVacancyStartDate": "2023-01-15", "mostRecentApplicationId": "string" }, "lease": { "startDate": "2023-01-15", "endDate": "2023-01-15", "moveInDate": "2023-01-15", "moveOutDate": "2023-01-15", "rentAmount": 1.1, "leasedRent": 1.1, "securityDepositAmount": 1.1, "makeReadyDate": "2023-01-15", "turnMoveOutDays": 1, "documentId": "string", "moveOutId": "string", "id": "string", "readableId": "string", "idempotencyId": "string", "createdAt": "2024-01-15T09:30:00Z", "updatedAt": "2024-01-15T09:30:00Z", "deletedAt": "2024-01-15T09:30:00Z", "propertyId": "string", "unitId": "string", "householdId": "string", "organizationId": "string" }, "property": { "name": "string", "shortName": "string", "email": "string", "phone": "string", "physicalStreetAddress1": "string", "physicalStreetAddress2": "string", "physicalCity": "string", "physicalState": "string", "physicalZip": "string", "physicalCountry": "string", "mailingStreetAddress1": "string", "mailingStreetAddress2": "string", "mailingCity": "string", "mailingState": "string", "mailingZip": "string", "mailingCountry": "string", "phoneNumber": "string", "faxNumber": "string", "timezone": "string", "longitude": 1.1, "latitude": 1.1, "turnMoveOutDays": 1, "status": "ACTIVE", "propertyClass": "Conventional", "organizationId": "string", "id": "string", "readableId": "string", "idempotencyId": "string", "createdAt": "2024-01-15T09:30:00Z", "updatedAt": "2024-01-15T09:30:00Z", "deletedAt": "2024-01-15T09:30:00Z", "offboardedAt": "2024-01-15T09:30:00Z", "countyName": "string", "acquisitionDate": "2024-01-15T09:30:00Z" } } ] ``` **SDK Code** ```python import requests url = "https://api.fortresstech.io/v1/renewalOffers" headers = {"x-api-key": ""} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.fortresstech.io/v1/renewalOffers'; const options = {method: 'GET', headers: {'x-api-key': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.fortresstech.io/v1/renewalOffers" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-api-key", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.fortresstech.io/v1/renewalOffers") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["x-api-key"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.fortresstech.io/v1/renewalOffers") .header("x-api-key", "") .asString(); ``` ```php request('GET', 'https://api.fortresstech.io/v1/renewalOffers', [ 'headers' => [ 'x-api-key' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.fortresstech.io/v1/renewalOffers"); var request = new RestRequest(Method.GET); request.AddHeader("x-api-key", ""); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["x-api-key": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.fortresstech.io/v1/renewalOffers")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```