{"items":[{"type":"link","label":"RentEngine Public API","link":"/openapi/openapi","routeSlug":"/openapi/openapi","content":{"contentType":"overview","meta":{"name":"RentEngine Public API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"openapi.json","url":"/_bundle/openapi/openapi.json?download"},{"kind":"download","label":"openapi.yaml","url":"/_bundle/openapi/openapi.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://rentengine.io","url":"https://rentengine.io"},{"kind":"email","title":"E-mail","titleTranslationKey":"info.contact.name","email":"eng@rentengine.io","label":"eng@rentengine.io","withCopyButton":true,"copyContent":"eng@rentengine.io"},{"kind":"externallink","title":"License","titleTranslationKey":"info.license","label":"Proprietary","url":"https://www.rentengine.io/termsofuse"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"RentEngine Public API (1.1.1)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Integrate your systems anywhere with RentEngine."},"children":[]}]}]}]}],"sectionId":"/openapi/openapi"}],"sectionId":"/openapi/openapi"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/authorization"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This API uses JWT Bearer token authentication. Follow these steps to obtain and use your API tokens:"},"children":[]}]}]}]}],"sectionId":"/openapi/openapi/section/authorization"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/obtaining-api-tokens"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtaining API Tokens"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Log in to your RentEngine "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In the top corner, click the \"Create New API Key\" button"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Provide a name for your token (e.g., \"Integration Name\")"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Click Create"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Copy the token to your clipboard and save it securely as it will not be displayed again"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important Security Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Your token will only be displayed ONCE at creation time. Make sure to copy it and store it securely. For security reasons, we cannot display the token again after this point."},"children":[]}]}]}]}],"sectionId":"/openapi/openapi/section/obtaining-api-tokens"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/using-api-tokens"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Using API Tokens"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Include your token in all API requests as a Bearer token in the Authorization header:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Bearer your_token_here\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Bearer your_token_here\n"},"children":[]}]}]}],"sectionId":"/openapi/openapi/section/using-api-tokens"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/token-security-best-practices"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Token Security Best Practices"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store tokens securely in environment variables or a secure vault"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Never hardcode tokens in your application code"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Do not share tokens in public repositories or client-side code"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use separate tokens for different integrations or environments"},"children":[]}]}]}]}]}],"sectionId":"/openapi/openapi/section/token-security-best-practices"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/token-permissions"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Token Permissions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each token generated by a user will have the full permissions of the user that created it across all accounts associated with that user."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Actions will be logged in the name of that user & token."},"children":[]}]}]}]}],"sectionId":"/openapi/openapi/section/token-permissions"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/invalidating-tokens"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invalidating Tokens"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tokens will not expire. (Well not for 100 years at least). If a token is compromised or no longer needed:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Log in to your RentEngine "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Find the token you wish to invalidate in the table in the API Keys section"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Click the \"Revoke Token\" icon that looks like a trash can"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once revoked, a token cannot be restored. You'll need to create a new token if needed."},"children":[]}]}]}]}],"sectionId":"/openapi/openapi/section/invalidating-tokens"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/pagination"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Most list endpoints in the RentEngine API support pagination to efficiently handle large datasets. Paginated endpoints accept the same query parameters, but there are "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"two response formats"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in use. Check the endpoint's response schema to determine which format it returns. A few endpoints return a fixed, bounded result set instead of paging (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /market-tool/comps"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returns up to 200 most recently active comparables) — these do not accept pagination parameters."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination Parameters (all list endpoints)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Controls how many items to return per page (default: 50, max: 100)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"page_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Specifies which page to retrieve (0-indexed, default: 0)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example request with pagination:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"GET /api/public/v1/lockboxes?limit=25&page_number=1\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"GET /api/public/v1/lockboxes?limit=25&page_number=1\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This would return the second page of results with 25 items per page."},"children":[]}]}]}]}],"sectionId":"/openapi/openapi/section/pagination"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4,"id":"section/response-format-a-bare-array-(legacy)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response Format A — Bare Array (legacy)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Most list endpoints return a bare JSON array containing only the requested page of items. The response does "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" include the total count or an explicit end-of-data marker."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoints using this format include:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/lockboxes"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/lockbox_events"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/lockbox_installations"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/units"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/prospects"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/subteams"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/prescreening_templates"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rental_applications"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example response:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"[\n  { \"id\": \"...\", \"...\": \"...\" },\n  { \"id\": \"...\", \"...\": \"...\" }\n]\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"[\n  { \"id\": \"...\", \"...\": \"...\" },\n  { \"id\": \"...\", \"...\": \"...\" }\n]\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To iterate, increment "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"page_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" until the response array is shorter than the requested "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — that indicates the last page."},"children":[]}]}]}]}],"sectionId":"/openapi/openapi/section/response-format-a-bare-array-(legacy)"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4,"id":"section/response-format-b-envelope-with-page-metadata"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response Format B — Envelope with Page Metadata"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Newer list endpoints wrap the data in an envelope that includes explicit pagination metadata, so you don't have to infer the end of the dataset from the array length."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoints using this format include:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rental_application_groups"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example response:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"data\": [\n    { \"id\": \"...\", \"...\": \"...\" },\n    { \"id\": \"...\", \"...\": \"...\" }\n  ],\n  \"page\": {\n    \"limit\": 50,\n    \"page_number\": 0,\n    \"has_more\": true,\n    \"next_page_number\": 1\n  }\n}\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"data\": [\n    { \"id\": \"...\", \"...\": \"...\" },\n    { \"id\": \"...\", \"...\": \"...\" }\n  ],\n  \"page\": {\n    \"limit\": 50,\n    \"page_number\": 0,\n    \"has_more\": true,\n    \"next_page_number\": 1\n  }\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fields in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value used for this response (echoes the request)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"page_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - The 0-indexed page returned (echoes the request)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"has_more"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if additional pages are available, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on the final page"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next_page_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - The page number to request next, or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"has_more"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To iterate, follow "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next_page_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" until it is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"has_more"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Performance Considerations"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use appropriate "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values based on your needs. Smaller values reduce payload size but require more API calls, which can slow down performance and be subject to rate limits."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When filtering data, apply filters in the query parameters first to reduce the total number of items that need to be fetched."},"children":[]}]}]}]}]}],"sectionId":"/openapi/openapi/section/response-format-b-envelope-with-page-metadata"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/rate-limiting"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate Limiting"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To ensure fair usage and protect our infrastructure, all API endpoints are rate limited. Rate limits are applied per user (based on your API token)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Default Rate Limits"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tier"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Requests"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Window"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standard"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"30"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"5 seconds"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Strict"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"10"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"5 seconds"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Market Tool"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"40"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"24 hours"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Most endpoints use the \"Standard\" tier. Endpoints that return PII or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"stream binary artifacts — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}/documents/{documentId}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — use the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Strict\" tier (2 req/s)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The market comps endpoint — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /market-tool/comps"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — uses the \"Market"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tool\" tier (40 requests per 24 hours) and is "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"metered: each successful"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"call incurs a $0.50 charge"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to your account. The strict daily limit and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"per-call charge exist to prevent abuse of this data-intensive endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate Limit Headers"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All API responses include headers to help you track your rate limit status:"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Header"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Description"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-RateLimit-Limit"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Maximum requests allowed in the current window"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-RateLimit-Remaining"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Number of requests remaining in the current window"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-RateLimit-Reset"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unix timestamp (milliseconds) when the rate limit resets"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Handling Rate Limits"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When you exceed the rate limit, you'll receive a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"429 Too Many Requests"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" response with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Retry-After"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header indicating how many seconds to wait before retrying."},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"error\": \"Too Many Requests\",\n  \"message\": \"Rate limit exceeded. Please try again later.\",\n  \"retryAfter\": 4\n}\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"error\": \"Too Many Requests\",\n  \"message\": \"Rate limit exceeded. Please try again later.\",\n  \"retryAfter\": 4\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitor the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-RateLimit-Remaining"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header to avoid hitting limits"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Implement exponential backoff when retrying after a 429 response"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cache responses when possible to reduce API calls"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use webhooks for real-time updates instead of polling"},"children":[]}]}]}]}]}],"sectionId":"/openapi/openapi/section/rate-limiting"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/webhooks"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhooks"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RentEngine provides webhooks to notify your systems about events in real-time. This allows you to build integrations that respond immediately to changes in your RentEngine data."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting Up Webhooks"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhooks can be configured through the RentEngine "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". You'll need to specify:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The target URL where webhook events should be sent"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The data you want to monitor (e.g., lockboxes, units, lockbox_events)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The event types you want to receive (INSERT, UPDATE, DELETE)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An optional API key that will be included in webhook requests to your endpoint"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook Payload Structure"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook payloads follow this general structure:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"type\": \"INSERT|UPDATE|DELETE\",\n  \"table\": \"table_name\",\n  \"record\": { /* The current state of the record (null for DELETE) */ },\n  \"old_record\": { /* The previous state of the record (null for INSERT) */ }\n}\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"type\": \"INSERT|UPDATE|DELETE\",\n  \"table\": \"table_name\",\n  \"record\": { /* The current state of the record (null for DELETE) */ },\n  \"old_record\": { /* The previous state of the record (null for INSERT) */ }\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The specific fields in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"record"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"old_record"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" will depend on the table that triggered the event."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event Types"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INSERT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Sent when a new record is created"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UPDATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Sent when an existing record is modified"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DELETE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Sent when a record is deleted"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Security Considerations"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook endpoints should be HTTPS to ensure secure transmission of data"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validate the API key included in the webhook request to ensure it's coming from RentEngine"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Implement idempotency in your webhook handlers to prevent duplicate processing"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook Delivery"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RentEngine uses a reliable delivery system (QStash) to ensure webhooks are delivered even during temporary outages. If your endpoint is unavailable, we'll retry delivery with exponential backoff."},"children":[]}]}]}]}],"sectionId":"/openapi/openapi/section/webhooks"}]}]}},{"type":"link","label":"Authorization","link":"/openapi/openapi/section/authorization","routeSlug":"/openapi/openapi/section/authorization","content":null},{"type":"link","label":"Obtaining API Tokens","link":"/openapi/openapi/section/obtaining-api-tokens","routeSlug":"/openapi/openapi/section/obtaining-api-tokens","content":null},{"type":"link","label":"Using API Tokens","link":"/openapi/openapi/section/using-api-tokens","routeSlug":"/openapi/openapi/section/using-api-tokens","content":null},{"type":"link","label":"Token Security Best Practices","link":"/openapi/openapi/section/token-security-best-practices","routeSlug":"/openapi/openapi/section/token-security-best-practices","content":null},{"type":"link","label":"Token Permissions","link":"/openapi/openapi/section/token-permissions","routeSlug":"/openapi/openapi/section/token-permissions","content":null},{"type":"link","label":"Invalidating Tokens","link":"/openapi/openapi/section/invalidating-tokens","routeSlug":"/openapi/openapi/section/invalidating-tokens","content":null},{"type":"link","label":"Pagination","link":"/openapi/openapi/section/pagination","routeSlug":"/openapi/openapi/section/pagination","content":null},{"type":"link","label":"Response Format A — Bare Array (legacy)","link":"/openapi/openapi/section/response-format-a-bare-array-(legacy)","routeSlug":"/openapi/openapi/section/response-format-a-bare-array-(legacy)","content":null},{"type":"link","label":"Response Format B — Envelope with Page Metadata","link":"/openapi/openapi/section/response-format-b-envelope-with-page-metadata","routeSlug":"/openapi/openapi/section/response-format-b-envelope-with-page-metadata","content":null},{"type":"link","label":"Rate Limiting","link":"/openapi/openapi/section/rate-limiting","routeSlug":"/openapi/openapi/section/rate-limiting","content":null},{"type":"link","label":"Webhooks","link":"/openapi/openapi/section/webhooks","routeSlug":"/openapi/openapi/section/webhooks","content":null},{"type":"group","label":"Reporting","link":"/openapi/openapi/reporting","routeSlug":"/openapi/openapi/reporting","items":[{"label":"Get unit leasing performance","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/reporting/getunitleasingperformance","routeSlug":"/openapi/openapi/reporting/getunitleasingperformance","metadata":{"seo":{"title":"Get unit leasing performance","description":"Retrieve leasing performance metrics for a specific unit within a date range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getUnitLeasingPerformance","name":"Get unit leasing performance","isWebhook":false,"pointer":"/paths/~1reporting~1leasing-performance~1units~1{unitId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get unit leasing performance","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve leasing performance metrics for a specific unit within a date range."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint provides comprehensive leasing activity data including:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Days on market"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Property health assessment"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lead volume and conversion metrics"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Showing activity (scheduled, completed, upcoming)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Application metrics"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Communication activity (texts, calls)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Detailed showing feedback from completed showings"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"unitId","in":"path","schemaId":"schema_80","description":"ID of the unit to get leasing performance for","required":true}],"pointer":"/paths/~1reporting~1leasing-performance~1units~1{unitId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"start","in":"query","schemaId":"schema_81","description":"Start date/time for the reporting period (ISO 8601 format)","required":true},{"name":"end","in":"query","schemaId":"schema_82","description":"End date/time for the reporting period (ISO 8601 format)","required":true}],"pointer":"/paths/~1reporting~1leasing-performance~1units~1{unitId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reporting/leasing-performance/units/{unitId}","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[{"name":"unitId","in":"path","required":true,"example":12345,"schemaId":"schema_80"}],"query":[{"name":"start","in":"query","required":true,"example":"2024-01-01T00:00:00Z","schemaId":"schema_81"},{"name":"end","in":"query","required":true,"example":"2024-01-31T23:59:59Z","schemaId":"schema_82"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","429","500"],"pointer":"/reporting/leasing-performance/units/{unitId}","href":"reporting/getunitleasingperformance","openApiOperationId":"getUnitLeasingPerformance","summary":"Get unit leasing performance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns leasing performance metrics for the unit.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UnitLeasingPerformance"}},"schemaId":"components/schemas/UnitLeasingPerformance"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/401/content/application~1json/example"]},{"code":"404","description":"Unit not found or no leasing performance data available","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/unit-not-found","paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/no-data"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/unit-not-found","paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/no-data"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/UnitLeasingPerformance","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UnitLeasingPerformance"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/unit-not-found","paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/no-data"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/unit-not-found","paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/no-data"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reporting/getunitleasingperformance"}],"panels":[]}]},"httpPath":"/reporting/leasing-performance/units/{unitId}"},{"label":"List prospects report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/reporting/getreportingprospects","routeSlug":"/openapi/openapi/reporting/getreportingprospects","metadata":{"seo":{"title":"List prospects report","description":"Row-level prospect data backing the Intelligence dashboard's Prospects table, for the given accounts and date range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReportingProspects","name":"List prospects report","isWebhook":false,"pointer":"/paths/~1reporting~1prospects/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List prospects report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Row-level prospect data backing the Intelligence dashboard's Prospects table,\nfor the given accounts and date range.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_ids","in":"query","schemaId":"schema_85","description":"Comma-separated account IDs to query. The token may only query accounts\nits user belongs to; requesting any other account yields 403.\n","required":true},{"name":"start","in":"query","schemaId":"schema_81","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the reporting period (ISO 8601, with timezone offset). The span between "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must not exceed 32 days."},"children":[]}]}]}],"required":true},{"name":"end","in":"query","schemaId":"schema_82","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the reporting period (ISO 8601, with timezone offset). Must be on or after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and within 32 days of it."},"children":[]}]}]}],"required":true},{"name":"subteam_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated subteam IDs to filter by."},{"name":"multifamily_property_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated multifamily property IDs to filter by."},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1reporting~1prospects/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reporting/prospects","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_ids","in":"query","required":true,"schemaId":"schema_85","style":"form","explode":false},{"name":"start","in":"query","required":true,"example":"2024-01-01T00:00:00Z","schemaId":"schema_81"},{"name":"end","in":"query","required":true,"example":"2024-01-31T23:59:59Z","schemaId":"schema_82"},{"name":"subteam_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"multifamily_property_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500"],"pointer":"/reporting/prospects","href":"reporting/getreportingprospects","openApiOperationId":"getReportingProspects","summary":"List prospects report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated prospect report rows.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingProspects"}},"schemaId":"components/schemas/ReportingProspects"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1prospects/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1reporting~1prospects/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reporting~1prospects/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReportingProspects","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingProspects"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1reporting~1prospects/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1prospects/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prospects/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reporting/getreportingprospects"}],"panels":[]}]},"httpPath":"/reporting/prospects"},{"label":"List units report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/reporting/getreportingunits","routeSlug":"/openapi/openapi/reporting/getreportingunits","metadata":{"seo":{"title":"List units report","description":"Row-level unit/property data backing the Intelligence dashboard's Properties table, for the given accounts and date range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReportingUnits","name":"List units report","isWebhook":false,"pointer":"/paths/~1reporting~1units/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List units report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Row-level unit/property data backing the Intelligence dashboard's Properties table,\nfor the given accounts and date range.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_ids","in":"query","schemaId":"schema_85","description":"Comma-separated account IDs to query. The token may only query accounts\nits user belongs to; requesting any other account yields 403.\n","required":true},{"name":"start","in":"query","schemaId":"schema_81","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the reporting period (ISO 8601, with timezone offset). The span between "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must not exceed 32 days."},"children":[]}]}]}],"required":true},{"name":"end","in":"query","schemaId":"schema_82","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the reporting period (ISO 8601, with timezone offset). Must be on or after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and within 32 days of it."},"children":[]}]}]}],"required":true},{"name":"subteam_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated subteam IDs to filter by."},{"name":"multifamily_property_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated multifamily property IDs to filter by."},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1reporting~1units/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reporting/units","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_ids","in":"query","required":true,"schemaId":"schema_85","style":"form","explode":false},{"name":"start","in":"query","required":true,"example":"2024-01-01T00:00:00Z","schemaId":"schema_81"},{"name":"end","in":"query","required":true,"example":"2024-01-31T23:59:59Z","schemaId":"schema_82"},{"name":"subteam_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"multifamily_property_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500"],"pointer":"/reporting/units","href":"reporting/getreportingunits","openApiOperationId":"getReportingUnits","summary":"List units report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated unit report rows.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingUnits"}},"schemaId":"components/schemas/ReportingUnits"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1units/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1reporting~1units/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reporting~1units/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReportingUnits","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingUnits"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1reporting~1units/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1units/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1units/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reporting/getreportingunits"}],"panels":[]}]},"httpPath":"/reporting/units"},{"label":"List showings report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/reporting/getreportingshowings","routeSlug":"/openapi/openapi/reporting/getreportingshowings","metadata":{"seo":{"title":"List showings report","description":"Row-level showing data backing the Intelligence dashboard's Showings table, for the given accounts and date range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReportingShowings","name":"List showings report","isWebhook":false,"pointer":"/paths/~1reporting~1showings/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List showings report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Row-level showing data backing the Intelligence dashboard's Showings table,\nfor the given accounts and date range.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_ids","in":"query","schemaId":"schema_85","description":"Comma-separated account IDs to query. The token may only query accounts\nits user belongs to; requesting any other account yields 403.\n","required":true},{"name":"start","in":"query","schemaId":"schema_81","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the reporting period (ISO 8601, with timezone offset). The span between "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must not exceed 32 days."},"children":[]}]}]}],"required":true},{"name":"end","in":"query","schemaId":"schema_82","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the reporting period (ISO 8601, with timezone offset). Must be on or after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and within 32 days of it."},"children":[]}]}]}],"required":true},{"name":"subteam_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated subteam IDs to filter by."},{"name":"multifamily_property_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated multifamily property IDs to filter by."},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1reporting~1showings/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reporting/showings","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_ids","in":"query","required":true,"schemaId":"schema_85","style":"form","explode":false},{"name":"start","in":"query","required":true,"example":"2024-01-01T00:00:00Z","schemaId":"schema_81"},{"name":"end","in":"query","required":true,"example":"2024-01-31T23:59:59Z","schemaId":"schema_82"},{"name":"subteam_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"multifamily_property_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500"],"pointer":"/reporting/showings","href":"reporting/getreportingshowings","openApiOperationId":"getReportingShowings","summary":"List showings report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated showing report rows.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingShowings"}},"schemaId":"components/schemas/ReportingShowings"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1showings/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1reporting~1showings/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reporting~1showings/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReportingShowings","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingShowings"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1reporting~1showings/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1showings/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1showings/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reporting/getreportingshowings"}],"panels":[]}]},"httpPath":"/reporting/showings"},{"label":"List prescreening report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/reporting/getreportingprescreening","routeSlug":"/openapi/openapi/reporting/getreportingprescreening","metadata":{"seo":{"title":"List prescreening report","description":"Row-level prescreening data backing the Intelligence dashboard's Prescreening table, for the given accounts and date range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReportingPrescreening","name":"List prescreening report","isWebhook":false,"pointer":"/paths/~1reporting~1prescreening/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List prescreening report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Row-level prescreening data backing the Intelligence dashboard's Prescreening table,\nfor the given accounts and date range.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_ids","in":"query","schemaId":"schema_85","description":"Comma-separated account IDs to query. The token may only query accounts\nits user belongs to; requesting any other account yields 403.\n","required":true},{"name":"start","in":"query","schemaId":"schema_81","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the reporting period (ISO 8601, with timezone offset). The span between "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must not exceed 32 days."},"children":[]}]}]}],"required":true},{"name":"end","in":"query","schemaId":"schema_82","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the reporting period (ISO 8601, with timezone offset). Must be on or after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and within 32 days of it."},"children":[]}]}]}],"required":true},{"name":"subteam_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated subteam IDs to filter by."},{"name":"multifamily_property_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated multifamily property IDs to filter by."},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1reporting~1prescreening/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reporting/prescreening","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_ids","in":"query","required":true,"schemaId":"schema_85","style":"form","explode":false},{"name":"start","in":"query","required":true,"example":"2024-01-01T00:00:00Z","schemaId":"schema_81"},{"name":"end","in":"query","required":true,"example":"2024-01-31T23:59:59Z","schemaId":"schema_82"},{"name":"subteam_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"multifamily_property_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500"],"pointer":"/reporting/prescreening","href":"reporting/getreportingprescreening","openApiOperationId":"getReportingPrescreening","summary":"List prescreening report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated prescreening report rows.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingPrescreening"}},"schemaId":"components/schemas/ReportingPrescreening"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1prescreening/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1reporting~1prescreening/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reporting~1prescreening/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReportingPrescreening","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingPrescreening"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1reporting~1prescreening/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1prescreening/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1prescreening/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reporting/getreportingprescreening"}],"panels":[]}]},"httpPath":"/reporting/prescreening"},{"label":"List calls report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/reporting/getreportingcalls","routeSlug":"/openapi/openapi/reporting/getreportingcalls","metadata":{"seo":{"title":"List calls report","description":"Row-level call data backing the Intelligence dashboard's Calls table, for the given accounts and date range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReportingCalls","name":"List calls report","isWebhook":false,"pointer":"/paths/~1reporting~1calls/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List calls report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Row-level call data backing the Intelligence dashboard's Calls table,\nfor the given accounts and date range.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_ids","in":"query","schemaId":"schema_85","description":"Comma-separated account IDs to query. The token may only query accounts\nits user belongs to; requesting any other account yields 403.\n","required":true},{"name":"start","in":"query","schemaId":"schema_81","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the reporting period (ISO 8601, with timezone offset). The span between "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must not exceed 32 days."},"children":[]}]}]}],"required":true},{"name":"end","in":"query","schemaId":"schema_82","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the reporting period (ISO 8601, with timezone offset). Must be on or after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and within 32 days of it."},"children":[]}]}]}],"required":true},{"name":"subteam_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated subteam IDs to filter by."},{"name":"multifamily_property_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated multifamily property IDs to filter by."},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1reporting~1calls/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reporting/calls","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_ids","in":"query","required":true,"schemaId":"schema_85","style":"form","explode":false},{"name":"start","in":"query","required":true,"example":"2024-01-01T00:00:00Z","schemaId":"schema_81"},{"name":"end","in":"query","required":true,"example":"2024-01-31T23:59:59Z","schemaId":"schema_82"},{"name":"subteam_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"multifamily_property_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500"],"pointer":"/reporting/calls","href":"reporting/getreportingcalls","openApiOperationId":"getReportingCalls","summary":"List calls report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated call report rows.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingCalls"}},"schemaId":"components/schemas/ReportingCalls"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1calls/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1reporting~1calls/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reporting~1calls/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReportingCalls","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingCalls"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1reporting~1calls/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1calls/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1calls/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reporting/getreportingcalls"}],"panels":[]}]},"httpPath":"/reporting/calls"},{"label":"List marketing sources report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/reporting/getreportingmarketingsources","routeSlug":"/openapi/openapi/reporting/getreportingmarketingsources","metadata":{"seo":{"title":"List marketing sources report","description":"Per-source marketing performance backing the Intelligence dashboard's Marketing Sources table, for the given accounts and date range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReportingMarketingSources","name":"List marketing sources report","isWebhook":false,"pointer":"/paths/~1reporting~1marketing-sources/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List marketing sources report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Per-source marketing performance backing the Intelligence dashboard's Marketing Sources\ntable, for the given accounts and date range.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_ids","in":"query","schemaId":"schema_85","description":"Comma-separated account IDs to query. The token may only query accounts\nits user belongs to; requesting any other account yields 403.\n","required":true},{"name":"start","in":"query","schemaId":"schema_81","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the reporting period (ISO 8601, with timezone offset). The span between "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must not exceed 32 days."},"children":[]}]}]}],"required":true},{"name":"end","in":"query","schemaId":"schema_82","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the reporting period (ISO 8601, with timezone offset). Must be on or after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and within 32 days of it."},"children":[]}]}]}],"required":true},{"name":"subteam_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated subteam IDs to filter by."},{"name":"multifamily_property_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated multifamily property IDs to filter by."},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1reporting~1marketing-sources/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reporting/marketing-sources","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_ids","in":"query","required":true,"schemaId":"schema_85","style":"form","explode":false},{"name":"start","in":"query","required":true,"example":"2024-01-01T00:00:00Z","schemaId":"schema_81"},{"name":"end","in":"query","required":true,"example":"2024-01-31T23:59:59Z","schemaId":"schema_82"},{"name":"subteam_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"multifamily_property_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500"],"pointer":"/reporting/marketing-sources","href":"reporting/getreportingmarketingsources","openApiOperationId":"getReportingMarketingSources","summary":"List marketing sources report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated marketing-source report rows.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingMarketingSources"}},"schemaId":"components/schemas/ReportingMarketingSources"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reporting~1marketing-sources/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReportingMarketingSources","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingMarketingSources"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1marketing-sources/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reporting/getreportingmarketingsources"}],"panels":[]}]},"httpPath":"/reporting/marketing-sources"},{"label":"List applications report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/reporting/getreportingapplications","routeSlug":"/openapi/openapi/reporting/getreportingapplications","metadata":{"seo":{"title":"List applications report","description":"Row-level application-group data backing the Intelligence dashboard's Applications table, for the given accounts and date range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReportingApplications","name":"List applications report","isWebhook":false,"pointer":"/paths/~1reporting~1applications/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List applications report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Row-level application-group data backing the Intelligence dashboard's Applications table,\nfor the given accounts and date range.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_ids","in":"query","schemaId":"schema_85","description":"Comma-separated account IDs to query. The token may only query accounts\nits user belongs to; requesting any other account yields 403.\n","required":true},{"name":"start","in":"query","schemaId":"schema_81","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the reporting period (ISO 8601, with timezone offset). The span between "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must not exceed 32 days."},"children":[]}]}]}],"required":true},{"name":"end","in":"query","schemaId":"schema_82","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the reporting period (ISO 8601, with timezone offset). Must be on or after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and within 32 days of it."},"children":[]}]}]}],"required":true},{"name":"subteam_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated subteam IDs to filter by."},{"name":"multifamily_property_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated multifamily property IDs to filter by."},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1reporting~1applications/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reporting/applications","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_ids","in":"query","required":true,"schemaId":"schema_85","style":"form","explode":false},{"name":"start","in":"query","required":true,"example":"2024-01-01T00:00:00Z","schemaId":"schema_81"},{"name":"end","in":"query","required":true,"example":"2024-01-31T23:59:59Z","schemaId":"schema_82"},{"name":"subteam_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"multifamily_property_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500"],"pointer":"/reporting/applications","href":"reporting/getreportingapplications","openApiOperationId":"getReportingApplications","summary":"List applications report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated application report rows.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingApplications"}},"schemaId":"components/schemas/ReportingApplications"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1applications/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1reporting~1applications/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reporting~1applications/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReportingApplications","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingApplications"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1reporting~1applications/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1applications/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1applications/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reporting/getreportingapplications"}],"panels":[]}]},"httpPath":"/reporting/applications"},{"label":"List agent performance report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/reporting/getreportingagentperformance","routeSlug":"/openapi/openapi/reporting/getreportingagentperformance","metadata":{"seo":{"title":"List agent performance report","description":"Per-agent performance metrics backing the Intelligence dashboard's Agent Performance table, for the given accounts and date range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReportingAgentPerformance","name":"List agent performance report","isWebhook":false,"pointer":"/paths/~1reporting~1agent-performance/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List agent performance report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Per-agent performance metrics backing the Intelligence dashboard's Agent Performance\ntable, for the given accounts and date range.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_ids","in":"query","schemaId":"schema_85","description":"Comma-separated account IDs to query. The token may only query accounts\nits user belongs to; requesting any other account yields 403.\n","required":true},{"name":"start","in":"query","schemaId":"schema_81","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the reporting period (ISO 8601, with timezone offset). The span between "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must not exceed 32 days."},"children":[]}]}]}],"required":true},{"name":"end","in":"query","schemaId":"schema_82","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the reporting period (ISO 8601, with timezone offset). Must be on or after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and within 32 days of it."},"children":[]}]}]}],"required":true},{"name":"subteam_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated subteam IDs to filter by."},{"name":"multifamily_property_ids","in":"query","schemaId":"schema_86","description":"Optional comma-separated multifamily property IDs to filter by."},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1reporting~1agent-performance/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reporting/agent-performance","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_ids","in":"query","required":true,"schemaId":"schema_85","style":"form","explode":false},{"name":"start","in":"query","required":true,"example":"2024-01-01T00:00:00Z","schemaId":"schema_81"},{"name":"end","in":"query","required":true,"example":"2024-01-31T23:59:59Z","schemaId":"schema_82"},{"name":"subteam_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"multifamily_property_ids","in":"query","required":false,"schemaId":"schema_86","style":"form","explode":false},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500"],"pointer":"/reporting/agent-performance","href":"reporting/getreportingagentperformance","openApiOperationId":"getReportingAgentPerformance","summary":"List agent performance report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated agent-performance report rows.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingAgentPerformance"}},"schemaId":"components/schemas/ReportingAgentPerformance"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1agent-performance/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1reporting~1agent-performance/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1reporting~1agent-performance/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReportingAgentPerformance","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReportingAgentPerformance"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1reporting~1agent-performance/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1reporting~1agent-performance/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1reporting~1agent-performance/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reporting/getreportingagentperformance"}],"panels":[]}]},"httpPath":"/reporting/agent-performance"}],"content":{"contentType":"group","meta":{"name":"Reporting"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Reporting","showPageActions":true},{"nodeType":"markdoc","content":"Operations for retrieving leasing performance reports and analytics"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/reporting/leasing-performance/units/{unitId}","summary":"Get unit leasing performance","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reporting/getunitleasingperformance","deprecated":false},{"title":"/reporting/prospects","summary":"List prospects report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reporting/getreportingprospects","deprecated":false},{"title":"/reporting/units","summary":"List units report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reporting/getreportingunits","deprecated":false},{"title":"/reporting/showings","summary":"List showings report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reporting/getreportingshowings","deprecated":false},{"title":"/reporting/prescreening","summary":"List prescreening report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reporting/getreportingprescreening","deprecated":false},{"title":"/reporting/calls","summary":"List calls report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reporting/getreportingcalls","deprecated":false},{"title":"/reporting/marketing-sources","summary":"List marketing sources report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reporting/getreportingmarketingsources","deprecated":false},{"title":"/reporting/applications","summary":"List applications report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reporting/getreportingapplications","deprecated":false},{"title":"/reporting/agent-performance","summary":"List agent performance report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reporting/getreportingagentperformance","deprecated":false}]}]}]}]}},{"type":"group","label":"Lockboxes","link":"/openapi/openapi/lockboxes","routeSlug":"/openapi/openapi/lockboxes","items":[{"label":"Get lockboxes","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/lockboxes/getlockboxes","routeSlug":"/openapi/openapi/lockboxes/getlockboxes","metadata":{"seo":{"title":"Get lockboxes","description":"Retrieve lockboxes with optional filtering and pagination"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLockboxes","name":"Get lockboxes","isWebhook":false,"pointer":"/paths/~1lockboxes/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get lockboxes","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve lockboxes with optional filtering and pagination"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"serial_numbers","in":"query","schemaId":"schema_89","description":"Filter by comma-separated list of lockbox provider serial numbers","example":["1234567","7654321"]},{"name":"lockbox_ids","in":"query","schemaId":"schema_90","description":"Filter by comma-separated list of RentEngine lockbox IDs","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"]},{"name":"account_id","in":"query","schemaId":"schema_91","description":"Filter by lockboxes associated with a specific RentEngine account by the account's id"},{"name":"lockbox_type","in":"query","schemaId":"schema_92","description":"Filter by lockbox type. All types are filterable; note that\nCREATING lockboxes via the API is Sentrilock-only (see\nPostLockboxesRequest).\n"},{"name":"limit","in":"query","schemaId":"schema_93","description":"Maximum number of items to return per page (default 50, max 100)"},{"name":"page_number","in":"query","schemaId":"schema_94","description":"Page number for pagination (0-indexed, default 0)"}],"pointer":"/paths/~1lockboxes/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/lockboxes","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"serial_numbers","in":"query","example":["1234567","7654321"],"schemaId":"schema_89","style":"form","explode":false},{"name":"lockbox_ids","in":"query","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"],"schemaId":"schema_90","style":"form","explode":false},{"name":"account_id","in":"query","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_91"},{"name":"lockbox_type","in":"query","example":"Sentrilock","schemaId":"components/schemas/LockboxTypeValue"},{"name":"limit","in":"query","example":25,"schemaId":"schema_93"},{"name":"page_number","in":"query","example":1,"schemaId":"schema_94"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/lockboxes","href":"lockboxes/getlockboxes","openApiOperationId":"getLockboxes","summary":"Get lockboxes"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of lockboxes.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_95"}},"schemaId":"schema_95"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockboxes/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1lockboxes/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1lockboxes/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_95","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_95"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1lockboxes/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockboxes/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/lockboxes/getlockboxes"}],"panels":[]}]},"httpPath":"/lockboxes"},{"label":"Create lockboxes","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/lockboxes/postlockboxes","routeSlug":"/openapi/openapi/lockboxes/postlockboxes","metadata":{"seo":{"title":"Create lockboxes","description":"Create new lockboxes (currently only SentriLock type is supported)"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postLockboxes","name":"Create lockboxes","isWebhook":false,"pointer":"/paths/~1lockboxes/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create lockboxes","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create new lockboxes (currently only SentriLock type is supported)"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostLockboxesRequest","exampleIds":["paths/~1lockboxes/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PostLockboxesRequest","exampleIds":["paths/~1lockboxes/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1lockboxes/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/lockboxes","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PostLockboxesRequest","exampleIds":["paths/~1lockboxes/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","429","500"],"pointer":"/lockboxes","href":"lockboxes/postlockboxes","openApiOperationId":"postLockboxes","summary":"Create lockboxes"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/PostLockboxesRequest","exampleIds":["paths/~1lockboxes/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostLockboxesRequest","exampleIds":["paths/~1lockboxes/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Lockboxes created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_95"}},"schemaId":"schema_95"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockboxes/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1lockboxes/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1lockboxes/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_95","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_95"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1lockboxes/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockboxes/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/lockboxes/postlockboxes"}],"panels":[]}]},"httpPath":"/lockboxes"},{"label":"Transfer lockboxes between accounts","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/lockboxes/postlockboxestransferaccounts","routeSlug":"/openapi/openapi/lockboxes/postlockboxestransferaccounts","metadata":{"seo":{"title":"Transfer lockboxes between accounts","description":"Moves lockboxes between accounts. The user must have access to both the lockboxes and the target account."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postLockboxesTransferAccounts","name":"Transfer lockboxes between accounts","isWebhook":false,"pointer":"/paths/~1lockboxes~1transfer_accounts/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Transfer lockboxes between accounts","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Moves lockboxes between accounts. The user must have access to both the lockboxes and the target account."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostLockboxTransferAccountsRequest","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PostLockboxTransferAccountsRequest","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1lockboxes~1transfer_accounts/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/lockboxes/transfer_accounts","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PostLockboxTransferAccountsRequest","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","429","500"],"pointer":"/lockboxes/transfer_accounts","href":"lockboxes/postlockboxestransferaccounts","openApiOperationId":"postLockboxesTransferAccounts","summary":"Transfer lockboxes between accounts"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/PostLockboxTransferAccountsRequest","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostLockboxTransferAccountsRequest","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Lockboxes transferred successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_95"}},"schemaId":"schema_95"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - User does not have access to the target account or the specified lockboxes","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-account","paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-lockboxes"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-account","paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-lockboxes"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1lockboxes~1transfer_accounts/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_95","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_95"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-account","paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-lockboxes"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-account","paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-lockboxes"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1transfer_accounts/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/lockboxes/postlockboxestransferaccounts"}],"panels":[]}]},"httpPath":"/lockboxes/transfer_accounts"},{"label":"Generate a lockbox code","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/lockboxes/postgeneratelockboxcode","routeSlug":"/openapi/openapi/lockboxes/postgeneratelockboxcode","metadata":{"seo":{"title":"Generate a lockbox code","description":"Generate a one-time code for a lockbox. The code can be generated by providing either a lockbox_id, serial_number, or unit_id. The code will be valid for the specified date."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postGenerateLockboxCode","name":"Generate a lockbox code","isWebhook":false,"pointer":"/paths/~1lockboxes~1generate_code/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Generate a lockbox code","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generate a one-time code for a lockbox. The code can be generated by providing either a lockbox_id, serial_number, or unit_id. The code will be valid for the specified date."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostGenerateLockboxCodeRequest","exampleIds":["paths/~1lockboxes~1generate_code/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PostGenerateLockboxCodeRequest","exampleIds":["paths/~1lockboxes~1generate_code/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1lockboxes~1generate_code/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/lockboxes/generate_code","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PostGenerateLockboxCodeRequest","exampleIds":["paths/~1lockboxes~1generate_code/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","429","500"],"pointer":"/lockboxes/generate_code","href":"lockboxes/postgeneratelockboxcode","openApiOperationId":"postGenerateLockboxCode","summary":"Generate a lockbox code"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/PostGenerateLockboxCodeRequest","exampleIds":["paths/~1lockboxes~1generate_code/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostGenerateLockboxCodeRequest","exampleIds":["paths/~1lockboxes~1generate_code/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns the generated code and lockbox type.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_96"}},"schemaId":"schema_96"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1lockboxes~1generate_code/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_96","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_96"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockboxes~1generate_code/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/lockboxes/postgeneratelockboxcode"}],"panels":[]}]},"httpPath":"/lockboxes/generate_code"}],"content":{"contentType":"group","meta":{"name":"Lockboxes"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Lockboxes","showPageActions":true},{"nodeType":"markdoc","content":"Operations for managing lockboxes"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/lockboxes","summary":"Get lockboxes","prefix":{"name":"get","color":"get"},"badges":[],"link":"/lockboxes/getlockboxes","deprecated":false},{"title":"/lockboxes","summary":"Create lockboxes","prefix":{"name":"post","color":"post"},"badges":[],"link":"/lockboxes/postlockboxes","deprecated":false},{"title":"/lockboxes/transfer_accounts","summary":"Transfer lockboxes between accounts","prefix":{"name":"post","color":"post"},"badges":[],"link":"/lockboxes/postlockboxestransferaccounts","deprecated":false},{"title":"/lockboxes/generate_code","summary":"Generate a lockbox code","prefix":{"name":"post","color":"post"},"badges":[],"link":"/lockboxes/postgeneratelockboxcode","deprecated":false}]}]}]}]}},{"type":"group","label":"Lockbox Events","link":"/openapi/openapi/lockbox-events","routeSlug":"/openapi/openapi/lockbox-events","items":[{"label":"Get lockbox events","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/lockbox-events/getlockboxevents","routeSlug":"/openapi/openapi/lockbox-events/getlockboxevents","metadata":{"seo":{"title":"Get lockbox events","description":"Retrieve lockbox events with optional filtering and pagination"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLockboxEvents","name":"Get lockbox events","isWebhook":false,"pointer":"/paths/~1lockbox_events/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get lockbox events","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve lockbox events with optional filtering and pagination"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"serial_numbers","in":"query","schemaId":"schema_89","description":"Filter by comma-separated list of serial numbers","example":["1234567","7654321"]},{"name":"lockbox_ids","in":"query","schemaId":"schema_90","description":"Filter by comma-separated list of lockbox IDs","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"]},{"name":"lockbox_event_ids","in":"query","schemaId":"schema_97","description":"Filter by comma-separated list of lockbox event IDs","example":["123e4567-e89b-12d3-a456-426614174002","123e4567-e89b-12d3-a456-426614174003"]},{"name":"account_id","in":"query","schemaId":"schema_91","description":"Filter by account ID"},{"name":"lockbox_type","in":"query","schemaId":"schema_92","description":"Filter by lockbox type"},{"name":"event_types","in":"query","schemaId":"schema_98","description":"Filter by event types","example":["Install","Uninstall"]},{"name":"created_at_from","in":"query","schemaId":"schema_99","description":"Filter events created after this timestamp (ISO 8601 format)"},{"name":"created_at_to","in":"query","schemaId":"schema_100","description":"Filter events created before this timestamp (ISO 8601 format)"},{"name":"unit_ids","in":"query","schemaId":"schema_101","description":"Filter by comma-separated list of unit IDs","example":["12345","67890"]},{"name":"limit","in":"query","schemaId":"schema_93","description":"Maximum number of items to return per page (default 50, max 100)"},{"name":"page_number","in":"query","schemaId":"schema_94","description":"Page number for pagination (0-indexed, default 0)"}],"pointer":"/paths/~1lockbox_events/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/lockbox_events","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"serial_numbers","in":"query","example":["1234567","7654321"],"schemaId":"schema_89","style":"form","explode":false},{"name":"lockbox_ids","in":"query","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"],"schemaId":"schema_90","style":"form","explode":false},{"name":"lockbox_event_ids","in":"query","example":["123e4567-e89b-12d3-a456-426614174002","123e4567-e89b-12d3-a456-426614174003"],"schemaId":"schema_97","style":"form","explode":false},{"name":"account_id","in":"query","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_91"},{"name":"lockbox_type","in":"query","example":"Sentrilock","schemaId":"components/schemas/LockboxTypeValue"},{"name":"event_types","in":"query","example":["Install","Uninstall"],"schemaId":"schema_98","style":"form","explode":false},{"name":"created_at_from","in":"query","example":"2023-01-01T00:00:00Z","schemaId":"schema_99"},{"name":"created_at_to","in":"query","example":"2023-12-31T23:59:59Z","schemaId":"schema_100"},{"name":"unit_ids","in":"query","example":["12345","67890"],"schemaId":"schema_101","style":"form","explode":false},{"name":"limit","in":"query","example":25,"schemaId":"schema_93"},{"name":"page_number","in":"query","example":1,"schemaId":"schema_94"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/lockbox_events","href":"lockbox-events/getlockboxevents","openApiOperationId":"getLockboxEvents","summary":"Get lockbox events"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of lockbox events.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_102"}},"schemaId":"schema_102"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockbox_events/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1lockbox_events/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1lockbox_events/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_102","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_102"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1lockbox_events/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockbox_events/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/lockbox-events/getlockboxevents"}],"panels":[]}]},"httpPath":"/lockbox_events"},{"label":"Create lockbox events","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/lockbox-events/postlockboxevents","routeSlug":"/openapi/openapi/lockbox-events/postlockboxevents","metadata":{"seo":{"title":"Create lockbox events","description":"Create new lockbox events (Install or Uninstall)"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postLockboxEvents","name":"Create lockbox events","isWebhook":false,"pointer":"/paths/~1lockbox_events/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create lockbox events","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create new lockbox events (Install or Uninstall)"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostLockboxEventsRequest","exampleIds":["paths/~1lockbox_events/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PostLockboxEventsRequest","exampleIds":["paths/~1lockbox_events/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1lockbox_events/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/lockbox_events","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PostLockboxEventsRequest","exampleIds":["paths/~1lockbox_events/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","429","500"],"pointer":"/lockbox_events","href":"lockbox-events/postlockboxevents","openApiOperationId":"postLockboxEvents","summary":"Create lockbox events"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/PostLockboxEventsRequest","exampleIds":["paths/~1lockbox_events/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostLockboxEventsRequest","exampleIds":["paths/~1lockbox_events/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Lockbox events created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_102"}},"schemaId":"schema_102"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockbox_events/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1lockbox_events/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1lockbox_events/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_102","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_102"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1lockbox_events/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockbox_events/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_events/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/lockbox-events/postlockboxevents"}],"panels":[]}]},"httpPath":"/lockbox_events"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Lockbox events","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi/openapi/lockbox-events/receive-lockbox-events","routeSlug":"/openapi/openapi/lockbox-events/receive-lockbox-events","metadata":{"seo":{"title":"Lockbox events","description":"Lockbox events"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"receive-lockbox-events","name":"Lockbox events","isWebhook":true,"pointer":"/paths/LockboxEvents/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Lockbox events","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key authentication for webhooks. The key is defined when setting up the webhook in the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is delivered in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every webhook request."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/WebhookPayload"}},"schemaId":"components/schemas/WebhookPayload","pointer":"/paths/LockboxEvents/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"LockboxEvents","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/WebhookPayload"}},"responseCodes":["200"],"pointer":"LockboxEvents","href":"lockbox-events/receive-lockbox-events","openApiOperationId":"receive-lockbox-events","summary":"Lockbox events"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/WebhookPayload","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/WebhookPayload"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}},"schemaId":"schema_103"}],"pointer":"/paths/LockboxEvents/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_103","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/lockbox-events/receive-lockbox-events"}],"panels":[]}]},"httpPath":"LockboxEvents"}],"content":{"contentType":"group","meta":{"name":"Lockbox Events"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Lockbox Events","showPageActions":true},{"nodeType":"markdoc","content":"Operations for tracking and creating lockbox events"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/lockbox_events","summary":"Get lockbox events","prefix":{"name":"get","color":"get"},"badges":[],"link":"/lockbox-events/getlockboxevents","deprecated":false},{"title":"/lockbox_events","summary":"Create lockbox events","prefix":{"name":"post","color":"post"},"badges":[],"link":"/lockbox-events/postlockboxevents","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"LockboxEvents","summary":"Lockbox events","prefix":{"name":"post","color":"post"},"badges":[],"link":"/lockbox-events/receive-lockbox-events","deprecated":false}]}]}]}]}},{"type":"group","label":"Lockbox Installations","link":"/openapi/openapi/lockbox-installations","routeSlug":"/openapi/openapi/lockbox-installations","items":[{"label":"Get lockbox installations","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/lockbox-installations/getlockboxinstallations","routeSlug":"/openapi/openapi/lockbox-installations/getlockboxinstallations","metadata":{"seo":{"title":"Get lockbox installations","description":"Retrieve lockbox installations with optional filtering and pagination. Lockbox installations can only be created by inserting a lockbox event with event_type \"Install\"."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLockboxInstallations","name":"Get lockbox installations","isWebhook":false,"pointer":"/paths/~1lockbox_installations/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get lockbox installations","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve lockbox installations with optional filtering and pagination. Lockbox installations can only be created by inserting a lockbox event with event_type \"Install\"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"lockbox_ids","in":"query","schemaId":"schema_90","description":"Filter by comma-separated list of lockbox IDs","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"]},{"name":"unit_ids","in":"query","schemaId":"schema_101","description":"Filter by comma-separated list of unit IDs","example":["12345","67890"]},{"name":"limit","in":"query","schemaId":"schema_93","description":"Maximum number of items to return per page (default 50, max 100)"},{"name":"page_number","in":"query","schemaId":"schema_94","description":"Page number for pagination (0-indexed, default 0)"}],"pointer":"/paths/~1lockbox_installations/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/lockbox_installations","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"lockbox_ids","in":"query","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"],"schemaId":"schema_90","style":"form","explode":false},{"name":"unit_ids","in":"query","example":["12345","67890"],"schemaId":"schema_101","style":"form","explode":false},{"name":"limit","in":"query","example":25,"schemaId":"schema_93"},{"name":"page_number","in":"query","example":1,"schemaId":"schema_94"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/lockbox_installations","href":"lockbox-installations/getlockboxinstallations","openApiOperationId":"getLockboxInstallations","summary":"Get lockbox installations"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of lockbox installations.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_104"}},"schemaId":"schema_104"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockbox_installations/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1lockbox_installations/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1lockbox_installations/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_104","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_104"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1lockbox_installations/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1lockbox_installations/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1lockbox_installations/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/lockbox-installations/getlockboxinstallations"}],"panels":[]}]},"httpPath":"/lockbox_installations"}],"content":{"contentType":"group","meta":{"name":"Lockbox Installations"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Lockbox Installations","showPageActions":true},{"nodeType":"markdoc","content":"Operations for retrieving lockbox installations"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/lockbox_installations","summary":"Get lockbox installations","prefix":{"name":"get","color":"get"},"badges":[],"link":"/lockbox-installations/getlockboxinstallations","deprecated":false}]}]}]}]}},{"type":"group","label":"Units","link":"/openapi/openapi/units","routeSlug":"/openapi/openapi/units","items":[{"label":"Get units","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/units/getunits","routeSlug":"/openapi/openapi/units/getunits","metadata":{"seo":{"title":"Get units","description":"Retrieve units with optional filtering and pagination"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getUnits","name":"Get units","isWebhook":false,"pointer":"/paths/~1units/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get units","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve units with optional filtering and pagination"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"unitIds","in":"query","schemaId":"schema_105","description":"Filter by comma-separated list of unit IDs","example":[12345,67890]},{"name":"extracted_from","in":"query","schemaId":"schema_106","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Any string that can be used to identify the unit in an external system. Essentially the same as an external_id, but not limited to an ID format. Uniqueness is not enforced."},"children":[]}]}]}]},{"name":"accountId","in":"query","schemaId":"schema_91","description":"Filter by account ID"},{"name":"statuses","in":"query","schemaId":"schema_107","description":"Filter by comma-separated list of unit statuses","example":["Available","Incomplete"]},{"name":"limit","in":"query","schemaId":"schema_93","description":"Maximum number of items to return per page (default 50, max 100)"},{"name":"page_number","in":"query","schemaId":"schema_94","description":"Page number for pagination (0-indexed, default 0)"}],"pointer":"/paths/~1units/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/units","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"unitIds","in":"query","example":[12345,67890],"schemaId":"schema_105","style":"form","explode":false},{"name":"extracted_from","in":"query","example":"f78125c","schemaId":"schema_106"},{"name":"accountId","in":"query","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_91"},{"name":"statuses","in":"query","example":["Available","Incomplete"],"schemaId":"schema_107"},{"name":"limit","in":"query","example":25,"schemaId":"schema_93"},{"name":"page_number","in":"query","example":1,"schemaId":"schema_94"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/units","href":"units/getunits","openApiOperationId":"getUnits","summary":"Get units"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of units.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_108"}},"schemaId":"schema_108"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1units/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1units/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1units/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_108","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_108"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1units/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1units/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/units/getunits"}],"panels":[]}]},"httpPath":"/units"},{"label":"Create or update a unit","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/units/postunit","routeSlug":"/openapi/openapi/units/postunit","metadata":{"seo":{"title":"Create or update a unit","description":"Create a new unit or update an existing one."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postUnit","name":"Create or update a unit","isWebhook":false,"pointer":"/paths/~1units/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create or update a unit","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new unit or update an existing one."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"units/postunit/request/insert-vs-update","deepLinkHash":"/units/postunit#units/postunit/request/insert-vs-update"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Insert vs Update"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Insert"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": When no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is provided, a new unit will be created. Required fields for creation include "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"property_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"target_rental_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": When an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is provided, an existing unit will be updated. No other fields are required."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"units/postunit/request/address-updates","deepLinkHash":"/units/postunit#units/postunit/request/address-updates"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Address Updates"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When updating a unit, if you include the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field, you must provide all address components ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"street_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"street_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"zip_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"state"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Partial address updates are not supported."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"units/postunit/request/structured-access-instructions","deepLinkHash":"/units/postunit#units/postunit/request/structured-access-instructions"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Structured Access Instructions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When providing "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"structured_access_instructions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"showing_method"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field must also be set. The structure of the access instructions depends on the showing method:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For \"Self Guided\", \"Remote Guided\", or \"Remote Guided with Gated Access\" methods: Include fields like "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockbox_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockbox_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", etc."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For \"Accompanied\" method: Include fields like "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"assigned_user_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meeting_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", etc."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpsertUnitRequest"}},"schemaId":"components/schemas/UpsertUnitRequest","pointer":"/paths/~1units/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/units","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpsertUnitRequest"}},"responseCodes":["200","400","401","429","500"],"pointer":"/units","href":"units/postunit","openApiOperationId":"postUnit","summary":"Create or update a unit"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/UpsertUnitRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpsertUnitRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Unit successfully created or updated","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_109"}},"schemaId":"schema_109"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/400/content/application~1json/examples/validation-error","paths/~1units/post/responses/400/content/application~1json/examples/foreign-key-error"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/400/content/application~1json/examples/validation-error","paths/~1units/post/responses/400/content/application~1json/examples/foreign-key-error"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1units/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1units/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1units/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_109","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_109"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/400/content/application~1json/examples/validation-error","paths/~1units/post/responses/400/content/application~1json/examples/foreign-key-error"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/400/content/application~1json/examples/validation-error","paths/~1units/post/responses/400/content/application~1json/examples/foreign-key-error"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1units/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1units/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1units/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/units/postunit"}],"panels":[]}]},"httpPath":"/units"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Units","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi/openapi/units/receive-units-updates","routeSlug":"/openapi/openapi/units/receive-units-updates","metadata":{"seo":{"title":"Units","description":"Webhook for unit changes (creates, updates, deletes).Only the below fields are included in the record and old_record objects."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"receive-units-updates","name":"Units","isWebhook":true,"pointer":"/paths/UnitsEvents/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Units","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook for unit changes (creates, updates, deletes)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only the below fields are included in the record and old_record objects."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key authentication for webhooks. The key is defined when setting up the webhook in the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is delivered in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every webhook request."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_110"}},"schemaId":"schema_110","pointer":"/paths/UnitsEvents/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"UnitsEvents","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_110"}},"responseCodes":["200"],"pointer":"UnitsEvents","href":"units/receive-units-updates","openApiOperationId":"receive-units-updates","summary":"Units"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"schema_110","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_110"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}},"schemaId":"schema_103"}],"pointer":"/paths/UnitsEvents/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_103","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/units/receive-units-updates"}],"panels":[]}]},"httpPath":"UnitsEvents"}],"content":{"contentType":"group","meta":{"name":"Units"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Units","showPageActions":true},{"nodeType":"markdoc","content":"Operations for managing rental units"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/units","summary":"Get units","prefix":{"name":"get","color":"get"},"badges":[],"link":"/units/getunits","deprecated":false},{"title":"/units","summary":"Create or update a unit","prefix":{"name":"post","color":"post"},"badges":[],"link":"/units/postunit","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"UnitsEvents","summary":"Units","prefix":{"name":"post","color":"post"},"badges":[],"link":"/units/receive-units-updates","deprecated":false}]}]}]}]}},{"type":"group","label":"Market Tool","link":"/openapi/openapi/market-tool","routeSlug":"/openapi/openapi/market-tool","items":[{"label":"Get market comps","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/market-tool/getmarkettoolcomps","routeSlug":"/openapi/openapi/market-tool/getmarkettoolcomps","metadata":{"seo":{"title":"Get market comps","description":"Retrieve normalized rental market comparables for a location, filteredby coordinates plus optional bed/bath/sqft/days-on-market/date criteria.Results are de-identified — no listing-provider references. Returns up to200 most recently active comparables; narrow the radius or filters for atighter result set."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMarketToolComps","name":"Get market comps","isWebhook":false,"pointer":"/paths/~1market-tool~1comps/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get market comps","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve normalized rental market comparables for a location, filtered"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"by coordinates plus optional bed/bath/sqft/days-on-market/date criteria."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are de-identified — no listing-provider references. Returns up to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"200 most recently active comparables; narrow the radius or filters for a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tighter result set."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Billing:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" each successful call incurs a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"$0.50"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" charge to your"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"account. This charge, together with the strict limit of 40 requests per"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"24 hours, exists to prevent abuse of this data-intensive endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_id","in":"query","schemaId":"schema_111","description":"Account to bill, as a UUID. Required only when your token can access more than one account; a single-account token is resolved automatically."},{"name":"latitude","in":"query","schemaId":"schema_112","description":"Latitude of the search center (WGS84).","required":true},{"name":"longitude","in":"query","schemaId":"schema_113","description":"Longitude of the search center (WGS84).","required":true},{"name":"radius_miles","in":"query","schemaId":"schema_114","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Search radius in miles (max 25). Provide this or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"zipcodes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — at least one is required."},"children":[]}]}]}]},{"name":"zipcodes","in":"query","schemaId":"schema_115","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Comma-separated 5-digit ZIP codes (max 50). Provide this or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_miles"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — at least one is required."},"children":[]}]}]}],"example":["33101","33139"]},{"name":"min_beds","in":"query","schemaId":"schema_116","description":"Minimum bedrooms."},{"name":"max_beds","in":"query","schemaId":"schema_117","description":"Maximum bedrooms."},{"name":"min_baths","in":"query","schemaId":"schema_118","description":"Minimum bathrooms."},{"name":"max_baths","in":"query","schemaId":"schema_119","description":"Maximum bathrooms."},{"name":"min_sqft","in":"query","schemaId":"schema_120","description":"Minimum living area in square feet."},{"name":"max_sqft","in":"query","schemaId":"schema_121","description":"Maximum living area in square feet."},{"name":"min_days_on_market","in":"query","schemaId":"schema_122","description":"Minimum days on market."},{"name":"max_days_on_market","in":"query","schemaId":"schema_123","description":"Maximum days on market."},{"name":"start_date","in":"query","schemaId":"schema_124","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Earliest listing date (inclusive), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"end_date","in":"query","schemaId":"schema_125","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Latest listing date (inclusive), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1market-tool~1comps/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/market-tool/comps","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_id","in":"query","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_111"},{"name":"latitude","in":"query","required":true,"example":25.7617,"schemaId":"schema_112"},{"name":"longitude","in":"query","required":true,"example":-80.1918,"schemaId":"schema_113"},{"name":"radius_miles","in":"query","example":2,"schemaId":"schema_114"},{"name":"zipcodes","in":"query","example":["33101","33139"],"schemaId":"schema_115","style":"form","explode":false},{"name":"min_beds","in":"query","example":2,"schemaId":"schema_116"},{"name":"max_beds","in":"query","example":4,"schemaId":"schema_117"},{"name":"min_baths","in":"query","example":1.5,"schemaId":"schema_118"},{"name":"max_baths","in":"query","example":3,"schemaId":"schema_119"},{"name":"min_sqft","in":"query","example":800,"schemaId":"schema_120"},{"name":"max_sqft","in":"query","example":2500,"schemaId":"schema_121"},{"name":"min_days_on_market","in":"query","example":5,"schemaId":"schema_122"},{"name":"max_days_on_market","in":"query","example":90,"schemaId":"schema_123"},{"name":"start_date","in":"query","example":"2026-01-01","schemaId":"schema_124"},{"name":"end_date","in":"query","example":"2026-05-01","schemaId":"schema_125"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500"],"pointer":"/market-tool/comps","href":"market-tool/getmarkettoolcomps","openApiOperationId":"getMarketToolComps","summary":"Get market comps"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of normalized market comparables.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_126"}},"schemaId":"schema_126"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1market-tool~1comps/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1market-tool~1comps/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1market-tool~1comps/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_126","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_126"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1market-tool~1comps/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1market-tool~1comps/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1market-tool~1comps/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/market-tool/getmarkettoolcomps"}],"panels":[]}]},"httpPath":"/market-tool/comps"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Market tool leads","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi/openapi/market-tool/receive-market-tool-lead-events","routeSlug":"/openapi/openapi/market-tool/receive-market-tool-lead-events","metadata":{"seo":{"title":"Market tool leads","description":"Webhook for new business-development leads captured by the Market ToolWidget. Fires once per new lead (INSERT only) — no update or deleteevents. The record contains a fixed set of listing and lead-contactfields."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"receive-market-tool-lead-events","name":"Market tool leads","isWebhook":true,"pointer":"/paths/MarketToolLeads/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Market tool leads","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook for new business-development leads captured by the Market Tool"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Widget. Fires once per new lead (INSERT only) — no update or delete"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"events. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"record"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" contains a fixed set of listing and lead-contact"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fields."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key authentication for webhooks. The key is defined when setting up the webhook in the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is delivered in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every webhook request."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MarketToolLeadWebhookPayload"}},"schemaId":"components/schemas/MarketToolLeadWebhookPayload","pointer":"/paths/MarketToolLeads/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"MarketToolLeads","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/MarketToolLeadWebhookPayload"}},"responseCodes":["200"],"pointer":"MarketToolLeads","href":"market-tool/receive-market-tool-lead-events","openApiOperationId":"receive-market-tool-lead-events","summary":"Market tool leads"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/MarketToolLeadWebhookPayload","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MarketToolLeadWebhookPayload"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}},"schemaId":"schema_103"}],"pointer":"/paths/MarketToolLeads/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_103","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/market-tool/receive-market-tool-lead-events"}],"panels":[]}]},"httpPath":"MarketToolLeads"}],"content":{"contentType":"group","meta":{"name":"Market Tool"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Market Tool","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Normalized, provider-free rental market comparables. Metered — each successful call incurs a per-call charge (see Rate Limiting)."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/market-tool/comps","summary":"Get market comps","prefix":{"name":"get","color":"get"},"badges":[],"link":"/market-tool/getmarkettoolcomps","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"MarketToolLeads","summary":"Market tool leads","prefix":{"name":"post","color":"post"},"badges":[],"link":"/market-tool/receive-market-tool-lead-events","deprecated":false}]}]}]}]}},{"type":"group","label":"Prospects","link":"/openapi/openapi/prospects","routeSlug":"/openapi/openapi/prospects","items":[{"label":"Get prospects","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/prospects/getprospects","routeSlug":"/openapi/openapi/prospects/getprospects","metadata":{"seo":{"title":"Get prospects","description":"Retrieve prospects with optional filtering and pagination"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProspects","name":"Get prospects","isWebhook":false,"pointer":"/paths/~1prospects/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get prospects","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve prospects with optional filtering and pagination"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"id","in":"query","schemaId":"schema_127","description":"Filter by prospect ID"},{"name":"account_id","in":"query","schemaId":"schema_111","description":"Filter by prospects associated with a specific RentEngine account by the account's id"},{"name":"units_of_interest","in":"query","schemaId":"schema_128","description":"Filter by prospects interested in specific units (comma-separated list of unit IDs)","example":[123,124]},{"name":"status","in":"query","schemaId":"schema_129","description":"Filter prospects by status"},{"name":"source","in":"query","schemaId":"schema_130","description":"Filter prospects by source"},{"name":"created_after","in":"query","schemaId":"schema_131","description":"Filter prospects created after this timestamp (ISO 8601 format)"},{"name":"created_before","in":"query","schemaId":"schema_132","description":"Filter prospects created before this timestamp (ISO 8601 format)"},{"name":"limit","in":"query","schemaId":"schema_93","description":"Maximum number of items to return per page (default 50, max 100)"},{"name":"page_number","in":"query","schemaId":"schema_94","description":"Page number for pagination (0-indexed, default 0)"}],"pointer":"/paths/~1prospects/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/prospects","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"id","in":"query","example":123,"schemaId":"schema_127"},{"name":"account_id","in":"query","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_111"},{"name":"units_of_interest","in":"query","example":[123,124],"schemaId":"schema_128","style":"form","explode":false},{"name":"status","in":"query","example":"Showing Scheduled","schemaId":"schema_129"},{"name":"source","in":"query","example":"Zillow","schemaId":"schema_130"},{"name":"created_after","in":"query","example":"2023-01-15T12:00:00Z","schemaId":"schema_131"},{"name":"created_before","in":"query","example":"2023-01-17T12:00:00Z","schemaId":"schema_132"},{"name":"limit","in":"query","example":25,"schemaId":"schema_93"},{"name":"page_number","in":"query","example":1,"schemaId":"schema_94"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/prospects","href":"prospects/getprospects","openApiOperationId":"getProspects","summary":"Get prospects"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of prospects.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_133"}},"schemaId":"schema_133"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1prospects/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1prospects/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1prospects/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_133","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_133"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1prospects/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1prospects/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/prospects/getprospects"}],"panels":[]}]},"httpPath":"/prospects"},{"label":"Create a prospect","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/prospects/postprospect","routeSlug":"/openapi/openapi/prospects/postprospect","metadata":{"seo":{"title":"Create a prospect","description":"Create a new prospect. Reuses the standard new-prospect workflow,which handles the initial leasing event, the new-lead notification to theaccount team, and (by default) sending the acknowledgement SMS to theprospect."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postProspect","name":"Create a prospect","isWebhook":false,"pointer":"/paths/~1prospects/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a prospect","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new prospect. Reuses the standard new-prospect workflow,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"which handles the initial leasing event, the new-lead notification to the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"account team, and (by default) sending the acknowledgement SMS to the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"prospect."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"prospects/postprospect/request/identifying-the-property","deepLinkHash":"/prospects/postprospect#prospects/postprospect/request/identifying-the-property"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying the property"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Provide exactly one of:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the RentEngine unit ID. Access is scoped to the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"authenticated user's account; a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is returned if the unit"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is not visible."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a free-text address that will be fuzzy-matched against"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"units in the account named by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". If no unit matches, a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is returned. The top match is used when there is one."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"floorplan_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a multifamily floorplan. Creates a floorplan-level"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"lead (not bound to a specific unit). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the floorplan is not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"visible."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"multifamily_property_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a multifamily building/community. Creates"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a building-level lead. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the property is not visible."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" alone — an account-level lead with no unit, floorplan,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or building. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the account is not visible to the caller."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Floorplan, building, and account-level creates require "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unitless persist path keys on phone). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" may also be sent"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alongside "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"floorplan_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"multifamily_property_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; it is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ignored in favor of the account derived from that property."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"prospects/postprospect/request/sms","deepLinkHash":"/prospects/postprospect#prospects/postprospect/request/sms"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SMS"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"By default the prospect receives the account's configured acknowledgement"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SMS (varies by unit availability / apply-first settings; building and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"floorplan leads use the matching inquiry templates). Set"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sms.send"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to skip sending entirely — useful when the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"integrating system has already messaged the prospect. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"required whenever "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sms.send"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the default), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ai_enabled"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the per-prospect AI flag is keyed on phone), or the lead"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is unitless."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"prospects/postprospect/request/ai","deepLinkHash":"/prospects/postprospect#prospects/postprospect/request/ai"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AI"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AI responses to this prospect are enabled by default. Set "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ai_enabled"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to opt this prospect out of AI replies for their phone"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"number within the account."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"prospects/postprospect/request/duplicate-handling","deepLinkHash":"/prospects/postprospect#prospects/postprospect/request/duplicate-handling"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Duplicate handling"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is idempotent on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"(phone, scope)"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". If a prospect with the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"same phone already exists for the resolved unit, floorplan, building, or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"account, the existing record is reused — no new row is created — and the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"response includes "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"re_engaged: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with the existing "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"prospect_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The status code is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200 OK"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on re-engagement and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201 Created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"brand-new prospect row was inserted. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"notes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"prospect_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"applied only on fresh creates so they don't clobber a re-engaged"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"prospect mid-flow."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"prospects/postprospect/request/rate-limiting","deepLinkHash":"/prospects/postprospect#prospects/postprospect/request/rate-limiting"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate limiting"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint uses the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Strict"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" tier (10 requests / 5 seconds)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostProspectsRequest","exampleIds":["paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitId","paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitAddress","paths/~1prospects/post/requestBody/content/application~1json/examples/skipSmsAndDisableAi","paths/~1prospects/post/requestBody/content/application~1json/examples/byFloorplan","paths/~1prospects/post/requestBody/content/application~1json/examples/byBuilding","paths/~1prospects/post/requestBody/content/application~1json/examples/byAccount"]}},"schemaId":"components/schemas/PostProspectsRequest","exampleIds":["paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitId","paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitAddress","paths/~1prospects/post/requestBody/content/application~1json/examples/skipSmsAndDisableAi","paths/~1prospects/post/requestBody/content/application~1json/examples/byFloorplan","paths/~1prospects/post/requestBody/content/application~1json/examples/byBuilding","paths/~1prospects/post/requestBody/content/application~1json/examples/byAccount"],"pointer":"/paths/~1prospects/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/prospects","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PostProspectsRequest","exampleIds":["paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitId","paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitAddress","paths/~1prospects/post/requestBody/content/application~1json/examples/skipSmsAndDisableAi","paths/~1prospects/post/requestBody/content/application~1json/examples/byFloorplan","paths/~1prospects/post/requestBody/content/application~1json/examples/byBuilding","paths/~1prospects/post/requestBody/content/application~1json/examples/byAccount"]}},"responseCodes":["200","201","400","401","404","429","500"],"pointer":"/prospects","href":"prospects/postprospect","openApiOperationId":"postProspect","summary":"Create a prospect"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/PostProspectsRequest","exampleIds":["paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitId","paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitAddress","paths/~1prospects/post/requestBody/content/application~1json/examples/skipSmsAndDisableAi","paths/~1prospects/post/requestBody/content/application~1json/examples/byFloorplan","paths/~1prospects/post/requestBody/content/application~1json/examples/byBuilding","paths/~1prospects/post/requestBody/content/application~1json/examples/byAccount"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostProspectsRequest","exampleIds":["paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitId","paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitAddress","paths/~1prospects/post/requestBody/content/application~1json/examples/skipSmsAndDisableAi","paths/~1prospects/post/requestBody/content/application~1json/examples/byFloorplan","paths/~1prospects/post/requestBody/content/application~1json/examples/byBuilding","paths/~1prospects/post/requestBody/content/application~1json/examples/byAccount"]}},"examples":[{},{},{},{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An existing prospect was re-engaged. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"re_engaged"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"prospect_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" references the pre-existing record."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateProspectResponse"}},"schemaId":"components/schemas/CreateProspectResponse"},{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A new prospect row was created. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"re_engaged"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateProspectResponse"}},"schemaId":"components/schemas/CreateProspectResponse"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/401/content/application~1json/example"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The property could not be resolved — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"floorplan_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"multifamily_property_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is not visible to the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"caller, or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" did not fuzzy-match any unit in the given"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"account."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/404/content/application~1json/examples/unit-id-not-found","paths/~1prospects/post/responses/404/content/application~1json/examples/no-fuzzy-match","paths/~1prospects/post/responses/404/content/application~1json/examples/floorplan-not-found"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/404/content/application~1json/examples/unit-id-not-found","paths/~1prospects/post/responses/404/content/application~1json/examples/no-fuzzy-match","paths/~1prospects/post/responses/404/content/application~1json/examples/floorplan-not-found"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1prospects/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1prospects/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1prospects/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CreateProspectResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateProspectResponse"}}},{"code":"201","schemaId":"components/schemas/CreateProspectResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateProspectResponse"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/404/content/application~1json/examples/unit-id-not-found","paths/~1prospects/post/responses/404/content/application~1json/examples/no-fuzzy-match","paths/~1prospects/post/responses/404/content/application~1json/examples/floorplan-not-found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/404/content/application~1json/examples/unit-id-not-found","paths/~1prospects/post/responses/404/content/application~1json/examples/no-fuzzy-match","paths/~1prospects/post/responses/404/content/application~1json/examples/floorplan-not-found"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1prospects/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1prospects/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prospects/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/prospects/postprospect"}],"panels":[]}]},"httpPath":"/prospects"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Prospects","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi/openapi/prospects/receive-prospects-updates","routeSlug":"/openapi/openapi/prospects/receive-prospects-updates","metadata":{"seo":{"title":"Prospects","description":"Webhook for prospect changes (creates, updates, deletes).Only the below fields are included in the record and old_record objects."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"receive-prospects-updates","name":"Prospects","isWebhook":true,"pointer":"/paths/ProspectsEvents/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Prospects","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook for prospect changes (creates, updates, deletes)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only the below fields are included in the record and old_record objects."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key authentication for webhooks. The key is defined when setting up the webhook in the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is delivered in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every webhook request."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_134","exampleIds":["paths/ProspectsEvents/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_134","exampleIds":["paths/ProspectsEvents/post/requestBody/content/application~1json/example"],"pointer":"/paths/ProspectsEvents/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"ProspectsEvents","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_134","exampleIds":["paths/ProspectsEvents/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"ProspectsEvents","href":"prospects/receive-prospects-updates","openApiOperationId":"receive-prospects-updates","summary":"Prospects"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"schema_134","exampleIds":["paths/ProspectsEvents/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_134","exampleIds":["paths/ProspectsEvents/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}},"schemaId":"schema_103"}],"pointer":"/paths/ProspectsEvents/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_103","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/prospects/receive-prospects-updates"}],"panels":[]}]},"httpPath":"ProspectsEvents"}],"content":{"contentType":"group","meta":{"name":"Prospects"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Prospects","showPageActions":true},{"nodeType":"markdoc","content":"Events related to prospective tenants"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/prospects","summary":"Get prospects","prefix":{"name":"get","color":"get"},"badges":[],"link":"/prospects/getprospects","deprecated":false},{"title":"/prospects","summary":"Create a prospect","prefix":{"name":"post","color":"post"},"badges":[],"link":"/prospects/postprospect","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"ProspectsEvents","summary":"Prospects","prefix":{"name":"post","color":"post"},"badges":[],"link":"/prospects/receive-prospects-updates","deprecated":false}]}]}]}]}},{"type":"group","label":"Multifamily Properties","link":"/openapi/openapi/multifamily-properties","routeSlug":"/openapi/openapi/multifamily-properties","items":[{"label":"Get multifamily properties","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/multifamily-properties/getmultifamilyproperties","routeSlug":"/openapi/openapi/multifamily-properties/getmultifamilyproperties","metadata":{"seo":{"title":"Get multifamily properties","description":"Retrieve multifamily properties with optional filtering"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMultifamilyProperties","name":"Get multifamily properties","isWebhook":false,"pointer":"/paths/~1multifamily_properties/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get multifamily properties","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve multifamily properties with optional filtering"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_id","in":"query","schemaId":"schema_111","description":"Filter by account ID","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},{"name":"id","in":"query","schemaId":"schema_135","description":"Filter by multifamily property ID","example":"123e4567-e89b-12d3-a456-426614174000"},{"name":"deleted","in":"query","schemaId":"schema_136","description":"Filter by deleted status","example":false}],"pointer":"/paths/~1multifamily_properties/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/multifamily_properties","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_id","in":"query","required":false,"example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_111"},{"name":"id","in":"query","example":"123e4567-e89b-12d3-a456-426614174000","schemaId":"schema_135"},{"name":"deleted","in":"query","example":false,"schemaId":"schema_136"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/multifamily_properties","href":"multifamily-properties/getmultifamilyproperties","openApiOperationId":"getMultifamilyProperties","summary":"Get multifamily properties"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of multifamily properties.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_137"}},"schemaId":"schema_137"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1multifamily_properties/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1multifamily_properties/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1multifamily_properties/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_137","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_137"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1multifamily_properties/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1multifamily_properties/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/multifamily-properties/getmultifamilyproperties"}],"panels":[]}]},"httpPath":"/multifamily_properties"},{"label":"Create or update a multifamily property","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/multifamily-properties/postmultifamilyproperties","routeSlug":"/openapi/openapi/multifamily-properties/postmultifamilyproperties","metadata":{"seo":{"title":"Create or update a multifamily property","description":"Create a new multifamily property or update an existing one"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postMultifamilyProperties","name":"Create or update a multifamily property","isWebhook":false,"pointer":"/paths/~1multifamily_properties/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create or update a multifamily property","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new multifamily property or update an existing one"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpsertMultifamilyPropertyRequest","exampleIds":["paths/~1multifamily_properties/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/UpsertMultifamilyPropertyRequest","exampleIds":["paths/~1multifamily_properties/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1multifamily_properties/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/multifamily_properties","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpsertMultifamilyPropertyRequest","exampleIds":["paths/~1multifamily_properties/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","429","500"],"pointer":"/multifamily_properties","href":"multifamily-properties/postmultifamilyproperties","openApiOperationId":"postMultifamilyProperties","summary":"Create or update a multifamily property"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/UpsertMultifamilyPropertyRequest","exampleIds":["paths/~1multifamily_properties/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpsertMultifamilyPropertyRequest","exampleIds":["paths/~1multifamily_properties/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Multifamily property successfully created or updated","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_137"}},"schemaId":"schema_137"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1multifamily_properties/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1multifamily_properties/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1multifamily_properties/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_137","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_137"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1multifamily_properties/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1multifamily_properties/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1multifamily_properties/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/multifamily-properties/postmultifamilyproperties"}],"panels":[]}]},"httpPath":"/multifamily_properties"}],"content":{"contentType":"group","meta":{"name":"Multifamily Properties"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Multifamily Properties","showPageActions":true},{"nodeType":"markdoc","content":"Operations for managing multifamily properties. Multifamily properties are used to syndicate large properties with paid advertising contracts to the paid rental feeds. For example, paid adverising contracts are required for the Zillow network if the building has more than 24 units, and for the Apartments.com if the building has more than 4 units. Other ILSs have different thresholds."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/multifamily_properties","summary":"Get multifamily properties","prefix":{"name":"get","color":"get"},"badges":[],"link":"/multifamily-properties/getmultifamilyproperties","deprecated":false},{"title":"/multifamily_properties","summary":"Create or update a multifamily property","prefix":{"name":"post","color":"post"},"badges":[],"link":"/multifamily-properties/postmultifamilyproperties","deprecated":false}]}]}]}]}},{"type":"group","label":"Floorplans","link":"/openapi/openapi/floorplans","routeSlug":"/openapi/openapi/floorplans","items":[{"label":"Get floorplans","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/floorplans/getfloorplans","routeSlug":"/openapi/openapi/floorplans/getfloorplans","metadata":{"seo":{"title":"Get floorplans","description":"Retrieve multifamily_prs with optional filtering"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getFloorplans","name":"Get floorplans","isWebhook":false,"pointer":"/paths/~1floorplans/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get floorplans","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve multifamily_prs with optional filtering"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"multifamily_property_id","in":"query","schemaId":"schema_135","description":"Filter by multifamily property ID","example":"123e4567-e89b-12d3-a456-426614174000"},{"name":"account_id","in":"query","schemaId":"schema_111","description":"Filter by account ID","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},{"name":"id","in":"query","schemaId":"schema_135","description":"Filter by floorplan ID","example":"123e4567-e89b-12d3-a456-426614174000"},{"name":"deleted","in":"query","schemaId":"schema_136","description":"Filter by deleted status","example":false}],"pointer":"/paths/~1floorplans/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/floorplans","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"multifamily_property_id","in":"query","required":false,"example":"123e4567-e89b-12d3-a456-426614174000","schemaId":"schema_135"},{"name":"account_id","in":"query","required":false,"example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_111"},{"name":"id","in":"query","example":"123e4567-e89b-12d3-a456-426614174000","schemaId":"schema_135"},{"name":"deleted","in":"query","example":false,"schemaId":"schema_136"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/floorplans","href":"floorplans/getfloorplans","openApiOperationId":"getFloorplans","summary":"Get floorplans"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of floorplans.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_138"}},"schemaId":"schema_138"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1floorplans/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1floorplans/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1floorplans/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_138","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_138"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1floorplans/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1floorplans/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/floorplans/getfloorplans"}],"panels":[]}]},"httpPath":"/floorplans"},{"label":"Create or update a floorplan","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/floorplans/postfloorplans","routeSlug":"/openapi/openapi/floorplans/postfloorplans","metadata":{"seo":{"title":"Create or update a floorplan","description":"Create a new floorplan or update an existing one"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postFloorplans","name":"Create or update a floorplan","isWebhook":false,"pointer":"/paths/~1floorplans/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create or update a floorplan","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new floorplan or update an existing one"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpsertFloorplanRequest","exampleIds":["paths/~1floorplans/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/UpsertFloorplanRequest","exampleIds":["paths/~1floorplans/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1floorplans/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/floorplans","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpsertFloorplanRequest","exampleIds":["paths/~1floorplans/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","429","500"],"pointer":"/floorplans","href":"floorplans/postfloorplans","openApiOperationId":"postFloorplans","summary":"Create or update a floorplan"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/UpsertFloorplanRequest","exampleIds":["paths/~1floorplans/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpsertFloorplanRequest","exampleIds":["paths/~1floorplans/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Floorplan successfully created or updated","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_138"}},"schemaId":"schema_138"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1floorplans/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1floorplans/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1floorplans/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_138","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_138"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1floorplans/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1floorplans/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1floorplans/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/floorplans/postfloorplans"}],"panels":[]}]},"httpPath":"/floorplans"}],"content":{"contentType":"group","meta":{"name":"Floorplans"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Floorplans","showPageActions":true},{"nodeType":"markdoc","content":"Operations for managing floorplans associated with multifamily properties. Floorplans are used to syndicate units to the paid rental feeds for paid advertising contracts. They must be used in conjunction with a multifamily property."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/floorplans","summary":"Get floorplans","prefix":{"name":"get","color":"get"},"badges":[],"link":"/floorplans/getfloorplans","deprecated":false},{"title":"/floorplans","summary":"Create or update a floorplan","prefix":{"name":"post","color":"post"},"badges":[],"link":"/floorplans/postfloorplans","deprecated":false}]}]}]}]}},{"type":"group","label":"Leasing Events","link":"/openapi/openapi/leasing-events","routeSlug":"/openapi/openapi/leasing-events","items":[{"label":"List a prospect's leasing events","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/leasing-events/getprospectleasingevents","routeSlug":"/openapi/openapi/leasing-events/getprospectleasingevents","metadata":{"seo":{"title":"List a prospect's leasing events","description":"Retrieve a prospect's leasing-event timeline (newest first), by prospect_id or phone (supply exactly one)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProspectLeasingEvents","name":"List a prospect's leasing events","isWebhook":false,"pointer":"/paths/~1leasing_events/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List a prospect's leasing events","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a prospect's leasing-event timeline (newest first), by prospect_id or phone (supply exactly one)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"prospect_id","in":"query","schemaId":"schema_139","description":"The prospect's numeric id. Provide either this or phone (exactly one)."},{"name":"phone","in":"query","schemaId":"schema_140","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A US phone number in any human-readable format (normalized to E.164 server-side). Matches all prospect records sharing this number, so results may span more than one prospect_id."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1leasing_events/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/leasing_events","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"prospect_id","in":"query","required":false,"example":12345,"schemaId":"schema_139"},{"name":"phone","in":"query","required":false,"example":"(415) 555-0100","schemaId":"schema_140"},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500","503"],"pointer":"/leasing_events","href":"leasing-events/getprospectleasingevents","openApiOperationId":"getProspectLeasingEvents","summary":"List a prospect's leasing events"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated leasing-event rows for the prospect.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ProspectLeasingEventList"}},"schemaId":"components/schemas/ProspectLeasingEventList"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1leasing_events/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1leasing_events/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/500/content/application~1json/example"]},{"code":"503","description":"Service temporarily unavailable - the underlying query exceeded its time budget (Postgres statement timeout). Safe to retry after a short backoff.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/503/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/503/content/application~1json/example"]}],"pointer":"/paths/~1leasing_events/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ProspectLeasingEventList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ProspectLeasingEventList"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1leasing_events/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1leasing_events/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/500/content/application~1json/example"]}}},{"code":"503","schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/503/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/get/responses/503/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/leasing-events/getprospectleasingevents"}],"panels":[]}]},"httpPath":"/leasing_events"},{"label":"Create leasing events","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/leasing-events/postleasingevents","routeSlug":"/openapi/openapi/leasing-events/postleasingevents","metadata":{"seo":{"title":"Create leasing events","description":"Create one or more leasing events. Additional event types will be supported in future releases."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postLeasingEvents","name":"Create leasing events","isWebhook":false,"pointer":"/paths/~1leasing_events/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create leasing events","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create one or more leasing events. Additional event types will be supported in future releases."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Currently supported event types:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assign to User"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — assign one or more users to a prospect. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"context"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"must"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" include an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"assignedToUserIds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array. See "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AssignToUserContext"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Application Received"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — log that an application has been received from an external system. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"context"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object accepts optional metadata about the external application; see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ApplicationReceivedContext"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostLeasingEventsRequest","exampleIds":["paths/~1leasing_events/post/requestBody/content/application~1json/examples/assignToUser","paths/~1leasing_events/post/requestBody/content/application~1json/examples/applicationReceived"]}},"schemaId":"components/schemas/PostLeasingEventsRequest","exampleIds":["paths/~1leasing_events/post/requestBody/content/application~1json/examples/assignToUser","paths/~1leasing_events/post/requestBody/content/application~1json/examples/applicationReceived"],"pointer":"/paths/~1leasing_events/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/leasing_events","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PostLeasingEventsRequest","exampleIds":["paths/~1leasing_events/post/requestBody/content/application~1json/examples/assignToUser","paths/~1leasing_events/post/requestBody/content/application~1json/examples/applicationReceived"]}},"responseCodes":["201","400","401","429","500"],"pointer":"/leasing_events","href":"leasing-events/postleasingevents","openApiOperationId":"postLeasingEvents","summary":"Create leasing events"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/PostLeasingEventsRequest","exampleIds":["paths/~1leasing_events/post/requestBody/content/application~1json/examples/assignToUser","paths/~1leasing_events/post/requestBody/content/application~1json/examples/applicationReceived"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostLeasingEventsRequest","exampleIds":["paths/~1leasing_events/post/requestBody/content/application~1json/examples/assignToUser","paths/~1leasing_events/post/requestBody/content/application~1json/examples/applicationReceived"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Leasing events created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_141"}},"schemaId":"schema_141"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1leasing_events/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1leasing_events/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1leasing_events/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_141","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_141"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1leasing_events/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1leasing_events/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1leasing_events/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/leasing-events/postleasingevents"}],"panels":[]}]},"httpPath":"/leasing_events"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Leasing events","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi/openapi/leasing-events/receive-leasing-events","routeSlug":"/openapi/openapi/leasing-events/receive-leasing-events","metadata":{"seo":{"title":"Leasing events","description":"Webhook for leasing events (creates, updates, deletes).Leasing events of the following types are supported:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"receive-leasing-events","name":"Leasing events","isWebhook":true,"pointer":"/paths/LeasingEvents/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Leasing events","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook for leasing events (creates, updates, deletes)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Leasing events of the following types are supported:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"New\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Contacted, Awaiting Information\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Showing Desired\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Showing Scheduled\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Showing Complete\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Missed Showing\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Ghosting\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Application Sent to Prospect\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Application Received\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Application Pending\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Application in Owner Review\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Application Approved\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Withdrawn\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Application Rejected\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Prescreen Submitted\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Prescreen Rejected - Self reported credit\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Prescreen Rejected - Self reported income\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Prescreen Rejected - ID Verification\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Prescreen Approved\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Looking too early\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Lease out for signing\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Lease Signed\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Deposit Received\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Move-in Scheduled\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Moved In\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Unit of Interest Unavailable\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Not Interested\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Duplicate Lead\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Still Deciding\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"HOA Application Sent To Prospect\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"HOA Application Submitted\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"HOA Application Approved\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"HOA Application Rejected\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Showing Failed\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Showing Canceled\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Showing Confirmed\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Arrived for Showing\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Showing Started\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Log Note\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Assign to User\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Blocklist Prospect\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Unblock Prospect\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Reassign Showing\""},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key authentication for webhooks. The key is defined when setting up the webhook in the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is delivered in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every webhook request."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/WebhookPayload"}},"schemaId":"components/schemas/WebhookPayload","pointer":"/paths/LeasingEvents/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"LeasingEvents","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/WebhookPayload"}},"responseCodes":["200"],"pointer":"LeasingEvents","href":"leasing-events/receive-leasing-events","openApiOperationId":"receive-leasing-events","summary":"Leasing events"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/WebhookPayload","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/WebhookPayload"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}},"schemaId":"schema_103"}],"pointer":"/paths/LeasingEvents/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_103","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/leasing-events/receive-leasing-events"}],"panels":[]}]},"httpPath":"LeasingEvents"}],"content":{"contentType":"group","meta":{"name":"Leasing Events"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Leasing Events","showPageActions":true},{"nodeType":"markdoc","content":"Events related to leasing events"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/leasing_events","summary":"List a prospect's leasing events","prefix":{"name":"get","color":"get"},"badges":[],"link":"/leasing-events/getprospectleasingevents","deprecated":false},{"title":"/leasing_events","summary":"Create leasing events","prefix":{"name":"post","color":"post"},"badges":[],"link":"/leasing-events/postleasingevents","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"LeasingEvents","summary":"Leasing events","prefix":{"name":"post","color":"post"},"badges":[],"link":"/leasing-events/receive-leasing-events","deprecated":false}]}]}]}]}},{"type":"group","label":"Calls","link":"/openapi/openapi/calls","routeSlug":"/openapi/openapi/calls","items":[{"label":"List a prospect's calls","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/calls/getprospectcalls","routeSlug":"/openapi/openapi/calls/getprospectcalls","metadata":{"seo":{"title":"List a prospect's calls","description":"Retrieve a prospect's call history (newest first), by prospect_id or phone (supply exactly one)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProspectCalls","name":"List a prospect's calls","isWebhook":false,"pointer":"/paths/~1calls/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List a prospect's calls","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a prospect's call history (newest first), by prospect_id or phone (supply exactly one)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_ids","in":"query","schemaId":"schema_85","description":"Comma-separated account IDs to query. The token may only query accounts\nits user belongs to; requesting any other account yields 403.\n","required":true},{"name":"prospect_id","in":"query","schemaId":"schema_139","description":"The prospect's numeric id. Provide either this or phone (exactly one)."},{"name":"phone","in":"query","schemaId":"schema_140","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A US phone number in any human-readable format (normalized to E.164 server-side). Matches all prospect records sharing this number, so results may span more than one prospect_id."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1calls/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/calls","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_ids","in":"query","required":true,"schemaId":"schema_85","style":"form","explode":false},{"name":"prospect_id","in":"query","required":false,"example":12345,"schemaId":"schema_139"},{"name":"phone","in":"query","required":false,"example":"(415) 555-0100","schemaId":"schema_140"},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500","503"],"pointer":"/calls","href":"calls/getprospectcalls","openApiOperationId":"getProspectCalls","summary":"List a prospect's calls"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated call rows for the prospect.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ProspectCallList"}},"schemaId":"components/schemas/ProspectCallList"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1calls/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1calls/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/500/content/application~1json/example"]},{"code":"503","description":"Service temporarily unavailable - the underlying query exceeded its time budget (Postgres statement timeout). Safe to retry after a short backoff.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/503/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/503/content/application~1json/example"]}],"pointer":"/paths/~1calls/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ProspectCallList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ProspectCallList"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1calls/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1calls/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/500/content/application~1json/example"]}}},{"code":"503","schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/503/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1calls/get/responses/503/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/calls/getprospectcalls"}],"panels":[]}]},"httpPath":"/calls"}],"content":{"contentType":"group","meta":{"name":"Calls"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Calls","showPageActions":true},{"nodeType":"markdoc","content":"Operations for retrieving a prospect's call history"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/calls","summary":"List a prospect's calls","prefix":{"name":"get","color":"get"},"badges":[],"link":"/calls/getprospectcalls","deprecated":false}]}]}]}]}},{"type":"group","label":"Messages","link":"/openapi/openapi/messages","routeSlug":"/openapi/openapi/messages","items":[{"label":"List a prospect's messages","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/messages/getprospectmessages","routeSlug":"/openapi/openapi/messages/getprospectmessages","metadata":{"seo":{"title":"List a prospect's messages","description":"Retrieve a prospect's SMS history (newest first), by prospect_id or phone (supply exactly one)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProspectMessages","name":"List a prospect's messages","isWebhook":false,"pointer":"/paths/~1messages/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List a prospect's messages","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a prospect's SMS history (newest first), by prospect_id or phone (supply exactly one)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"account_ids","in":"query","schemaId":"schema_85","description":"Comma-separated account IDs to query. The token may only query accounts\nits user belongs to; requesting any other account yields 403.\n","required":true},{"name":"prospect_id","in":"query","schemaId":"schema_139","description":"The prospect's numeric id. Provide either this or phone (exactly one)."},{"name":"phone","in":"query","schemaId":"schema_140","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A US phone number in any human-readable format (normalized to E.164 server-side). Matches all prospect records sharing this number, so results may span more than one prospect_id."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1messages/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/messages","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"account_ids","in":"query","required":true,"schemaId":"schema_85","style":"form","explode":false},{"name":"prospect_id","in":"query","required":false,"example":12345,"schemaId":"schema_139"},{"name":"phone","in":"query","required":false,"example":"(415) 555-0100","schemaId":"schema_140"},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500","503"],"pointer":"/messages","href":"messages/getprospectmessages","openApiOperationId":"getProspectMessages","summary":"List a prospect's messages"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated message rows for the prospect.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ProspectMessageList"}},"schemaId":"components/schemas/ProspectMessageList"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/401/content/application~1json/example"]},{"code":"403","description":"Forbidden - the token cannot access one or more requested accounts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/403/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1messages/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1messages/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/500/content/application~1json/example"]},{"code":"503","description":"Service temporarily unavailable - the underlying query exceeded its time budget (Postgres statement timeout). Safe to retry after a short backoff.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/503/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/503/content/application~1json/example"]}],"pointer":"/paths/~1messages/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ProspectMessageList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ProspectMessageList"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/403/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1messages/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1messages/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/500/content/application~1json/example"]}}},{"code":"503","schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/503/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1messages/get/responses/503/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/messages/getprospectmessages"}],"panels":[]}]},"httpPath":"/messages"}],"content":{"contentType":"group","meta":{"name":"Messages"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Messages","showPageActions":true},{"nodeType":"markdoc","content":"Operations for retrieving a prospect's SMS history"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/messages","summary":"List a prospect's messages","prefix":{"name":"get","color":"get"},"badges":[],"link":"/messages/getprospectmessages","deprecated":false}]}]}]}]}},{"type":"group","label":"Subteams","link":"/openapi/openapi/subteams","routeSlug":"/openapi/openapi/subteams","items":[{"label":"Get subteams","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/subteams/getsubteams","routeSlug":"/openapi/openapi/subteams/getsubteams","metadata":{"seo":{"title":"Get subteams","description":"Retrieve subteams with optional filtering and pagination"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSubteams","name":"Get subteams","isWebhook":false,"pointer":"/paths/~1subteams/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get subteams","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve subteams with optional filtering and pagination"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"subteam_ids","in":"query","schemaId":"schema_90","description":"Filter by comma-separated list of subteam IDs","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"]},{"name":"account_id","in":"query","schemaId":"schema_91","description":"Filter by account ID"},{"name":"limit","in":"query","schemaId":"schema_93","description":"Maximum number of items to return per page (default 50, max 100)"},{"name":"page_number","in":"query","schemaId":"schema_94","description":"Page number for pagination (0-indexed, default 0)"}],"pointer":"/paths/~1subteams/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/subteams","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"subteam_ids","in":"query","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"],"schemaId":"schema_90","style":"form","explode":false},{"name":"account_id","in":"query","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_91"},{"name":"limit","in":"query","example":25,"schemaId":"schema_93"},{"name":"page_number","in":"query","example":1,"schemaId":"schema_94"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/subteams","href":"subteams/getsubteams","openApiOperationId":"getSubteams","summary":"Get subteams"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of subteams.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_142"}},"schemaId":"schema_142"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1subteams/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1subteams/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1subteams/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_142","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_142"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1subteams/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1subteams/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1subteams/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/subteams/getsubteams"}],"panels":[]}]},"httpPath":"/subteams"}],"content":{"contentType":"group","meta":{"name":"Subteams"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Subteams","showPageActions":true},{"nodeType":"markdoc","content":"Operations for managing subteams"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/subteams","summary":"Get subteams","prefix":{"name":"get","color":"get"},"badges":[],"link":"/subteams/getsubteams","deprecated":false}]}]}]}]}},{"type":"group","label":"Prescreening Templates","link":"/openapi/openapi/prescreening-templates","routeSlug":"/openapi/openapi/prescreening-templates","items":[{"label":"Get prescreening templates","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/prescreening-templates/getprescreeningtemplates","routeSlug":"/openapi/openapi/prescreening-templates/getprescreeningtemplates","metadata":{"seo":{"title":"Get prescreening templates","description":"Retrieve prescreening templates with optional filtering and pagination"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPrescreeningTemplates","name":"Get prescreening templates","isWebhook":false,"pointer":"/paths/~1prescreening_templates/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get prescreening templates","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve prescreening templates with optional filtering and pagination"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"templateIds","in":"query","schemaId":"schema_90","description":"Filter by comma-separated list of template IDs","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"]},{"name":"accountId","in":"query","schemaId":"schema_91","description":"Filter by account ID"},{"name":"isDefault","in":"query","schemaId":"schema_143","description":"Filter by default template status"},{"name":"limit","in":"query","schemaId":"schema_93","description":"Maximum number of items to return per page (default 50, max 100)"},{"name":"page_number","in":"query","schemaId":"schema_94","description":"Page number for pagination (0-indexed, default 0)"}],"pointer":"/paths/~1prescreening_templates/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/prescreening_templates","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"templateIds","in":"query","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"],"schemaId":"schema_90","style":"form","explode":false},{"name":"accountId","in":"query","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_91"},{"name":"isDefault","in":"query","example":true,"schemaId":"schema_143"},{"name":"limit","in":"query","example":25,"schemaId":"schema_93"},{"name":"page_number","in":"query","example":1,"schemaId":"schema_94"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/prescreening_templates","href":"prescreening-templates/getprescreeningtemplates","openApiOperationId":"getPrescreeningTemplates","summary":"Get prescreening templates"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of prescreening templates.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_144"}},"schemaId":"schema_144"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1prescreening_templates/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1prescreening_templates/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1prescreening_templates/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_144","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_144"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1prescreening_templates/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1prescreening_templates/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1prescreening_templates/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/prescreening-templates/getprescreeningtemplates"}],"panels":[]}]},"httpPath":"/prescreening_templates"}],"content":{"contentType":"group","meta":{"name":"Prescreening Templates"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Prescreening Templates","showPageActions":true},{"nodeType":"markdoc","content":"Operations for managing prescreening templates used for prospect qualification"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/prescreening_templates","summary":"Get prescreening templates","prefix":{"name":"get","color":"get"},"badges":[],"link":"/prescreening-templates/getprescreeningtemplates","deprecated":false}]}]}]}]}},{"type":"group","label":"Showings","link":"/openapi/openapi/showings","routeSlug":"/openapi/openapi/showings","items":[{"label":"Get unit showing availability","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/showings/getshowingavailability","routeSlug":"/openapi/openapi/showings/getshowingavailability","metadata":{"seo":{"title":"Get unit showing availability","description":"Retrieve showing availability for a specific unit, including available and preferred showing windows"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getShowingAvailability","name":"Get unit showing availability","isWebhook":false,"pointer":"/paths/~1showings~1availability/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get unit showing availability","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve showing availability for a specific unit, including available and preferred showing windows"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"unitId","in":"query","schemaId":"schema_145","description":"ID of the unit to get availability for","required":true}],"pointer":"/paths/~1showings~1availability/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/showings/availability","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"unitId","in":"query","required":true,"example":12345,"schemaId":"schema_145"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/showings/availability","href":"showings/getshowingavailability","openApiOperationId":"getShowingAvailability","summary":"Get unit showing availability"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns showing availability for the unit.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_146"}},"schemaId":"schema_146"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1showings~1availability/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1showings~1availability/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1showings~1availability/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_146","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_146"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1showings~1availability/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1showings~1availability/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1showings~1availability/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/showings/getshowingavailability"}],"panels":[]}]},"httpPath":"/showings/availability"},{"label":"Create a showing","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/showings/createshowing","routeSlug":"/openapi/openapi/showings/createshowing","metadata":{"seo":{"title":"Create a showing","description":"Create a new showing for a unit. This endpoint handles both new showings and rescheduling of existing showings."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createShowing","name":"Create a showing","isWebhook":false,"pointer":"/paths/~1showings~1create/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a showing","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new showing for a unit. This endpoint handles both new showings and rescheduling of existing showings."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"showings/createshowing/request/prospect-types","deepLinkHash":"/showings/createshowing#showings/createshowing/request/prospect-types"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prospect Types"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Self"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Regular prospect who needs to complete prescreening"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agent"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Real estate agent who needs to provide a valid agent token"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"showings/createshowing/request/prescreening","deepLinkHash":"/showings/createshowing#showings/createshowing/request/prescreening"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prescreening"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For self prospects, the system will automatically run prescreening based on the unit's prescreen template."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If prescreening fails, the showing will not be created and an appropriate error will be returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"showings/createshowing/request/agent-tokens","deepLinkHash":"/showings/createshowing#showings/createshowing/request/agent-tokens"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agent Tokens"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For agent prospects, a valid 6-character agent token must be provided in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agentTk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"showings/createshowing/request/showing-methods","deepLinkHash":"/showings/createshowing#showings/createshowing/request/showing-methods"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Showing Methods"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"desiredShowingMethod"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field allows specifying the preferred showing method:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Accompanied\": Agent-guided showing"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Self Guided\": Self-guided showing"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Remote Guided\": Remote-guided showing"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Remote Guided with Gated Access\": Remote-guided showing with gate access"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateShowingRequest","exampleIds":["paths/~1showings~1create/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/CreateShowingRequest","exampleIds":["paths/~1showings~1create/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1showings~1create/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/showings/create","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateShowingRequest","exampleIds":["paths/~1showings~1create/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","500"],"pointer":"/showings/create","href":"showings/createshowing","openApiOperationId":"createShowing","summary":"Create a showing"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/CreateShowingRequest","exampleIds":["paths/~1showings~1create/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateShowingRequest","exampleIds":["paths/~1showings~1create/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Showing created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateShowingResponse"}},"schemaId":"components/schemas/CreateShowingResponse"},{"code":"400","description":"Bad request - validation error or business logic error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_147","exampleIds":["paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-on-hold","paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-time-unavailable","paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-method-unavailable","paths/~1showings~1create/post/responses/400/content/application~1json/examples/past-showing-time","paths/~1showings~1create/post/responses/400/content/application~1json/examples/invalid-agent-token","paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-unknown","paths/~1showings~1create/post/responses/400/content/application~1json/examples/no-showing-time","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-template-not-found","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prospect-blocked","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-rejection"]}},"schemaId":"schema_147","exampleIds":["paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-on-hold","paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-time-unavailable","paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-method-unavailable","paths/~1showings~1create/post/responses/400/content/application~1json/examples/past-showing-time","paths/~1showings~1create/post/responses/400/content/application~1json/examples/invalid-agent-token","paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-unknown","paths/~1showings~1create/post/responses/400/content/application~1json/examples/no-showing-time","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-template-not-found","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prospect-blocked","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-rejection"]},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_148","exampleIds":["paths/~1showings~1create/post/responses/500/content/application~1json/examples/generic-error","paths/~1showings~1create/post/responses/500/content/application~1json/examples/coordinator-error"]}},"schemaId":"schema_148","exampleIds":["paths/~1showings~1create/post/responses/500/content/application~1json/examples/generic-error","paths/~1showings~1create/post/responses/500/content/application~1json/examples/coordinator-error"]}],"pointer":"/paths/~1showings~1create/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CreateShowingResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateShowingResponse"}}},{"code":"400","schemaId":"schema_147","exampleIds":["paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-on-hold","paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-time-unavailable","paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-method-unavailable","paths/~1showings~1create/post/responses/400/content/application~1json/examples/past-showing-time","paths/~1showings~1create/post/responses/400/content/application~1json/examples/invalid-agent-token","paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-unknown","paths/~1showings~1create/post/responses/400/content/application~1json/examples/no-showing-time","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-template-not-found","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prospect-blocked","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-rejection"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_147","exampleIds":["paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-on-hold","paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-time-unavailable","paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-method-unavailable","paths/~1showings~1create/post/responses/400/content/application~1json/examples/past-showing-time","paths/~1showings~1create/post/responses/400/content/application~1json/examples/invalid-agent-token","paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-unknown","paths/~1showings~1create/post/responses/400/content/application~1json/examples/no-showing-time","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-template-not-found","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prospect-blocked","paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-rejection"]}}},{"code":"500","schemaId":"schema_148","exampleIds":["paths/~1showings~1create/post/responses/500/content/application~1json/examples/generic-error","paths/~1showings~1create/post/responses/500/content/application~1json/examples/coordinator-error"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_148","exampleIds":["paths/~1showings~1create/post/responses/500/content/application~1json/examples/generic-error","paths/~1showings~1create/post/responses/500/content/application~1json/examples/coordinator-error"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/showings/createshowing"}],"panels":[]}]},"httpPath":"/showings/create"}],"content":{"contentType":"group","meta":{"name":"Showings"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Showings","showPageActions":true},{"nodeType":"markdoc","content":"Operations for managing showing availability and scheduling"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/showings/availability","summary":"Get unit showing availability","prefix":{"name":"get","color":"get"},"badges":[],"link":"/showings/getshowingavailability","deprecated":false},{"title":"/showings/create","summary":"Create a showing","prefix":{"name":"post","color":"post"},"badges":[],"link":"/showings/createshowing","deprecated":false}]}]}]}]}},{"type":"group","label":"Marketing","link":"/openapi/openapi/marketing","routeSlug":"/openapi/openapi/marketing","items":[{"label":"Get marketing listings","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/marketing/getmarketinglistings","routeSlug":"/openapi/openapi/marketing/getmarketinglistings","metadata":{"seo":{"title":"Get marketing listings","description":"Retrieve marketing listings for a specific account. This endpoint is designed for embedding listings on external websites and marketing platforms."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMarketingListings","name":"Get marketing listings","isWebhook":false,"pointer":"/paths/~1marketing~1listings~1{accountId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get marketing listings","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve marketing listings for a specific account. This endpoint is designed for embedding listings on external websites and marketing platforms."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"accountId","in":"path","schemaId":"schema_111","description":"The account ID to retrieve listings for","required":true}],"pointer":"/paths/~1marketing~1listings~1{accountId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"utm_source","in":"query","schemaId":"schema_149","description":"UTM source parameter for tracking"},{"name":"limit","in":"query","schemaId":"schema_93","description":"Maximum number of items to return per page (default 50, max 100)"},{"name":"page_number","in":"query","schemaId":"schema_94","description":"Page number for pagination (0-indexed, default 0)"}],"pointer":"/paths/~1marketing~1listings~1{accountId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/marketing/listings/{accountId}","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[{"name":"accountId","in":"path","required":true,"example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_111"}],"query":[{"name":"utm_source","in":"query","example":"website_widget","schemaId":"schema_149"},{"name":"limit","in":"query","example":25,"schemaId":"schema_93"},{"name":"page_number","in":"query","example":1,"schemaId":"schema_94"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","404","500"],"pointer":"/marketing/listings/{accountId}","href":"marketing/getmarketinglistings","openApiOperationId":"getMarketingListings","summary":"Get marketing listings"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success. Returns a list of marketing listings.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_150"}},"schemaId":"schema_150"},{"code":"404","description":"Not found.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1marketing~1listings~1{accountId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1marketing~1listings~1{accountId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1marketing~1listings~1{accountId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_150","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_150"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Error"}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1marketing~1listings~1{accountId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1marketing~1listings~1{accountId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/marketing/getmarketinglistings"}],"panels":[]}]},"httpPath":"/marketing/listings/{accountId}"}],"content":{"contentType":"group","meta":{"name":"Marketing"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Marketing","showPageActions":true},{"nodeType":"markdoc","content":"Operations for retrieving marketing listings for external display and embedding on websites"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/marketing/listings/{accountId}","summary":"Get marketing listings","prefix":{"name":"get","color":"get"},"badges":[],"link":"/marketing/getmarketinglistings","deprecated":false}]}]}]}]}},{"type":"group","label":"Rental Applications","link":"/openapi/openapi/rental-applications","routeSlug":"/openapi/openapi/rental-applications","items":[{"label":"List rental application groups","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/rental-applications/listrentalapplicationgroups","routeSlug":"/openapi/openapi/rental-applications/listrentalapplicationgroups","metadata":{"seo":{"title":"List rental application groups","description":"Retrieve rental application groups with filters, sorting, and pagination. Each grouprepresents a single party applying to a unit and bundles one or more applicants.The response embeds a non-PII summary for each applicant including screening status."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listRentalApplicationGroups","name":"List rental application groups","isWebhook":false,"pointer":"/paths/~1rental_application_groups/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List rental application groups","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve rental application groups with filters, sorting, and pagination. Each group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"represents a single party applying to a unit and bundles one or more applicants."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response embeds a non-PII summary for each applicant including screening status."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For the full applicant record including PII (personal details, income, address history),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fetch the individual applicant via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"id","in":"query","schemaId":"schema_86","description":"Filter by one or more rental application group IDs (comma-separated)","example":["123e4567-e89b-12d3-a456-426614174000","223e4567-e89b-12d3-a456-426614174111"]},{"name":"account_id","in":"query","schemaId":"schema_111","description":"Filter by account ID (via the associated unit)","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},{"name":"subteam_id","in":"query","schemaId":"schema_135","description":"Filter by subteam ID (via the associated unit)"},{"name":"unit_id","in":"query","schemaId":"schema_151","description":"Filter by one or more unit IDs (comma-separated)","example":[12345,67890]},{"name":"status","in":"query","schemaId":"schema_152","description":"Filter by one or more application group statuses (comma-separated)","example":["Submitted","Approved"]},{"name":"created_after","in":"query","schemaId":"schema_153","description":"Only include groups created at or after this ISO-8601 datetime","example":"2026-01-01T00:00:00Z"},{"name":"created_before","in":"query","schemaId":"schema_154","description":"Only include groups created at or before this ISO-8601 datetime"},{"name":"updated_after","in":"query","schemaId":"schema_154","description":"Only include groups updated at or after this ISO-8601 datetime"},{"name":"updated_before","in":"query","schemaId":"schema_154","description":"Only include groups updated at or before this ISO-8601 datetime"},{"name":"sort","in":"query","schemaId":"schema_155","description":"Field to sort by"},{"name":"direction","in":"query","schemaId":"schema_156","description":"Sort direction"},{"name":"limit","in":"query","schemaId":"schema_93","description":"Maximum number of items to return per page (default 50, max 100)"},{"name":"page_number","in":"query","schemaId":"schema_94","description":"Page number for pagination (0-indexed, default 0)"}],"pointer":"/paths/~1rental_application_groups/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/rental_application_groups","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"id","in":"query","example":["123e4567-e89b-12d3-a456-426614174000","223e4567-e89b-12d3-a456-426614174111"],"schemaId":"schema_86","style":"form","explode":false},{"name":"account_id","in":"query","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","schemaId":"schema_111"},{"name":"subteam_id","in":"query","example":"123e4567-e89b-12d3-a456-426614174000","schemaId":"schema_135"},{"name":"unit_id","in":"query","example":[12345,67890],"schemaId":"schema_151","style":"form","explode":false},{"name":"status","in":"query","example":["Submitted","Approved"],"schemaId":"schema_152","style":"form","explode":false},{"name":"created_after","in":"query","example":"2026-01-01T00:00:00Z","schemaId":"schema_153"},{"name":"created_before","in":"query","example":"2024-01-15T09:30:00Z","schemaId":"schema_154"},{"name":"updated_after","in":"query","example":"2024-01-15T09:30:00Z","schemaId":"schema_154"},{"name":"updated_before","in":"query","example":"2024-01-15T09:30:00Z","schemaId":"schema_154"},{"name":"sort","in":"query","example":"created_at","schemaId":"schema_155"},{"name":"direction","in":"query","example":"asc","schemaId":"schema_156"},{"name":"limit","in":"query","example":25,"schemaId":"schema_93"},{"name":"page_number","in":"query","example":1,"schemaId":"schema_94"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500"],"pointer":"/rental_application_groups","href":"rental-applications/listrentalapplicationgroups","openApiOperationId":"listRentalApplicationGroups","summary":"List rental application groups"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of rental application groups.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PaginatedRentalApplicationGroups"}},"schemaId":"components/schemas/PaginatedRentalApplicationGroups"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1rental_application_groups/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1rental_application_groups/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1rental_application_groups/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/PaginatedRentalApplicationGroups","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PaginatedRentalApplicationGroups"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1rental_application_groups/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1rental_application_groups/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rental-applications/listrentalapplicationgroups"}],"panels":[]}]},"httpPath":"/rental_application_groups"},{"label":"Get a rental application group","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/rental-applications/getrentalapplicationgroup","routeSlug":"/openapi/openapi/rental-applications/getrentalapplicationgroup","metadata":{"seo":{"title":"Get a rental application group","description":"Retrieve a single rental application group with its applicants (non-PII summary), screening status for each applicant, and the full decision history."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getRentalApplicationGroup","name":"Get a rental application group","isWebhook":false,"pointer":"/paths/~1rental_application_groups~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a rental application group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve a single rental application group with its applicants (non-PII summary),\nscreening status for each applicant, and the full decision history.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_135","description":"Rental application group ID","required":true}],"pointer":"/paths/~1rental_application_groups~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/rental_application_groups/{id}","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"123e4567-e89b-12d3-a456-426614174000","schemaId":"schema_135"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","429","500"],"pointer":"/rental_application_groups/{id}","href":"rental-applications/getrentalapplicationgroup","openApiOperationId":"getRentalApplicationGroup","summary":"Get a rental application group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The rental application group.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RentalApplicationGroupDetail"}},"schemaId":"components/schemas/RentalApplicationGroupDetail"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/401/content/application~1json/example"]},{"code":"404","description":"Not found.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1rental_application_groups~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/RentalApplicationGroupDetail","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RentalApplicationGroupDetail"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Error"}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_application_groups~1{id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rental-applications/getrentalapplicationgroup"}],"panels":[]}]},"httpPath":"/rental_application_groups/{id}"},{"label":"Get a rental application","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/rental-applications/getrentalapplication","routeSlug":"/openapi/openapi/rental-applications/getrentalapplication","metadata":{"seo":{"title":"Get a rental application","description":"Retrieve a single rental application (applicant record) with all data broken outand structured, including PII (personal details, income, address history, co-applicants,pets, vehicles, custom questions). Includes a documents array with opaquedocument_id values that can be passed toGET /rental_applications/{id}/documents/{documentId} to stream the actual file bytes."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getRentalApplication","name":"Get a rental application","isWebhook":false,"pointer":"/paths/~1rental_applications~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a rental application","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single rental application (applicant record) with all data broken out"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and structured, including PII (personal details, income, address history, co-applicants,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"pets, vehicles, custom questions). Includes a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"documents"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array with opaque"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"document_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values that can be passed to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}/documents/{documentId}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to stream the actual file bytes."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access is gated by the authenticated user's permissions on the underlying account."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate limit:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Strict tier — 2 req/s (10 per 5 seconds)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_135","description":"Rental application ID","required":true}],"pointer":"/paths/~1rental_applications~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/rental_applications/{id}","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"123e4567-e89b-12d3-a456-426614174000","schemaId":"schema_135"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","429","500"],"pointer":"/rental_applications/{id}","href":"rental-applications/getrentalapplication","openApiOperationId":"getRentalApplication","summary":"Get a rental application"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The rental application with PII and document listing.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RentalApplication"}},"schemaId":"components/schemas/RentalApplication"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/401/content/application~1json/example"]},{"code":"404","description":"Not found.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1rental_applications~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/RentalApplication","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RentalApplication"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Error"}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rental-applications/getrentalapplication"}],"panels":[]}]},"httpPath":"/rental_applications/{id}"},{"label":"Download a rental application document","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/rental-applications/getrentalapplicationdocument","routeSlug":"/openapi/openapi/rental-applications/getrentalapplicationdocument","metadata":{"seo":{"title":"Download a rental application document","description":"Stream the raw bytes of a document associated with a rental application."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getRentalApplicationDocument","name":"Download a rental application document","isWebhook":false,"pointer":"/paths/~1rental_applications~1{id}~1documents~1{documentId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Download a rental application document","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stream the raw bytes of a document associated with a rental application."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"documentId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is an opaque encrypted identifier returned by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on each entry in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"documents"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It identifies which underlying artifact to fetch — an applicant-uploaded file,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a TransUnion screening report (credit / criminal / eviction), or an ID"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"verification artifact (front / back / selfie). A fresh "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"documentId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is minted"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"on every detail fetch, so the same document yields a different value each"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"time — do not cache by this id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reflects the underlying document (typically"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/pdf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for screening reports, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpeg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for ID artifacts,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and the original MIME type for applicant uploads). By default the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Disposition"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"inline"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; pass "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"?download=true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to force"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"attachment"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for a browser download prompt."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate limit:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Strict tier — 2 req/s (10 per 5 seconds)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_135","description":"Rental application ID","required":true},{"name":"documentId","in":"path","schemaId":"schema_157","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Opaque document identifier from the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"documents"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array on the rental application"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1rental_applications~1{id}~1documents~1{documentId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"download","in":"query","schemaId":"schema_136","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When true, responds with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Disposition: attachment"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to trigger a browser download"},"children":[]}]}]}]}],"pointer":"/paths/~1rental_applications~1{id}~1documents~1{documentId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/rental_applications/{id}/documents/{documentId}","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"123e4567-e89b-12d3-a456-426614174000","schemaId":"schema_135"},{"name":"documentId","in":"path","required":true,"example":"a9J7gI7Gc0Yo9CFhDg5-m9SpMKrUiNKDp5DbpgNiYdp9hzwoKDRwDArG57jwqrdJ9DTHll_M3fxAu_qKmcf66Odvt62turHgBRVGqW31ebJWIKsnrM3b-ys2B4ellJII","schemaId":"schema_157"}],"query":[{"name":"download","in":"query","required":false,"example":false,"schemaId":"schema_136"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","429","500"],"pointer":"/rental_applications/{id}/documents/{documentId}","href":"rental-applications/getrentalapplicationdocument","openApiOperationId":"getRentalApplicationDocument","summary":"Download a rental application document"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The document bytes.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"schema_158"}},"schemaId":"schema_158","headers":{"Content-Type":{"description":"MIME type of the underlying document","schema":{"type":"string","example":"application/pdf"}},"Content-Disposition":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Either "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"inline; filename=\"...\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"attachment; filename=\"...\""},"children":[]}]}]}],"schema":{"type":"string","example":"inline; filename=\"transunion_credit_report.pdf\""}},"Content-Length":{"schema":{"type":"integer","example":1024}}},"headerSchemaId":"schema_159"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/401/content/application~1json/example"]},{"code":"404","description":"The rental application or the requested document could not be found, or the caller does not have access.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_158","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"schema_158"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rental-applications/getrentalapplicationdocument"}],"panels":[]}]},"httpPath":"/rental_applications/{id}/documents/{documentId}"},{"label":"Get a rental application's submitted income","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/rental-applications/getrentalapplicationincome","routeSlug":"/openapi/openapi/rental-applications/getrentalapplicationincome","metadata":{"seo":{"title":"Get a rental application's submitted income","description":"Retrieve the applicant's submitted income, computed exactly as theHousehold / Applicant Summary does — the average of every present incomesource (income documents, payroll connection, bank connection) at its rawOCR / provider amount. No income is excluded for fraud or name/DOBmismatch; every present source with a positive amount contributes."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getRentalApplicationIncome","name":"Get a rental application's submitted income","isWebhook":false,"pointer":"/paths/~1rental_applications~1{id}~1income/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a rental application's submitted income","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the applicant's "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"submitted income"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", computed exactly as the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Household / Applicant Summary does — the average of every present income"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"source (income documents, payroll connection, bank connection) at its raw"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OCR / provider amount. No income is excluded for fraud or name/DOB"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"mismatch; every present source with a positive amount contributes."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is a secondary sub-resource kept separate from"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" because computing payroll/bank income"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"requires live provider fetches. Each source is returned both as a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"summary total and with the underlying per-document / per-employment /"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"per-account detail shown on screen."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Income document PDFs are downloadable: each entry in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sources.documents.items"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" carries a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"document_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — pass it to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}/documents/{documentId}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to stream the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"file bytes. A fresh "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"document_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is minted on every call, so do not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cache by this id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identity data is minimized: SSN is returned as the last four digits"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ssn_last4"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), and payroll date of birth / home address are not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"included. Bank account numbers are likewise returned as the last four"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"digits only. Access is controlled by the API token."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate limit:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Strict tier — 2 req/s (10 per 5 seconds)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_135","description":"Rental application ID","required":true}],"pointer":"/paths/~1rental_applications~1{id}~1income/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/rental_applications/{id}/income","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"123e4567-e89b-12d3-a456-426614174000","schemaId":"schema_135"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","429","500"],"pointer":"/rental_applications/{id}/income","href":"rental-applications/getrentalapplicationincome","openApiOperationId":"getRentalApplicationIncome","summary":"Get a rental application's submitted income"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The applicant's submitted income with per-source detail.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RentalApplicationIncome"}},"schemaId":"components/schemas/RentalApplicationIncome"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/401/content/application~1json/example"]},{"code":"404","description":"Not found.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1rental_applications~1{id}~1income/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/RentalApplicationIncome","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RentalApplicationIncome"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Error"}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1rental_applications~1{id}~1income/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rental-applications/getrentalapplicationincome"}],"panels":[]}]},"httpPath":"/rental_applications/{id}/income"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Rental application groups","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi/openapi/rental-applications/receive-rental-application-group-updates","routeSlug":"/openapi/openapi/rental-applications/receive-rental-application-group-updates","metadata":{"seo":{"title":"Rental application groups","description":"Webhook for rental application group changes. Emits the following semantic events:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"receive-rental-application-group-updates","name":"Rental application groups","isWebhook":true,"pointer":"/paths/RentalApplicationGroups/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Rental application groups","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook for rental application group changes. Emits the following semantic events:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when a new application group is created (INSERT)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.state_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the group's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" transitions (for example, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Submitted"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Approved"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"changes.status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object describes the transition."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.unit_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the group's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" changes without a status change. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"changes.unit_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object describes the transition."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.updated"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fallback for other meaningful UPDATE events."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When a single UPDATE contains multiple changes (for example, a status change and a unit change at the same time), the most specific event is emitted — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.state_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" wins over "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.unit_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", which wins over "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.updated"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". All detected transitions are always included in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"changes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object, so subscribers that want granular detection can inspect "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"changes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" regardless of the top-level "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"record"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"old_record"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" objects are whitelisted and do not include applicant PII. Fetch the group detail endpoint ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_application_groups/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") to retrieve non-PII group state and the applicant list, or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the full applicant record including PII."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key authentication for webhooks. The key is defined when setting up the webhook in the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is delivered in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every webhook request."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RentalApplicationGroupWebhookPayload"}},"schemaId":"components/schemas/RentalApplicationGroupWebhookPayload","pointer":"/paths/RentalApplicationGroups/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"RentalApplicationGroups","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RentalApplicationGroupWebhookPayload"}},"responseCodes":["200"],"pointer":"RentalApplicationGroups","href":"rental-applications/receive-rental-application-group-updates","openApiOperationId":"receive-rental-application-group-updates","summary":"Rental application groups"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/RentalApplicationGroupWebhookPayload","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RentalApplicationGroupWebhookPayload"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}},"schemaId":"schema_103"}],"pointer":"/paths/RentalApplicationGroups/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_103","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rental-applications/receive-rental-application-group-updates"}],"panels":[]}]},"httpPath":"RentalApplicationGroups"},{"label":"Rental applications","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi/openapi/rental-applications/receive-rental-application-updates","routeSlug":"/openapi/openapi/rental-applications/receive-rental-application-updates","metadata":{"seo":{"title":"Rental applications","description":"Webhook for individual rental application changes. Emits the following semantic events:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"receive-rental-application-updates","name":"Rental applications","isWebhook":true,"pointer":"/paths/RentalApplications/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Rental applications","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook for individual rental application changes. Emits the following semantic events:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when a new applicant record is created (INSERT)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application.state_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the applicant's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" transitions (for example, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Incomplete"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Submitted"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"changes.status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object describes the transition."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application.updated"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fallback for other meaningful UPDATE events (for example, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"progress"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" changes, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"move_in_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" changes)."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"record"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"old_record"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" objects are whitelisted and do not include PII — fields such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"personal_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"income_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application_documents"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address_history"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"co_applicants"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are intentionally omitted. Fetch the rental application endpoint ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") with a Bearer token to retrieve full PII after receiving a webhook."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key authentication for webhooks. The key is defined when setting up the webhook in the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is delivered in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every webhook request."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RentalApplicationWebhookPayload"}},"schemaId":"components/schemas/RentalApplicationWebhookPayload","pointer":"/paths/RentalApplications/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"RentalApplications","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RentalApplicationWebhookPayload"}},"responseCodes":["200"],"pointer":"RentalApplications","href":"rental-applications/receive-rental-application-updates","openApiOperationId":"receive-rental-application-updates","summary":"Rental applications"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/RentalApplicationWebhookPayload","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RentalApplicationWebhookPayload"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}},"schemaId":"schema_103"}],"pointer":"/paths/RentalApplications/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_103","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_103"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rental-applications/receive-rental-application-updates"}],"panels":[]}]},"httpPath":"RentalApplications"}],"content":{"contentType":"group","meta":{"name":"Rental Applications"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Rental Applications","showPageActions":true},{"nodeType":"markdoc","content":"Operations for rental application groups, applicant records (with PII), and application documents."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/rental_application_groups","summary":"List rental application groups","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rental-applications/listrentalapplicationgroups","deprecated":false},{"title":"/rental_application_groups/{id}","summary":"Get a rental application group","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rental-applications/getrentalapplicationgroup","deprecated":false},{"title":"/rental_applications/{id}","summary":"Get a rental application","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rental-applications/getrentalapplication","deprecated":false},{"title":"/rental_applications/{id}/documents/{documentId}","summary":"Download a rental application document","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rental-applications/getrentalapplicationdocument","deprecated":false},{"title":"/rental_applications/{id}/income","summary":"Get a rental application's submitted income","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rental-applications/getrentalapplicationincome","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"RentalApplicationGroups","summary":"Rental application groups","prefix":{"name":"post","color":"post"},"badges":[],"link":"/rental-applications/receive-rental-application-group-updates","deprecated":false},{"title":"RentalApplications","summary":"Rental applications","prefix":{"name":"post","color":"post"},"badges":[],"link":"/rental-applications/receive-rental-application-updates","deprecated":false}]}]}]}]}},{"type":"group","label":"Notes & Follow-ups","link":"/openapi/openapi/notes-and-follow-ups","routeSlug":"/openapi/openapi/notes-and-follow-ups","items":[{"label":"Create a prospect note","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/notes-and-follow-ups/postnote","routeSlug":"/openapi/openapi/notes-and-follow-ups/postnote","metadata":{"seo":{"title":"Create a prospect note","description":"Create a note on a prospect. Notes are keyed by phone number, so the note appears on every prospect record sharing that number."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postNote","name":"Create a prospect note","isWebhook":false,"pointer":"/paths/~1notes/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a prospect note","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a note on a prospect. Notes are keyed by phone number, so the\nnote appears on every prospect record sharing that number.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostNoteRequest","exampleIds":["paths/~1notes/post/requestBody/content/application~1json/examples/minimal"]}},"schemaId":"components/schemas/PostNoteRequest","exampleIds":["paths/~1notes/post/requestBody/content/application~1json/examples/minimal"],"pointer":"/paths/~1notes/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/notes","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PostNoteRequest","exampleIds":["paths/~1notes/post/requestBody/content/application~1json/examples/minimal"]}},"responseCodes":["201","400","401","429","500"],"pointer":"/notes","href":"notes-and-follow-ups/postnote","openApiOperationId":"postNote","summary":"Create a prospect note"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/PostNoteRequest","exampleIds":["paths/~1notes/post/requestBody/content/application~1json/examples/minimal"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostNoteRequest","exampleIds":["paths/~1notes/post/requestBody/content/application~1json/examples/minimal"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Note created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NoteRow"}},"schemaId":"components/schemas/NoteRow"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1notes/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1notes/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1notes/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/NoteRow","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NoteRow"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1notes/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1notes/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/notes-and-follow-ups/postnote"}],"panels":[]}]},"httpPath":"/notes"},{"label":"List a prospect's notes","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/notes-and-follow-ups/getnotes","routeSlug":"/openapi/openapi/notes-and-follow-ups/getnotes","metadata":{"seo":{"title":"List a prospect's notes","description":"Retrieve a prospect's notes (newest first), by prospect_id or phone (supply exactly one)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getNotes","name":"List a prospect's notes","isWebhook":false,"pointer":"/paths/~1notes/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List a prospect's notes","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a prospect's notes (newest first), by prospect_id or phone (supply exactly one)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"prospect_id","in":"query","schemaId":"schema_139","description":"The prospect's numeric id. Provide either this or phone (exactly one)."},{"name":"phone","in":"query","schemaId":"schema_140","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A US phone number in any human-readable format (normalized to E.164 server-side). Matches all prospect records sharing this number, so results may span more than one prospect_id."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1notes/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/notes","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"prospect_id","in":"query","required":false,"example":12345,"schemaId":"schema_139"},{"name":"phone","in":"query","required":false,"example":"(415) 555-0100","schemaId":"schema_140"},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500","503"],"pointer":"/notes","href":"notes-and-follow-ups/getnotes","openApiOperationId":"getNotes","summary":"List a prospect's notes"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated note rows for the prospect.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotesList"}},"schemaId":"components/schemas/NotesList"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1notes/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1notes/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/500/content/application~1json/example"]},{"code":"503","description":"Service temporarily unavailable - the underlying query exceeded its time budget (Postgres statement timeout). Safe to retry after a short backoff.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/503/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/503/content/application~1json/example"]}],"pointer":"/paths/~1notes/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/NotesList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotesList"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1notes/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1notes/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/500/content/application~1json/example"]}}},{"code":"503","schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/503/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1notes/get/responses/503/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/notes-and-follow-ups/getnotes"}],"panels":[]}]},"httpPath":"/notes"},{"label":"Create a prospect follow-up","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/notes-and-follow-ups/postfollowup","routeSlug":"/openapi/openapi/notes-and-follow-ups/postfollowup","metadata":{"seo":{"title":"Create a prospect follow-up","description":"Create a follow-up (a scheduled reminder) on a prospect. Ifremind_at is set, a push notification is sent to the user at thattime."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postFollowup","name":"Create a prospect follow-up","isWebhook":false,"pointer":"/paths/~1followups/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a prospect follow-up","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a follow-up (a scheduled reminder) on a prospect. If"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"remind_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is set, a push notification is sent to the user at that"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"time."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostFollowupRequest","exampleIds":["paths/~1followups/post/requestBody/content/application~1json/examples/noteOnly","paths/~1followups/post/requestBody/content/application~1json/examples/withReminder"]}},"schemaId":"components/schemas/PostFollowupRequest","exampleIds":["paths/~1followups/post/requestBody/content/application~1json/examples/noteOnly","paths/~1followups/post/requestBody/content/application~1json/examples/withReminder"],"pointer":"/paths/~1followups/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/followups","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PostFollowupRequest","exampleIds":["paths/~1followups/post/requestBody/content/application~1json/examples/noteOnly","paths/~1followups/post/requestBody/content/application~1json/examples/withReminder"]}},"responseCodes":["201","400","401","429","500"],"pointer":"/followups","href":"notes-and-follow-ups/postfollowup","openApiOperationId":"postFollowup","summary":"Create a prospect follow-up"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"schemaId":"components/schemas/PostFollowupRequest","exampleIds":["paths/~1followups/post/requestBody/content/application~1json/examples/noteOnly","paths/~1followups/post/requestBody/content/application~1json/examples/withReminder"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostFollowupRequest","exampleIds":["paths/~1followups/post/requestBody/content/application~1json/examples/noteOnly","paths/~1followups/post/requestBody/content/application~1json/examples/withReminder"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Follow-up created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FollowupRow"}},"schemaId":"components/schemas/FollowupRow"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1followups/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1followups/post/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1followups/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/FollowupRow","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FollowupRow"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1followups/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1followups/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/notes-and-follow-ups/postfollowup"}],"panels":[]}]},"httpPath":"/followups"},{"label":"List a prospect's follow-ups","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/openapi/notes-and-follow-ups/getfollowups","routeSlug":"/openapi/openapi/notes-and-follow-ups/getfollowups","metadata":{"seo":{"title":"List a prospect's follow-ups","description":"Retrieve a prospect's active follow-ups (newest first), by prospect_id or phone (supply exactly one)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getFollowups","name":"List a prospect's follow-ups","isWebhook":false,"pointer":"/paths/~1followups/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List a prospect's follow-ups","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a prospect's active follow-ups (newest first), by prospect_id or phone (supply exactly one)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"prospect_id","in":"query","schemaId":"schema_139","description":"The prospect's numeric id. Provide either this or phone (exactly one)."},{"name":"phone","in":"query","schemaId":"schema_140","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A US phone number in any human-readable format (normalized to E.164 server-side). Matches all prospect records sharing this number, so results may span more than one prospect_id."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_87","description":"Maximum number of rows to return per page (default 100, max 2000)."},{"name":"page_number","in":"query","schemaId":"schema_88","description":"Page number for pagination (0-indexed, default 0)."}],"pointer":"/paths/~1followups/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/followups","servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"parameters":{"path":[],"query":[{"name":"prospect_id","in":"query","required":false,"example":12345,"schemaId":"schema_139"},{"name":"phone","in":"query","required":false,"example":"(415) 555-0100","schemaId":"schema_140"},{"name":"limit","in":"query","example":100,"schemaId":"schema_87"},{"name":"page_number","in":"query","example":0,"schemaId":"schema_88"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","429","500","503"],"pointer":"/followups","href":"notes-and-follow-ups/getfollowups","openApiOperationId":"getFollowups","summary":"List a prospect's follow-ups"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi/openapi","description":"Mock server","isMockServer":true},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated follow-up rows for the prospect.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FollowupsList"}},"schemaId":"components/schemas/FollowupsList"},{"code":"400","description":"Bad request - invalid input parameters or request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - missing or invalid Bearer token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/401/content/application~1json/example"]},{"code":"429","description":"Rate limit exceeded - too many requests in the current time window","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1followups/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_83","exampleIds":["paths/~1followups/get/responses/429/content/application~1json/example"],"headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window","schema":{"type":"integer","example":100}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current window","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"Unix timestamp (milliseconds) when the rate limit resets","schema":{"type":"integer","example":1706745600000}},"Retry-After":{"description":"Number of seconds to wait before retrying","schema":{"type":"integer","example":45}}},"headerSchemaId":"schema_84"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/500/content/application~1json/example"]},{"code":"503","description":"Service temporarily unavailable - the underlying query exceeded its time budget (Postgres statement timeout). Safe to retry after a short backoff.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/503/content/application~1json/example"]}},"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/503/content/application~1json/example"]}],"pointer":"/paths/~1followups/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/FollowupsList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FollowupsList"}}},{"code":"400","schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/401/content/application~1json/example"]}}},{"code":"429","schemaId":"schema_83","exampleIds":["paths/~1followups/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83","exampleIds":["paths/~1followups/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/500/content/application~1json/example"]}}},{"code":"503","schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/503/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error","exampleIds":["paths/~1followups/get/responses/503/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/notes-and-follow-ups/getfollowups"}],"panels":[]}]},"httpPath":"/followups"}],"content":{"contentType":"group","meta":{"name":"Notes & Follow-ups"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Notes & Follow-ups","showPageActions":true},{"nodeType":"markdoc","content":"Operations for reading and creating a prospect's notes and follow-up reminders."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/notes","summary":"Create a prospect note","prefix":{"name":"post","color":"post"},"badges":[],"link":"/notes-and-follow-ups/postnote","deprecated":false},{"title":"/notes","summary":"List a prospect's notes","prefix":{"name":"get","color":"get"},"badges":[],"link":"/notes-and-follow-ups/getnotes","deprecated":false},{"title":"/followups","summary":"Create a prospect follow-up","prefix":{"name":"post","color":"post"},"badges":[],"link":"/notes-and-follow-ups/postfollowup","deprecated":false},{"title":"/followups","summary":"List a prospect's follow-ups","prefix":{"name":"get","color":"get"},"badges":[],"link":"/notes-and-follow-ups/getfollowups","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/RentalApplicationIncome":{"id":"components/schemas/RentalApplicationIncome","kind":"json-schema","title":"RentalApplicationIncome","data":{"type":"object","description":"An applicant's submitted income, computed like the Household / Applicant Summary (average of every present source at its raw amount; no fraud/mismatch exclusion), with per-source detail.","properties":{"rental_application_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid"},"submitted_monthly_income":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The headline figure — the average of the applicant's present income sources (documents / payroll / bank), each counted only when it reports a positive amount. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when no source reports income."},"children":[]}]}]}],"example":5087.74},"self_reported_monthly_income":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monthly income the applicant entered themselves (from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"income_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":4500},"sources":{"type":"object","properties":{"documents":{"type":"object","description":"Income derived from applicant-uploaded documents (OCR).","properties":{"monthly_income":{"type":["number","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"De-duplicated total across document sources; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when there is no document income."},"children":[]}]}]}],"example":5087.74},"breakdown":{"type":"array","description":"Per-source rollup (de-duplicated by employer/account), as shown on the summary card.","items":{"$ref":"#/components/schemas/IncomeDocumentBreakdownSource"}},"items":{"type":"array","description":"Per-document detail, one entry per completed income document.","items":{"$ref":"#/components/schemas/IncomeDocumentItem"}}}},"payroll":{"oneOf":[{"$ref":"#/components/schemas/PayrollIncome"},{"type":"null"}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payroll-connection income (Argyle VOIE); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when no payroll report exists."},"children":[]}]}]}]},"bank":{"oneOf":[{"$ref":"#/components/schemas/BankIncome"},{"type":"null"}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bank-connection income (Argyle open banking); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when no bank report exists."},"children":[]}]}]}]}}}}}},"components/schemas/IncomeDocumentBreakdownSource":{"id":"components/schemas/IncomeDocumentBreakdownSource","kind":"json-schema","title":"IncomeDocumentBreakdownSource","data":{"type":"object","description":"A de-duplicated income source rolled up from one or more documents.","properties":{"source_key":{"type":"string","example":"doordash"},"doc_type":{"type":"string","example":"paystub"},"display_name":{"type":"string","example":"DoorDash"},"monthly_income":{"type":"number","example":5087.74},"document_count":{"type":"integer","example":2}}}},"components/schemas/IncomeDocumentItem":{"id":"components/schemas/IncomeDocumentItem","kind":"json-schema","title":"IncomeDocumentItem","data":{"type":"object","description":"A single completed income document with the fields shown on its card.","properties":{"document_id":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Opaque, encrypted id for downloading this PDF via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}/documents/{documentId}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Minted fresh per call — do not cache. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the document is no longer a listed application document."},"children":[]}]}]}],"example":"a9J7gI7Gc0Yo9CFhDg5-m9SpMKrUiNKDp5DbpgNiYdp9hzwoKDRwDArG57jwqrdJ9DTHll_M3fxAu_qKmcf66Odvt62turHgBRVGqW31ebJWIKsnrM3b-ys2B4ellJII"},"document_type":{"type":"string","enum":["paystub","w2","bank_statement","1099","1040","tax_return","employment_letter","unknown"],"example":"paystub"},"status":{"type":"string","example":"completed"},"applicant_name":{"type":["string","null"],"description":"Name extracted from this document (may differ per document; useful for mismatch detection).","example":"Ada Lovelace"},"computed_monthly_income":{"type":["number","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The card's \"Est. Monthly\" value derived from this document; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when it can't be computed."},"children":[]}]}]}],"example":5087.74},"income_basis":{"type":"string","example":"gross","enum":["gross","net"]},"details":{"type":"object","additionalProperties":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fields specific to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"document_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", mirroring that document's info card:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paystub"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"employer_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pay_frequency"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pay_period_start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pay_period_end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"gross_pay_current"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"net_pay_current"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"gross_pay_ytd"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hourly_rate"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"w2"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"employer_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"employer_ein"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tax_year"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wages_tips_compensation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"federal_tax_withheld"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"social_security_wages"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"medicare_wages"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"state_tax_withheld"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"bank_statement"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"bank_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_last4"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"statement_period_start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"statement_period_end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"opening_balance"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"closing_balance"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_deposits"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_withdrawals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"payroll_deposits[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"employment_letter"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"employer_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"position_title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"employment_status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"annual_salary"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hourly_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pay_frequency"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"employment_start_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"letter_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"signatory_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"signatory_title"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1040 / tax_return"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tax_year"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"filing_status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ssn_last4"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"spouse_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"spouse_ssn_last4"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_income"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"adjusted_gross_income"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_tax"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1099"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"payer_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"form_variant"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tax_year"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"gross_income"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"nonemployee_compensation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"federal_tax_withheld"},"children":[]}]}]}]}]}}}},"components/schemas/PayrollIncome":{"id":"components/schemas/PayrollIncome","kind":"json-schema","title":"PayrollIncome","data":{"type":"object","description":"Income from a connected payroll provider (Argyle VOIE).","properties":{"status":{"type":"string","enum":["ok","error"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ok"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the payroll report was fetched successfully. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"report exists but its data couldn't be retrieved — it may still be"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"generating, or the fetch timed out / errored. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"monthly_income"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is then"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"0, the detail is empty, and this source did NOT contribute to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"submitted_monthly_income"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"ok"},"monthly_income":{"type":"number","description":"Total monthly income across all employments.","example":5000},"employments":{"type":"array","items":{"$ref":"#/components/schemas/PayrollEmployment"}},"income_totals":{"type":"array","description":"Income totals by year.","items":{"$ref":"#/components/schemas/PayrollIncomePeriod"}}}}},"components/schemas/PayrollEmployment":{"id":"components/schemas/PayrollEmployment","kind":"json-schema","title":"PayrollEmployment","data":{"type":"object","properties":{"employer":{"type":["string","null"],"example":"Acme Corp"},"job_title":{"type":["string","null"],"example":"Software Engineer"},"status":{"type":["string","null"],"example":"active"},"employment_type":{"type":["string","null"],"example":"full_time"},"pay_cycle":{"type":["string","null"],"example":"biweekly"},"start_date":{"type":["string","null"],"example":"2024-01-01"},"end_date":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" while the applicant is still employed there, as in this sample."},"children":[]}]}]}],"example":null},"length_of_work":{"type":["object","null"],"properties":{"years":{"type":["string","null"],"example":"2"},"months":{"type":["string","null"],"example":"6"}}},"monthly_income":{"type":["number","null"],"example":5000},"base_pay":{"type":["object","null"],"properties":{"amount":{"type":["string","null"],"example":"60000"},"period":{"type":["string","null"],"example":"annual"}}},"last_paystub_date":{"type":["string","null"],"example":"2026-07-15"},"full_name":{"type":["string","null"],"example":"Ada Lovelace"},"email":{"type":["string","null"],"example":"ada@example.com"},"phone_number":{"type":["string","null"],"example":"5551234567"},"ssn_last4":{"type":["string","null"],"description":"Last four digits of the SSN. The full number is never returned.","example":"6789"},"income":{"type":"array","description":"Per-period income history.","items":{"$ref":"#/components/schemas/PayrollIncomePeriod"}}}}},"components/schemas/PayrollIncomePeriod":{"id":"components/schemas/PayrollIncomePeriod","kind":"json-schema","title":"PayrollIncomePeriod","data":{"type":"object","properties":{"period":{"type":["string","null"],"description":"The period these figures cover, as the provider labels it.","example":"2025"},"gross_pay":{"type":["string","null"],"example":"60000"},"deductions":{"type":["string","null"],"example":"3600"},"taxes":{"type":["string","null"],"example":"6000"},"net_pay":{"type":["string","null"],"example":"50400"}}}},"components/schemas/BankIncome":{"id":"components/schemas/BankIncome","kind":"json-schema","title":"BankIncome","data":{"type":"object","description":"Income from a connected bank (Argyle open banking).","properties":{"status":{"type":"string","enum":["ok","error"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ok"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the bank report was fetched successfully. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"report exists but its data couldn't be retrieved — it may still be"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"generating, or the fetch timed out / errored. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"monthly_income"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is then"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"0, the detail is empty, and this source did NOT contribute to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"submitted_monthly_income"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"ok"},"monthly_income":{"type":"number","description":"Total average monthly income across active income streams.","example":4200},"assets":{"type":["object","null"],"description":"Report-level balances across every connected account.","properties":{"current_balance":{"type":["number","null"],"example":5000},"two_month_average":{"type":["number","null"],"example":4700},"six_month_average":{"type":["number","null"],"example":4600},"beginning_balance":{"type":["number","null"],"example":4000}}},"accounts":{"type":"array","items":{"$ref":"#/components/schemas/BankAccount"}}}}},"components/schemas/BankAccount":{"id":"components/schemas/BankAccount","kind":"json-schema","title":"BankAccount","data":{"type":"object","properties":{"institution_name":{"type":["string","null"],"example":"Chase"},"account_name":{"type":["string","null"],"example":"Checking"},"account_last4":{"type":["string","null"],"description":"Last four digits of the account number only.","example":"1234"},"type":{"type":["string","null"],"example":"checking"},"currency":{"type":["string","null"],"example":"USD"},"current_balance":{"type":["number","null"],"example":5000},"two_month_average":{"type":["number","null"],"example":4700},"six_month_average":{"type":["number","null"],"example":4600},"beginning_balance":{"type":["number","null"],"example":4000},"average_monthly_balance":{"type":["number","null"],"example":4800},"owner_name":{"type":["string","null"],"example":"Ada Lovelace"},"income_streams":{"type":"array","items":{"$ref":"#/components/schemas/BankIncomeStream"}}}}},"components/schemas/BankIncomeStream":{"id":"components/schemas/BankIncomeStream","kind":"json-schema","title":"BankIncomeStream","data":{"type":"object","properties":{"name":{"type":["string","null"],"example":"ACME PAYROLL"},"status":{"type":["string","null"],"description":"\"ACTIVE\" or \"INACTIVE\".","example":"ACTIVE"},"average_monthly_income_net":{"type":["number","null"],"example":4200},"confidence":{"type":["number","null"],"description":"Provider-reported confidence in this stream, on a 0-to-100 scale.","example":95},"estimate_inclusion":{"type":["string","null"],"description":"How the provider rated this stream for inclusion in its own estimate, passed through verbatim.","example":"HIGH"},"cadence":{"type":["object","null"],"properties":{"days":{"type":["number","null"],"description":"Days between deposits.","example":14},"start_date":{"type":["string","null"],"example":"2025-01-15T12:00:00.000Z"},"stop_date":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" while the stream is still active, as in this sample."},"children":[]}]}]}],"example":null}}},"net_monthly":{"type":"array","description":"Per-month net income history.","items":{"type":"object","properties":{"month":{"type":["string","null"],"description":"The first of the month, as an ISO-8601 timestamp.","example":"2026-06-01T06:00:00.000Z"},"net":{"type":["number","null"],"example":4200}}}}}}},"components/schemas/MarketComp":{"id":"components/schemas/MarketComp","kind":"json-schema","title":"MarketComp","data":{"type":"object","description":"A normalized, provider-free rental market comparable. Contains no listing-provider identifiers or references.","properties":{"address":{"type":"string","example":"123 Main St, Miami, FL"},"beds":{"type":"number","example":2},"baths":{"type":"number","example":2},"sqft":{"type":"number","description":"Living area in square feet.","example":1100},"rent":{"type":"number","description":"Latest asking or rented price.","example":2400},"days_on_market":{"type":"integer","example":12},"date_rented":{"type":"string","format":"date","description":"Date the unit was rented; null while still available.","example":"2025-03-15"},"features":{"type":"array","items":{"type":"string","example":"Pool"},"description":"Human-readable feature labels.","example":["Pool","In-unit laundry"]},"status":{"type":"string","enum":["available","rented"],"example":"available"},"latitude":{"type":"number","example":25.7617},"longitude":{"type":"number","example":-80.1918},"property_type":{"type":"string","description":"Friendly property type (e.g. \"Single Family\", \"Apartment\", \"Condo\", \"Townhouse\", \"Multi-Family\", \"Manufactured\"). Null when unknown.","example":"Single Family"},"image":{"type":"string","description":"Listing photo URL routed through the RentEngine image proxy. Null when no photo is available.","example":"https://imageproxy.rentengine.io/jpeg/aHR0cHM6Ly9leGFtcGxlLmNvbS9waG90by5qcGc"},"zipcode":{"type":"string","example":"33101"},"furnished":{"type":"boolean","description":"Whether the unit is furnished; null when unknown.","example":false},"in_apartment_complex":{"type":"boolean","description":"Whether the unit is part of an apartment complex; null when unknown.","example":true},"num_parking_spots":{"type":"integer","description":"Number of parking spaces; null when unknown.","example":1},"description":{"type":"string","description":"Listing description with all third-party rental-platform references removed. May be null or shortened when the original text consisted mostly of provider mentions.","example":"Bright 2-bed with in-unit laundry. Walk to the park."}}}},"components/schemas/UnitLeasingPerformance":{"id":"components/schemas/UnitLeasingPerformance","kind":"json-schema","title":"UnitLeasingPerformance","data":{"type":"object","description":"Leasing performance metrics for a unit","properties":{"unit_id":{"type":"integer","description":"ID of the unit","example":12345},"days_on_market":{"type":["integer","null"],"description":"Number of days the unit has been on the market","example":45},"property_health":{"type":"string","description":"Overall health assessment of the property listing","enum":["Off-Market","Healthy","At-risk","On Hold","Waitlist","Commercial","Unknown"],"example":"Healthy"},"benchmark_leads_since_last_price_change":{"type":"integer","description":"Expected number of leads based on bedroom count and time since last price change","example":12},"new_prospects":{"type":"integer","description":"Number of new prospects in the reporting period","example":15},"showings_scheduled":{"type":"integer","description":"Number of showings scheduled in the reporting period","example":8},"showings_completed":{"type":"integer","description":"Number of showings completed in the reporting period","example":6},"applications_requested":{"type":"integer","description":"Number of applications requested in the reporting period","example":3},"applications_submitted":{"type":"integer","description":"Number of applications submitted in the reporting period","example":2},"active_prospects":{"type":"integer","description":"Number of active (non-terminal status) prospects in the reporting period","example":5},"upcoming_showings":{"type":"integer","description":"Number of upcoming scheduled showings","example":2},"outbound_texts":{"type":"integer","description":"Number of outbound text messages sent in the reporting period","example":25},"total_calls":{"type":"integer","description":"Total number of calls in the reporting period","example":10},"showing_feedback":{"type":"array","description":"Feedback from completed showings in the reporting period","items":{"$ref":"#/components/schemas/ShowingFeedbackItem"}}},"required":["unit_id","days_on_market","property_health","benchmark_leads_since_last_price_change","new_prospects","showings_scheduled","showings_completed","applications_requested","applications_submitted","active_prospects","upcoming_showings","outbound_texts","total_calls","showing_feedback"]}},"components/schemas/ShowingFeedbackItem":{"id":"components/schemas/ShowingFeedbackItem","kind":"json-schema","title":"ShowingFeedbackItem","data":{"type":"object","description":"Feedback from a completed showing","properties":{"prospect_id":{"type":"integer","description":"ID of the prospect who attended the showing","example":789},"prospect_name":{"type":"string","description":"Name of the prospect","example":"John Doe"},"created_at":{"type":"string","format":"date-time","description":"When the showing was completed","example":"2024-01-15T14:30:00Z"},"feedback":{"type":["string","null"],"description":"Feedback notes from the showing","example":"Prospect liked the kitchen but concerned about parking availability"}},"required":["prospect_id","prospect_name","created_at","feedback"]}},"components/schemas/Error":{"id":"components/schemas/Error","kind":"json-schema","title":"Error","data":{"type":"object","properties":{"error":{"type":"string","description":"Error message","example":"Invalid request parameters"},"details":{"type":"array","items":{"type":"object"},"description":"Detailed error information","example":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]}},"required":["error"]}},"components/schemas/MarketingListing":{"id":"components/schemas/MarketingListing","kind":"json-schema","title":"MarketingListing","data":{"type":"object","description":"Marketing listing data formatted for external display and embedding","properties":{"id":{"type":"string","description":"Unique identifier for the listing","example":"12345"},"email":{"type":"string","description":"Contact email for the listing","example":"leasing@example.com"},"phone":{"type":"string","description":"Contact phone number (digits only)","example":"5551234567"},"propertyType":{"type":"string","description":"Type of property","example":"Single Family","enum":["Single Family","Duplex","Apartment Unit","Condo Unit","Townhouse","ADU","Room","Commercial Office","Commercial Retail","Commercial Industrial","Garage"]},"companyName":{"type":"string","description":"Name of the property management company","example":"ABC Property Management"},"address":{"type":"string","description":"Formatted address","example":"123 Main St #2"},"city":{"type":"string","description":"City name","example":"San Francisco"},"state":{"type":"string","description":"Full state name","example":"California"},"zip":{"type":"string","description":"ZIP code","example":"94111"},"title":{"type":"string","description":"Marketing title for the listing","example":"Beautiful 3BR Home in Prime Location"},"description":{"type":"string","description":"Marketing description of the property","example":"Spacious 3 bedroom home with modern amenities..."},"beds":{"type":"string","description":"Number of bedrooms","example":"3"},"baths":{"type":"string","description":"Number of bathrooms","example":"2"},"dateAvailable":{"type":"string","description":"Date the property is available for move-in","example":"1/15/2024"},"rentAmount":{"type":"string","description":"Monthly rent amount in dollars","example":"2500.23"},"depositAmount":{"type":"string","description":"Security deposit amount in dollars","example":"2500.23"},"squareFootage":{"type":"string","description":"Square footage of the property","example":"1500"},"latitude":{"type":["number","null"],"description":"Latitude coordinate","example":37.7749},"longitude":{"type":["number","null"],"description":"Longitude coordinate","example":-122.4194},"applicationFee":{"type":"string","description":"Application fee amount in dollars","example":"50"},"leaseProcessingFee":{"type":"string","description":"Total lease processing/move-in fees in dollars","example":"150.00"},"isFurnished":{"type":"boolean","description":"Whether the property is furnished","example":false},"dogs":{"type":"boolean","description":"Whether dogs are allowed","example":true},"cats":{"type":"boolean","description":"Whether cats are allowed","example":true},"applyUrl":{"type":"string","description":"URL to apply for the listing","example":"https://rentengine.io/listings/12345"},"btnUrl":{"type":"string","description":"URL for the schedule showing button","example":"https://app.rentengine.io/ss/12345"},"btnText":{"type":"string","description":"Text for the call-to-action button","example":"Schedule a Showing"},"waitlistIcon":{"type":"string","description":"Icon identifier for waitlist status","example":"snooze"},"waitlistLabel":{"type":"string","description":"Label for waitlist status","example":"Wait List"},"waitlistTurnOffDate":{"type":"string","description":"Date when waitlist status ends","example":"2024-02-01"},"virtualTour":{"type":["string","null"],"description":"URL for virtual tour video","example":"https://www.youtube.com/watch?v=abc123"},"pmName":{"type":"string","description":"Property manager name","example":"ABC Property Management"},"pmEmail":{"type":"string","description":"Property manager email","example":"pm@example.com"},"pmPhone":{"type":"string","description":"Property manager phone (digits only)","example":"5551234567"},"externalId":{"type":"string","description":"External system identifier","example":"EXT-12345"},"propertyGroup":{"type":["string","null"],"description":"Property group identifier","example":null},"leaseDescription":{"type":"string","description":"Description of lease terms","example":"12 months"},"moveInFees":{"type":"array","description":"One-time fees required at move-in","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the fee","example":"Admin Fee"},"amount":{"type":"number","description":"Fee amount (dollar value or percentage based on type)","example":150},"type":{"type":"string","enum":["percent","dollar"],"description":"Whether the amount is a fixed dollar value or percentage of rent","example":"dollar"}}},"example":[{"name":"Admin Fee","amount":150,"type":"dollar"}]},"monthlyFees":{"type":"array","description":"Recurring monthly fees in addition to rent","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the fee","example":"Pet Fee"},"amount":{"type":"number","description":"Fee amount (dollar value or percentage based on type)","example":50},"type":{"type":"string","enum":["percent","dollar"],"description":"Whether the amount is a fixed dollar value or percentage of rent","example":"dollar"}}},"example":[{"name":"Pet Fee","amount":50,"type":"dollar"}]},"specials":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Move-in specials and promotional offers. Combines specials from the unit, floorplan, and multifamily property (if applicable). Expired specials are filtered out. When end_date is omitted, the special has no end date (ongoing). Public listing pages should conditionally show the date range only when end_date is present."},"children":[]}]}]}],"items":{"type":"object","properties":{"description":{"type":"string","description":"Description of the special offer","example":"First month free!"},"start_date":{"type":"string","format":"date","description":"Start date of the special offer (YYYY-MM-DD)","example":"2024-01-01"},"end_date":{"type":"string","format":"date","description":"Optional. End date of the special offer (YYYY-MM-DD). When omitted, the special has no end date (ongoing).","example":"2024-03-31"}}},"example":[{"description":"First month free!","start_date":"2024-01-01","end_date":"2024-03-31"},{"description":"$500 off move-in costs","start_date":"2024-01-15"}]},"photos":{"type":"array","description":"Array of photo URLs","items":{"type":"string","example":"https://storage.example.com/images/photo1.jpg"},"example":["https://storage.example.com/images/photo1.jpg","https://storage.example.com/images/photo2.jpg"]}},"required":["id","propertyType","address","city","state","zip","beds","baths","rentAmount","photos"]}},"components/schemas/Lockbox":{"id":"components/schemas/Lockbox","kind":"json-schema","title":"Lockbox","data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UuidProperty"},"lockbox_type":{"$ref":"#/components/schemas/LockboxTypeValue"},"serial_number":{"type":"string","description":"Serial number of the lockbox","example":"1234567"},"account_id":{"type":"string","description":"ID of the account that owns the lockbox","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the lockbox was created","example":"2023-01-15T12:00:00Z"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the lockbox was last updated","example":"2023-01-16T14:30:00Z"}},"required":["id","lockbox_type","serial_number","account_id","created_at","updated_at"]}},"components/schemas/PostLockboxesRequest":{"id":"components/schemas/PostLockboxesRequest","kind":"json-schema","title":"PostLockboxesRequest","data":{"type":"object","properties":{"lockbox_type":{"type":"string","enum":["Sentrilock"],"description":"Type of lockbox (currently only SentriLock is supported)","example":"Sentrilock"},"serial_numbers":{"type":"array","items":{"type":"string","example":"1234567"},"minItems":1,"maxItems":100,"description":"List of serial numbers for the lockboxes to create","example":["1234567","7654321"]},"account_id":{"type":"string","description":"ID of the account to associate with the lockboxes","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"}},"required":["lockbox_type","serial_numbers","account_id"]}},"components/schemas/PostLockboxTransferAccountsRequest":{"id":"components/schemas/PostLockboxTransferAccountsRequest","kind":"json-schema","title":"PostLockboxTransferAccountsRequest","data":{"type":"object","properties":{"lockbox_ids":{"type":"array","items":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid"},"minItems":1,"description":"List of lockbox IDs to be transferred to the new account","example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"]},"new_account_id":{"type":"string","format":"uuid","description":"ID of the account to which the lockboxes should be transferred","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"}},"required":["lockbox_ids","new_account_id"]}},"components/schemas/LockboxTypeValue":{"id":"components/schemas/LockboxTypeValue","kind":"json-schema","title":"LockboxTypeValue","data":{"type":"string","description":"Lockbox hardware/provider type","enum":["Codebox","Sentrilock","IglooWorks","eRentalLock","PointCentral","Master Lock","Rently","TTLock"],"example":"Sentrilock"}},"components/schemas/LockboxEventType":{"id":"components/schemas/LockboxEventType","kind":"json-schema","title":"LockboxEventType","data":{"type":"string","description":"Type of lockbox event","enum":["Install","Activate","Deactivate","Uninstall","Generate Code"],"example":"Install"}},"components/schemas/LockboxEvent":{"id":"components/schemas/LockboxEvent","kind":"json-schema","title":"LockboxEvent","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A single lockbox lifecycle event. There is no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on the event"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"itself; the owning account is reached through the embedded "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockbox"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"object, which also carries the lockbox's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"serial_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"id":{"$ref":"#/components/schemas/UuidProperty"},"lockbox_id":{"type":"string","format":"uuid","description":"ID of the lockbox this event belongs to","example":"123e4567-e89b-12d3-a456-426614174000"},"event_type":{"$ref":"#/components/schemas/LockboxEventType"},"unit_id":{"type":["integer","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unit the event relates to. Null for events recorded against a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"building rather than a unit (see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"multifamily_property_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), and for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"lockboxes not currently assigned to a unit."},"children":[]}]}]}],"example":12345},"multifamily_property_id":{"type":["string","null"],"format":"uuid","description":"Building the event relates to, when it is not unit-scoped","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":["string","null"],"format":"uuid","description":"Auth user who caused the event. Null for events created by an\nautomated process rather than a person.\n","example":"123e4567-e89b-12d3-a456-426614174000"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the event occurred","example":"2023-01-15T12:30:00Z"},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event-specific payload. The shape varies by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"guaranteed stable."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SENSITIVE: for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Generate Code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" events this contains the lockbox"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"access code in plain text ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), alongside "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"codeType"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. ACCESS, INSTALL) and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"createdFor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Treat responses"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from this endpoint as containing physical access credentials and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"handle them accordingly. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Deactivate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" events instead carry"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"provider metadata such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":{"code":"8594","codeType":"ACCESS","date":"2024-11-26T16:45:26.067Z"}},"lockbox":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The associated lockbox. Null only when the lockbox row is not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"visible to the caller. Filtering by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"serial_numbers"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_id"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockbox_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" restricts results to events whose lockbox matches."},"children":[]}]}]}],"properties":{"id":{"$ref":"#/components/schemas/UuidProperty"},"serial_number":{"type":"string","description":"Serial number of the lockbox","example":"2179676"},"lockbox_type":{"$ref":"#/components/schemas/LockboxTypeValue"},"account_id":{"type":"string","format":"uuid","description":"ID of the account that owns the lockbox","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"}}}},"required":["id","lockbox_id","event_type","created_at"]}},"components/schemas/PostLockboxEventsRequest":{"id":"components/schemas/PostLockboxEventsRequest","kind":"json-schema","title":"PostLockboxEventsRequest","data":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"lockbox_id":{"type":"string","description":"ID of the lockbox","example":"123e4567-e89b-12d3-a456-426614174000"},"event_type":{"type":"string","enum":["Install","Uninstall"],"description":"Type of event","example":"Install"},"unit_id":{"type":"number","description":"ID of the unit to associate with the event","example":12345}},"required":["lockbox_id","event_type","unit_id"]},"minItems":1,"maxItems":100,"description":"List of lockbox events to create","example":[{"lockbox_id":"123e4567-e89b-12d3-a456-426614174000","event_type":"Install","unit_id":12345}]}},"required":["events"]}},"components/schemas/UuidProperty":{"id":"components/schemas/UuidProperty","kind":"json-schema","title":"UuidProperty","data":{"type":"string","format":"uuid","description":"Unique identifier","example":"123e4567-e89b-12d3-a456-426614174000"}},"components/schemas/LockboxInstallation":{"id":"components/schemas/LockboxInstallation","kind":"json-schema","title":"LockboxInstallation","data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UuidProperty"},"lockbox_id":{"$ref":"#/components/schemas/UuidProperty"},"unit_id":{"type":"string","description":"ID of the unit where the lockbox is installed","example":"12345"}},"required":["id","lockbox_id","unit_id"]}},"components/schemas/LeasingEvent":{"id":"components/schemas/LeasingEvent","kind":"json-schema","title":"LeasingEvent","data":{"type":"object","properties":{"id":{"type":"integer","format":"int64","description":"Unique identifier for the leasing event","example":12345},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the leasing event was created","example":"2024-10-05T18:53:03.406168Z"},"notes":{"type":"string","description":"Optional notes about the leasing event","example":"Reschedule"},"prospect":{"type":"integer","format":"int64","description":"ID of the associated prospect","example":12345},"planned_date_time":{"type":"string","format":"date-time","description":"Planned date and time for the leasing event","example":"2024-10-05T18:53:03.406168Z"},"source":{"type":"string","description":"Source of the leasing event","enum":["Phone Call","Text Message","Email","Facebook Message","WhatsApp","Other","Showing Scheduler","Automation"],"example":"Phone Call"},"event_type":{"type":"string","description":"Type of the leasing event","enum":["New","Contacted, Awaiting Information","Showing Desired","Showing Scheduled","Showing Complete","Missed Showing","Ghosting","Application Sent to Prospect","Application Received","Application Pending","Application in Owner Review","Application Approved","Withdrawn","Application Rejected","Prescreen Submitted","Prescreen Rejected - Self reported credit","Prescreen Rejected - Self reported income","Prescreen Rejected - ID Verification","Prescreen Approved","Looking too early","Lease out for signing","Lease Signed","Deposit Received","Move-in Scheduled","Moved In","Unit of Interest Unavailable","Not Interested","Duplicate Lead","Still Deciding","HOA Application Sent To Prospect","HOA Application Submitted","HOA Application Approved","HOA Application Rejected","Showing Failed","Showing Canceled","Showing Confirmed","Awaiting PM Response","PM Response","Arrived for Showing","Showing Started","Log Note","Assign to User","Blocklist Prospect","Unblock Prospect","Reassign Showing"],"example":"New"},"next_follow_up":{"type":"string","format":"date-time","description":"Timestamp for the next follow-up","example":"2024-10-05T18:53:03.406168Z"},"deleted":{"type":"boolean","default":false,"description":"Flag indicating if the leasing event is deleted","example":false},"created_by":{"type":"string","description":"Identifier of the user who created the event","example":"12345"},"context":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Additional context information for the event. Structure varies based on event_type."},"children":[]}]}]}],"example":{"assignedToUserIds":["1259ef6e-61ee-42cb-b6bd-7fe547569d7c"],"createdByUserRole":"Property Manager","previousAssignedToUserIds":[]}}}}},"components/schemas/Unit":{"id":"components/schemas/Unit","kind":"json-schema","title":"Unit","data":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier for the unit","example":3318},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the unit was created","example":"2024-10-05T18:53:03.406168Z"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the unit was last updated","example":"2024-10-05T18:53:03.406168Z"},"address":{"type":"object","description":"Address information for the unit","properties":{"formatted_address":{"type":"string","description":"Formatted first line of the address.","example":"123 Main St #3"},"street_number":{"type":"string","description":"Street number","example":"123"},"street_name":{"type":"string","description":"Street name","example":"Main St"},"unit":{"type":["string","null"],"description":"Unit/apartment number","example":"#3"},"zip_code":{"type":"string","description":"ZIP code","example":"94111"},"coordinates":{"type":["array","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Geographic coordinates as [longitude, latitude]"},"children":[]}]}]}],"items":{"type":"number","example":-90.189842},"minItems":2,"maxItems":2,"example":[-90.189842,38.763467]},"timezone":{"type":["object","null"],"description":"Timezone information for the address","properties":{"name":{"type":"string","description":"IANA timezone name","example":"America/New_York"},"source":{"type":"string","description":"Data source attribution","example":"© OpenStreetMap contributors"},"utc_offset":{"type":"number","description":"UTC offset in hours","example":-5},"abbreviation":{"type":"string","description":"Timezone abbreviation","example":"EST"},"observes_dst":{"type":"boolean","description":"Whether the timezone observes daylight saving time","example":true}}},"city":{"type":"string","description":"City name","example":"Miami"},"state":{"type":"string","description":"State full name","example":"Florida"},"country":{"type":"string","description":"Country","example":"United States"}}},"property_type":{"type":"string","description":"Type of property","example":"TOWNHOUSE","enum":["SINGLE FAMILY RESIDENCE","DUPLEX","TRIPLEX","MULTI-FAMILY","CONDO","TOWNHOUSE","ROOM","ADU","GARAGE"]},"bedrooms":{"type":"string","description":"Number of bedrooms","example":"3"},"bathrooms":{"type":"string","description":"Number of bathrooms","example":"2"},"sqft":{"type":"string","description":"Square footage of the unit","example":"1378"},"furnished":{"type":"boolean","description":"Whether the unit is furnished","example":false},"renovated":{"type":"string","description":"Whether the unit has been renovated","example":"No"},"num_parking_spots":{"type":"string","description":"Number of parking spots","example":"2"},"laundry":{"type":"string","description":"Laundry options","example":"In Unit","enum":["In Unit","Shared","Coin-op","Hookups but no machines","Machines In Unit - Tenant Responsible","None"]},"target_rental_rate":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Target rental rate for the unit in dollars per month. 1925 means $1925/month"},"children":[]}]}]}],"example":"1925"},"is_occupied":{"type":"boolean","description":"Whether the unit is currently occupied","example":false},"earliest_move_in_date":{"type":"string","format":"date","description":"Earliest date the unit is available for move-in","example":"2024-10-12"},"allow_cooperating_brokers":{"type":["boolean","null"],"description":"Whether cooperating brokers are allowed","example":true},"desired_lease_duration_months":{"type":"array","items":{"type":"integer","example":12},"description":"Desired lease duration in months","example":[12]},"pets_allowed":{"type":["string","null"],"enum":["Yes","Yes with pet fee","Dogs only","Dogs only with pet fee","Cats only","Cats only with pet fee","No"],"description":"Pet policy","example":"Yes with pet fee"},"pet_restrictions":{"type":"string","description":"Restrictions on pets (breed/weight/size limits, not fees)","example":"Max 2 pets. Dogs must be under 50 lbs. No aggressive breeds."},"pet_fees":{"type":["array","null"],"items":{"type":"object","properties":{"fee_name":{"type":"string","description":"Name of the pet fee","example":"Pet Deposit"},"amount":{"type":"number","minimum":0,"description":"Fee amount (dollar value or percentage of rent)","example":500},"type":{"enum":["dollar","percent"],"type":"string","description":"Whether amount is a flat dollar value or percentage of rent","example":"dollar"},"per_pet":{"type":"boolean","description":"Whether the fee is charged per pet","example":false},"required":{"type":"boolean","description":"Whether the fee is mandatory","example":true},"applies_to_esas":{"type":"boolean","description":"Whether this fee applies to emotional support animals","example":false},"fee_timing":{"enum":["move_in","monthly","move_out","annually"],"type":"string","description":"When the fee is charged","example":"move_in"},"fee_refundable":{"enum":["refundable","nonRefundable","partiallyRefundable"],"type":"string","description":"Refundability of the fee","example":"refundable"},"depends_on_pet_screening_results":{"type":"boolean","description":"Whether the fee amount may vary based on pet screening","example":false}},"required":["fee_name","amount","type","fee_timing","fee_refundable"]},"description":"Structured pet fees for the unit"},"hoa_app_required":{"type":["boolean","null"],"description":"Whether HOA application is required","example":true},"hoa_app_fee":{"type":["number","null"],"description":"HOA application fee in dollars","example":100},"hoa_application_url":{"type":["string","null"],"description":"URL for HOA application","example":"https://example.com/application"},"key_access":{"type":"string","description":"Key access information","example":"I will add this later","enum":["Digital Lockbox Connected to RentEngine","Single code lockbox with key","Digital door lock with code","I will add this later","Accompanied Showing"]},"access_instructions":{"type":"string","description":"Instructions for accessing the unit","example":"Lockbox/Door Code: Tenant Turner"},"min_resident_qualifications":{"type":"string","description":"Minimum qualifications for residents","example":""},"utilities_included":{"type":"array","items":{"type":"string","example":"Lawn Care","enum":["Water","Sewer/Septic","Trash","Wifi/Internet","Cable/TV","Electricity","Gas","HOA","Lawn Care","Pool Service","Pest Control"]},"description":"Utilities included in rent","example":["Lawn Care","Trash"]},"parking_type":{"type":"array","items":{"type":"string","example":"Assigned Spots","enum":["Street","Carport","Assigned Spots","Driveway","Shared Garage","Private Garage","Paid Parking"]},"description":"Type of parking available","example":["Assigned Spots"]},"storm_protection":{"type":"string","description":"Storm protection features","example":"None"},"status":{"type":"string","description":"Current status of the unit","example":"Leased"},"send_showing_notifications":{"type":"boolean","description":"Whether to send showing notifications","example":true},"send_leasing_update_email":{"type":"boolean","description":"Whether to send leasing update emails","example":true},"extracted_from":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Source of the unit data. Can be a any string. Essentially the same as an external_id. Uniqueness is not enforced."},"children":[]}]}]}],"example":"f123abc"},"marketing_description":{"type":"string","description":"Marketing description of the unit","example":"**AVAILABLE NOW** 3 Bedroom 2 Bathroom Townhome For Rent in Meadow Woods!"},"marketing_photos":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Either the original image URL or the file path in the RentEngine storage. When updating, provide the external image url.","examples":["images/92fdf304-9f60-45ff-b44a-e5b2d16b5257.jpg","https://images.cdn.appfolio.com/allegiant/images/8eb1431e-d325-4a43-9fbc-cea487e609f1/large.jpeg"]},"hidden":{"type":"boolean","example":false},"original":{"description":"The external image URL from where the image was imported to RentEngine. Not required as it will be set/overwritten by RentEngine when setting the path field.","type":["string","null"],"example":"https://images.cdn.appfolio.com/allegiant/images/8eb1431e-d325-4a43-9fbc-cea487e609f1/large.jpeg"}}},"description":"Photos of the unit"},"commission_amount":{"type":"string","description":"Commission amount","example":"1"},"commission_type":{"type":"string","description":"Type of commission","enum":["percent","fixed","none","contact_mls_agent"],"example":"none"},"imported_by":{"type":["string","null"],"description":"Who/what imported the unit","example":"Rentvine Sync"},"floor_number":{"type":"integer","description":"Floor number of the unit. Best to use the floor of the entrance door if the unit spans multiple floors.","example":1},"has_elevator":{"type":["boolean","null"],"description":"Whether the building has an elevator","example":false},"hoa_details":{"type":"object","properties":{"isInHOA":{"type":"boolean","example":true},"hoaAmenities":{"type":"array","items":{"type":"string","example":"Clubhouse"},"example":["Clubhouse","Pool"]}},"description":"Details about the HOA"},"account_id":{"type":"string","format":"uuid","description":"ID of the account that owns the unit. Must be a valid account for which the api key has access.","example":"269bf205-d876-42f5-988d-6f40891df58a"},"owner_emails":{"type":"array","items":{"type":"string","example":"rick@amgrents.com"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(DEPRECATED) - Use property_owner_id instead. Email addresses of the owners."},"children":[]}]}]}],"deprecated":true,"example":["rick@amgrents.com"]},"block_syndication_to_ils":{"type":"boolean","description":"Whether to block syndication of this unit to ILS (Internet Listing Services)","example":false},"accepts_vouchers":{"type":["boolean","null"],"description":"Whether the unit accepts housing vouchers.","example":true},"internal_notes":{"type":["string","null"],"description":"Internal notes about the unit.","example":"Garage work scheduled for Monday."},"amenities":{"type":"array","items":{"type":"string","example":"Dishwasher"},"description":"All amenities of the unit","example":["Dishwasher","Stove","Range Oven","Refrigerator"]},"monthly_fees":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":"string","example":"Resident Benefit Package"},"amount":{"type":"number","example":55.5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Depending on the type field, this can represet either $55.50 of 55.5% of 1 month's rent."},"children":[]}]}]}]},"type":{"enum":["percent","dollar"],"type":"string","description":"Determines if  amount is calculated as an absolute dollar value or as a percent of 1 month's rent.","example":"dollar"}}},"description":"Monthly recurring fees"},"move_in_fees":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":"string","example":"Admin Fee"},"amount":{"type":"number","example":55.5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Depending on the type field, this can represet either $55.50 of 55.5% of 1 month's rent."},"children":[]}]}]}]},"type":{"enum":["percent","dollar"],"type":"string","description":"Determines if  amount is calculated as an absolute dollar value or as a percent of 1 month's rent.","example":"dollar"}}},"description":"Fees required at move-in"},"multifamily_property_id":{"type":["string","null"],"format":"uuid","description":"ID of the multifamily property","example":"421e4567-e89b-12d3-a456-426614174000"},"showing_method":{"type":["string","null"],"description":"Method for showing the unit","example":"Remote Guided","enum":["Accompanied","Remote Guided","Remote Guided with Gated Access","Self Guided"]},"floorplans_id":{"type":["string","null"],"format":"uuid","description":"ID of the floorplan","example":"451e4567-e89b-12d3-a456-426614174000"},"video_url":{"type":["string","null"],"format":"url","description":"URL of video tour (such as YouTube, Vimeo, Zillow Tour, Matterport, Ricoh360, or zInspector tour)","example":"https://www.youtube.com/watch?v=1234567890"},"subteam_id":{"type":["string","null"],"format":"uuid","description":"ID of the subteam managing the unit","example":"123e4567-e89b-12d3-a456-426614174000"},"prescreen_template_id":{"type":["string","null"],"format":"uuid","description":"ID of the prescreening template to use for this unit, if it is null the default template will be used.","example":"123e4567-e89b-12d3-a456-426614174000"},"structured_access_instructions":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Structured access instructions that vary based on showing_method:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For \"Self Guided\" showing method: Use the self-guided showing instructions object"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For \"Remote Guided\" or \"Remote Guided with Gated Access\" showing methods: Use the self-guided showing instructions object"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For \"Accompanied\" showing method: Use either the legacy accompanied or accompanied showing instructions object"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When updating structured_access_instructions, the showing_method field must also be set."},"children":[]}]}]}],"oneOf":[{"type":"object","description":"Self-guided showing instructions (for \"Self Guided\", \"Remote Guided\", or \"Remote Guided with Gated Access\" showing methods)","title":"Self Guided/Remote Showing Instructions","properties":{"lockbox_location":{"type":"string","example":"Front Door","description":"Location of the lockbox"},"lockbox_door_code":{"type":"string","example":"1234","description":"Code for the lockbox"},"require_pm_approval_for_showing":{"type":"boolean","example":false,"description":"Whether PM approval is required for showings"},"private_gate_code":{"type":"string","example":"5678","description":"Code for private gate access"},"community_gate_code":{"type":"string","example":"9012","description":"Code for community gate access"},"anything_else":{"type":"string","example":"Please close the gate behind you","description":"Additional instructions"}}},{"type":"object","description":"Accompanied showing instructions (for \"Accompanied\" showing method)","title":"Accompanied Showing Instructions","properties":{"require_pm_approval_for_showing":{"type":"boolean","example":false,"description":"Whether PM approval is required for showings"},"assigned_user_ids":{"type":"array","items":{"type":"string","example":"cd702dbe-bf32-41cc-83a2-efe00f495f04"},"example":["cd702dbe-bf32-41cc-83a2-efe00f495f04","98702dbe-bf32-41cc-83a2-efe00f495f04"],"description":"IDs of users assigned to conduct the showing"},"pmPhones":{"type":"array","items":{"type":"string","example":"+15551234567"},"example":["+15551234567","+1 555-987-6543"],"description":"Property manager contact phone numbers"},"meeting_location":{"type":"string","example":"Leasing office","description":"Where to meet for the showing"},"internal_notes":{"type":"string","example":"Current tenant works from home","description":"Notes for internal use"},"current_tenant_phone":{"type":"string","example":"555-111-2222","deprecated":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(DEPRECATED) - Use current_tenant_phones instead. Current tenant's contact phone"},"children":[]}]}]}]},"current_tenant_phones":{"type":"array","items":{"type":"string","example":"555-111-2222","description":"Current tenant's contact phone"}},"current_tenant_name":{"type":"string","example":"Jane Doe","description":"Current tenant's name"},"min_notice_period_hours":{"type":"number","example":24,"description":"Minimum notice required before showing (in hours)"},"assign_to_best_agent":{"type":"boolean","example":false,"description":"Whether to automatically assign to the best available agent"},"piggyback_maximum":{"type":"number","minimum":0,"maximum":10,"description":"Maximum number of additional prospects that can piggyback onto a showing. Set to 0 to disable piggybacking. Null means use account default.","example":3},"multifamily_piggyback_maximum":{"type":["integer","null"],"minimum":0,"maximum":10,"description":"Maximum number of adjacent showings allowed at different units in the same multifamily property. 0 disables multifamily piggybacking. Null means use account default.","example":1},"override_showing_duration_minutes":{"type":"number","minimum":0,"maximum":100,"description":"Override the default showing duration in minutes","example":30}},"required":["assigned_user_ids"]}]},"enable_send_report":{"type":"boolean","description":"Whether to enable sending reports","example":true},"earliest_showing_date":{"type":"string","format":"date","description":"Earliest date the unit can be shown","example":"2024-10-12"},"security_deposit_amount":{"type":["number","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Amount of security deposit in dollars. 1000 means $1000.21"},"children":[]}]}]}],"example":1000.21},"require_last_month_rent":{"type":["boolean","null"],"description":"Whether last month's rent is required upfront","example":true},"requires_voucher":{"type":["boolean","null"],"description":"Whether a voucher is required","example":false},"custom_application_url":{"type":"string","description":"URL for custom application","example":"https://app.findigs.com/apply/unitid=70f51c4c-d708-402e-9a5f-bb6fd60b6cf2"},"include_feedback_leasing_report":{"type":"boolean","description":"Whether to include feedback in leasing reports","example":true},"year_built":{"type":["number","null"],"description":"Year the property was built","example":2020,"minimum":1800},"application_fee":{"type":["number","null"],"description":"Application fee amount in dollars","example":50,"minimum":0}},"required":["id","created_at","updated_at","address","enable_send_report","showing_method"]}},"components/schemas/UpsertUnitRequest":{"id":"components/schemas/UpsertUnitRequest","kind":"json-schema","title":"UpsertUnitRequest","data":{"type":"object","properties":{"id":{"type":"number","description":"Unit ID. If provided, the unit will be updated; if not, a new unit will be created.","example":3318},"address":{"type":"object","description":"Unit address. All fields must be provided together when updating.","properties":{"street_number":{"type":"string","description":"Street number","example":"123"},"street_name":{"type":"string","description":"Street name","example":"Main St"},"unit":{"type":"string","description":"Unit/apartment number","example":"4B"},"zip_code":{"type":"string","description":"ZIP code","example":"12345"},"state":{"type":"string","description":"State (two-letter code)","example":"CA"},"country":{"type":"string","enum":["United States"],"default":"United States","description":"Country","example":"United States"},"city":{"type":"string","description":"City","example":"San Francisco"}},"required":["street_number","street_name","zip_code","state","city"]},"property_type":{"type":"string","enum":["SINGLE FAMILY RESIDENCE","DUPLEX","TRIPLEX","MULTI-FAMILY","CONDO","TOWNHOUSE","ROOM","ADU","GARAGE"],"description":"Type of property","example":"TOWNHOUSE"},"bedrooms":{"type":"number","description":"Number of bedrooms","example":3},"bathrooms":{"type":"number","description":"Number of bathrooms","example":2},"sqft":{"type":"number","description":"Square footage of the unit","example":1378},"furnished":{"type":"boolean","description":"Whether the unit is furnished","example":false},"renovated":{"type":"string","description":"Whether the unit has been renovated","example":"No"},"num_parking_spots":{"type":"number","description":"Number of parking spots","example":2},"laundry":{"type":"string","enum":["In Unit","Shared","Coin-op","Hookups but no machines","Machines In Unit - Tenant Responsible","None"],"description":"Laundry options","example":"In Unit"},"target_rental_rate":{"type":"number","description":"Target rental rate in dollars per month","example":1925},"is_occupied":{"type":"boolean","description":"Whether the unit is currently occupied","example":false},"earliest_move_in_date":{"type":"string","format":"date","description":"Earliest date the unit is available for move-in","example":"2024-10-12"},"allow_cooperating_brokers":{"type":"boolean","description":"Whether cooperating brokers are allowed","example":true},"desired_lease_duration_months":{"type":"array","items":{"type":"number","example":12},"description":"Desired lease duration in months","example":[12]},"pets_allowed":{"type":"string","enum":["Yes","Yes with pet fee","No","Dogs only","Dogs only with pet fee","Cats only","Cats only with pet fee"],"description":"Pet policy","example":"Yes with pet fee"},"pet_restrictions":{"type":"string","description":"Restrictions on pets (breed/weight/size limits, not fees)","example":"Max 2 pets. Dogs must be under 50 lbs. No aggressive breeds."},"pet_fees":{"type":["array","null"],"items":{"type":"object","properties":{"fee_name":{"type":"string","description":"Name of the pet fee","example":"Pet Deposit"},"amount":{"type":"number","minimum":0,"description":"Fee amount (dollar value or percentage of rent)","example":500},"type":{"enum":["dollar","percent"],"type":"string","description":"Whether amount is a flat dollar value or percentage of rent","example":"dollar"},"per_pet":{"type":"boolean","description":"Whether the fee is charged per pet","example":false},"required":{"type":"boolean","description":"Whether the fee is mandatory","example":true},"applies_to_esas":{"type":"boolean","description":"Whether this fee applies to emotional support animals","example":false},"fee_timing":{"enum":["move_in","monthly","move_out","annually"],"type":"string","description":"When the fee is charged","example":"move_in"},"fee_refundable":{"enum":["refundable","nonRefundable","partiallyRefundable"],"type":"string","description":"Refundability of the fee","example":"refundable"},"depends_on_pet_screening_results":{"type":"boolean","description":"Whether the fee amount may vary based on pet screening","example":false}},"required":["fee_name","amount","type","per_pet","required","applies_to_esas","fee_timing","fee_refundable","depends_on_pet_screening_results"]},"description":"Structured pet fees for the unit"},"hoa_details":{"type":"object","properties":{"isInHOA":{"type":"boolean","description":"Whether the unit is in an HOA","example":true},"hoaAppRequired":{"type":"boolean","description":"Whether HOA application is required","example":true},"hoaAppFee":{"type":"number","minimum":0,"description":"HOA application fee in dollars","example":100},"hoaApplicationUrl":{"type":"string","format":"uri","description":"URL for HOA application","example":"https://example.com/application"},"hoaApprovalTimeframe":{"type":"string","description":"Timeframe for HOA approval","example":"2 weeks"},"hoaAmenities":{"type":"array","items":{"type":"string","example":"Pool"},"description":"HOA amenities","example":["Pool","Gym","Clubhouse"]}}},"key_access":{"type":"string","description":"Key access information","example":"Digital door lock with code","enum":["Digital Lockbox Connected to RentEngine","Single code lockbox with key","Digital door lock with code","I will add this later","Accompanied Showing"]},"structured_access_instructions":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Structured access instructions that vary based on showing_method."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When providing structured_access_instructions, showing_method must also be set."},"children":[]}]}]}],"oneOf":[{"type":"object","description":"Self-guided showing instructions","title":"Self-guided/Remote showing instructions","properties":{"lockbox_location":{"type":"string","description":"Location of the lockbox","example":"Front Door"},"lockbox_code":{"type":"string","description":"Code for the lockbox","example":"1234"},"require_pm_approval_for_showing":{"type":"boolean","description":"Whether PM approval is required for showings","example":false},"private_gate":{"type":"string","description":"Private gate information","example":"Gate code: 5678"},"community_gate":{"type":"string","description":"Community gate information","example":"Gate code: 9012"},"anything_else":{"type":"string","description":"Additional instructions","example":"Please close the gate behind you"}}},{"type":"object","description":"Accompanied showing instructions","title":"Accompanied Showing Instructions","properties":{"require_pm_approval_for_showing":{"type":"boolean","description":"Whether PM approval is required for showings","example":false},"assigned_user_ids":{"type":"array","items":{"type":"string","example":"user-123"},"description":"IDs of users assigned to conduct the showing","example":["user-123","user-456"]},"pmPhones":{"type":"array","items":{"type":"string","examples":["555-123-4567","555-987-6543"],"description":"Property manager contact phone numbers"}},"meeting_location":{"type":"string","description":"Where to meet for the showing","example":"Leasing office"},"internal_notes":{"type":"string","description":"Notes for internal use","example":"Current tenant works from home"},"current_tenant_phone":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(DEPRECATED) - Use current_tenant_phones instead. Current tenant's contact phone"},"children":[]}]}]}],"example":"555-111-2222","deprecated":true},"current_tenant_phones":{"type":"array","items":{"type":"string","example":"555-111-2222","description":"Current tenant's contact phone"}},"current_tenant_name":{"type":"string","description":"Current tenant's name","example":"Jane Doe"},"min_notice_period_hours":{"type":"number","description":"Minimum notice required before showing (in hours)","example":24},"assign_to_best_agent":{"type":"boolean","description":"Whether to automatically assign to the best available agent","example":false},"piggyback_maximum":{"type":"number","minimum":0,"maximum":10,"description":"Maximum number of additional prospects that can piggyback onto a showing. Set to 0 to disable piggybacking. Null means use account default.","example":3},"multifamily_piggyback_maximum":{"type":["integer","null"],"minimum":0,"maximum":10,"description":"Maximum number of adjacent showings allowed at different units in the same multifamily property. 0 disables multifamily piggybacking. Null means use account default.","example":1},"override_showing_duration_minutes":{"type":"number","minimum":0,"maximum":100,"description":"Override the default showing duration in minutes","example":30}}}]},"earliest_showing_date":{"type":"string","format":"date","description":"Earliest date the unit can be shown","example":"2024-10-12"},"additional_info":{"type":"string","description":"Additional information about the unit","example":"Newly renovated kitchen"},"min_resident_qualifications":{"type":"string","description":"Minimum qualifications for residents","example":"Credit score 650+, income 3x rent"},"utilities_included":{"type":"array","items":{"type":"string","example":"Lawn Care","enum":["Water","Sewer/Septic","Trash","Wifi/Internet","Cable/TV","Electricity","Gas","HOA","Lawn Care","Pool Service","Pest Control"]},"description":"Utilities included in rent","example":["Lawn Care","Trash"]},"parking_type":{"type":"array","items":{"type":"string","example":"Assigned Spots","enum":["Street","Carport","Assigned Spots","Driveway","Shared Garage","Private Garage","Paid Parking","Parking Lot"]},"description":"Type of parking available","example":["Assigned Spots"]},"status":{"type":"string","enum":["Incomplete","Available","On Hold","Leased","Archived","Withdrawn","Withdrawal Requested"],"description":"Current status of the unit","example":"Available"},"extracted_from":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Source of the unit data. Can be a any string. Essentially the same as an external_id. Uniqueness is not enforced. Values that RentEngine's own PMS sync owns are reserved, because the sync uses this field to match a unit to its listing - sending a different value for a unit imported from a connected PMS returns 400, as does claiming a key another unit in the account already holds. Your own external IDs are unaffected."},"children":[]}]}]}],"example":"f123abc"},"marketing_description":{"type":"string","description":"Marketing description of the unit","example":"**AVAILABLE NOW** 3 Bedroom 2 Bathroom Townhome For Rent!"},"marketing_photos":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Either the original image URL or the file path in the RentEngine storage","example":"https://example.com/images/unit123.jpg"},"hidden":{"type":"boolean","description":"Whether the photo is hidden","example":false},"original":{"type":"string","description":"The external image URL from where the image was imported","example":"https://example.com/images/unit123_original.jpg"}},"required":["path","hidden"]}},"commission_amount":{"type":"number","description":"Commission amount","example":1},"commission_type":{"type":"string","enum":["percent","fixed","none","contact_mls_agent"],"description":"Type of commission","example":"percent"},"imported_by":{"type":"string","description":"Who/what imported the unit","example":"API Import"},"floor_number":{"type":"number","minimum":0,"maximum":150,"description":"Floor number of the unit","example":1},"has_elevator":{"type":"boolean","description":"Whether the building has an elevator","example":false},"account_id":{"type":"string","description":"ID of the account that owns the unit","example":"269bf205-d876-42f5-988d-6f40891df58a"},"accepts_vouchers":{"type":"boolean","description":"Whether the unit accepts housing vouchers","example":true},"showing_method":{"type":"string","enum":["Accompanied","Remote Guided","Remote Guided with Gated Access","Self Guided"],"description":"Method for showing the unit","example":"Self Guided"},"internal_notes":{"type":"string","description":"Internal notes about the unit","example":"Garage work scheduled for Monday"},"move_in_fees":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["percent","dollar"],"description":"Type of fee calculation","example":"dollar"},"amount":{"type":"number","minimum":0,"description":"Fee amount","example":150},"name":{"type":"string","description":"Name of the fee","example":"Admin Fee"}},"required":["type","amount","name"]}},"monthly_fees":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["percent","dollar"],"description":"Type of fee calculation","example":"dollar"},"amount":{"type":"number","minimum":0,"description":"Fee amount","example":50},"name":{"type":"string","description":"Name of the fee","example":"Pet Fee"}},"required":["type","amount","name"]}},"multifamily_property_id":{"type":["string","null"],"format":"uuid","description":"ID of the multifamily property. Pass string 'null' to clear this field.","example":"421e4567-e89b-12d3-a456-426614174000"},"floorplans_id":{"type":["string","null"],"format":"uuid","description":"ID of the floorplan. Pass string 'null' to clear this field.","example":"451e4567-e89b-12d3-a456-426614174000"},"video_url":{"type":"string","description":"URL of video tour (such as YouTube, Vimeo, Zillow Tour, Matterport, Ricoh360, or zInspector tour)","example":"https://www.youtube.com/watch?v=1234567890"},"subteam_id":{"type":["string","null"],"format":"uuid","description":"ID of the subteam managing the unit. Pass string 'null' to clear this field.","example":"123e4567-e89b-12d3-a456-426614174000"},"prescreen_template_id":{"type":"string","format":"uuid","description":"ID of the prescreening template to use for this unit","example":"123e4567-e89b-12d3-a456-426614174000"},"enable_send_report":{"type":"boolean","description":"Whether to enable sending reports","example":true},"security_deposit_amount":{"type":"number","description":"Amount of security deposit in dollars","example":1000},"require_last_month_rent":{"type":"boolean","description":"Whether last month's rent is required upfront","example":true},"requires_voucher":{"type":"boolean","description":"Whether a voucher is required","example":false},"include_feedback_leasing_report":{"type":"boolean","description":"Whether to include feedback in leasing reports","example":true},"year_built":{"type":"number","description":"Year the property was built","example":2020,"minimum":1800},"after_upsert_action":{"type":"object","description":"Actions to perform after updating the unit","properties":{"action":{"type":"string","enum":["cancel_scheduled_bookings","notify_all_prospects"],"description":"The action to perform after updating the unit","example":"cancel_scheduled_bookings"},"should_cancel_scheduled_bookings":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether to cancel any scheduled/confirmed bookings when updating the unit (only applies to cancel_scheduled_bookings action)"},"children":[]}]}]}],"example":true},"custom_sms_message":{"type":"string","description":"Custom SMS message to send to prospects (applies to all actions)","example":"Hi, the unit is available for showing. Please contact us at (555) 123-4567 with any questions."}},"required":["action"]},"application_fee":{"type":"number","description":"Application fee amount in dollars","example":50,"minimum":0}},"oneOf":[{"required":["id"],"title":"Update Unit"},{"required":["address","property_type","target_rental_rate","account_id"],"title":"Create New Unit"}]}},"components/schemas/WebhookPayload":{"id":"components/schemas/WebhookPayload","kind":"json-schema","title":"WebhookPayload","data":{"type":"object","description":"Generic structure of webhook payloads","oneOf":[{"$ref":"#/components/schemas/InsertPayload"},{"$ref":"#/components/schemas/UpdatePayload"},{"$ref":"#/components/schemas/DeletePayload"}]}},"components/schemas/InsertPayload":{"id":"components/schemas/InsertPayload","kind":"json-schema","title":"InsertPayload","data":{"type":"object","properties":{"type":{"type":"string","enum":["INSERT"],"description":"Type of event","example":"INSERT"},"table":{"type":"string","description":"Name of the table where the event occurred","example":"lockbox_events"},"record":{"type":"object","description":"The newly created record","example":{"id":"123e4567-e89b-12d3-a456-426614174000","lockbox_id":"123e4567-e89b-12d3-a456-426614174001","event_type":"Install","unit_id":"12345","created_at":"2023-01-15T12:30:00Z","data":null}},"old_record":{"type":"null","description":"Always null for INSERT events","example":null}},"required":["type","table","record","old_record"]}},"components/schemas/UpdatePayload":{"id":"components/schemas/UpdatePayload","kind":"json-schema","title":"UpdatePayload","data":{"type":"object","properties":{"type":{"type":"string","enum":["UPDATE"],"description":"Type of event","example":"UPDATE"},"table":{"type":"string","description":"Name of the table where the event occurred","example":"units"},"record":{"type":"object","description":"The updated record with new values","example":{"id":3318,"address":957,"property_type":"TOWNHOUSE","target_rental_rate":"2000","updated_at":"2024-10-05T18:53:03.406168Z"}},"old_record":{"type":"object","description":"The record before the update","example":{"id":3318,"address":957,"property_type":"TOWNHOUSE","target_rental_rate":"1925","updated_at":"2024-09-05T18:53:03.406168Z"}}},"required":["type","table","record","old_record"]}},"components/schemas/DeletePayload":{"id":"components/schemas/DeletePayload","kind":"json-schema","title":"DeletePayload","data":{"type":"object","properties":{"type":{"type":"string","enum":["DELETE"],"description":"Type of event","example":"DELETE"},"table":{"type":"string","description":"Name of the table where the event occurred","example":"lockboxes"},"record":{"type":"null","description":"Always null for DELETE events","example":null},"old_record":{"type":"object","description":"The record that was deleted","example":{"id":"123e4567-e89b-12d3-a456-426614174000","lockbox_type":"Sentrilock","serial_number":"1234567","account_id":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"}}},"required":["type","table","record","old_record"]}},"components/schemas/MultifamilyProperty":{"id":"components/schemas/MultifamilyProperty","kind":"json-schema","title":"MultifamilyProperty","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the multifamily property","example":"123e4567-e89b-12d3-a456-426614174000"},"community_name":{"type":"string","description":"Name of the multifamily community","example":"Sunset Towers"},"building_count":{"type":"integer","description":"Number of buildings in the property","example":3,"minimum":1,"maximum":100},"unit_count":{"type":"integer","description":"Total number of units in the property","example":75,"minimum":1,"maximum":10000},"description":{"type":"string","description":"Description of the property","example":"Luxury apartment community with amenities"},"structure_type":{"type":"string","enum":["Mid Rise","High Rise","Garden Style"],"description":"Type of building structure","example":"Mid Rise"},"year_built":{"type":"integer","description":"Year the property was built","example":2008,"minimum":1800,"maximum":2025},"photos":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"URL or path to the property photo","example":"https://example.com/images/sunset-towers.jpg"},"hidden":{"type":"boolean","description":"Whether the photo is hidden","example":false}},"required":["path","hidden"]},"description":"Photos of the property"},"external_ids":{"type":"object","description":"External identifiers for the property","example":{"mls_id":"MLS12345","yardi_id":"Y7890"}},"text_address":{"type":"string","description":"Full text address of the property","example":"123 Main St, San Francisco, CA 94111"},"account_id":{"type":"string","format":"uuid","description":"ID of the account that owns the property","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the property was created","example":"2023-01-15T12:00:00Z"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the property was last updated","example":"2023-01-16T14:30:00Z"}},"required":["id","community_name","text_address","account_id","created_at","updated_at"]}},"components/schemas/UpsertMultifamilyPropertyRequest":{"id":"components/schemas/UpsertMultifamilyPropertyRequest","kind":"json-schema","title":"UpsertMultifamilyPropertyRequest","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the multifamily property. If provided, the property will be updated; if not, a new property will be created.","example":"123e4567-e89b-12d3-a456-426614174000"},"community_name":{"type":"string","description":"Name of the multifamily community","example":"Sunset Towers"},"building_count":{"type":"integer","description":"Number of buildings in the property","example":3,"minimum":1,"maximum":100},"unit_count":{"type":"integer","description":"Total number of units in the property","example":75,"minimum":1,"maximum":10000},"description":{"type":"string","description":"Description of the property","example":"Luxury apartment community with amenities"},"structure_type":{"type":"string","enum":["Mid Rise","High Rise","Garden Style"],"description":"Type of building structure","example":"Mid Rise"},"year_built":{"type":"integer","description":"Year the property was built","example":2008,"minimum":1800},"photos":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"URL or path to the property photo","example":"https://example.com/images/sunset-towers.jpg"},"hidden":{"type":"boolean","description":"Whether the photo is hidden","example":false}},"required":["path","hidden"]},"description":"Photos of the property"},"external_ids":{"type":"object","description":"External identifiers for the property","example":{"mls_id":"MLS12345","yardi_id":"Y7890"}},"text_address":{"type":"string","description":"Full text address of the property","example":"123 Main St, San Francisco, CA 94111"},"account_id":{"type":"string","format":"uuid","description":"ID of the account that owns the property. Must be a valid account ID that the API key has access to.","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"deleted":{"type":"boolean","description":"Whether the property is deleted","example":false,"default":false}},"required":["community_name","text_address","account_id","structure_type","year_built","building_count","unit_count","photos"],"additionalProperties":false}},"components/schemas/Floorplan":{"id":"components/schemas/Floorplan","kind":"json-schema","title":"Floorplan","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the floorplan","example":"123e4567-e89b-12d3-a456-426614174000"},"multifamily_property_id":{"type":"string","format":"uuid","description":"ID of the multifamily property this floorplan belongs to","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"Name of the floorplan","example":"The Willow"},"bedroom_count":{"type":"integer","description":"Number of bedrooms","example":2,"minimum":0,"maximum":100},"bathroom_count":{"type":"number","description":"Number of bathrooms","example":2.5,"minimum":0,"maximum":100},"unit_count":{"type":"integer","description":"Total number of units with this floorplan","example":15,"minimum":0,"maximum":10000},"units_available":{"type":"integer","description":"Number of units currently available with this floorplan","example":3,"minimum":0,"maximum":10000},"market_rent":{"type":"number","description":"Market rent for this floorplan","example":1850,"minimum":0},"min_sqft":{"type":"integer","description":"Minimum square footage for this floorplan","example":950,"minimum":0,"maximum":1000000},"max_sqft":{"type":"integer","description":"Maximum square footage for this floorplan","example":1100,"minimum":0,"maximum":1000000},"photos":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"URL or path to the floorplan photo","example":"https://example.com/images/willow-floorplan.jpg"},"hidden":{"type":"boolean","description":"Whether the photo is hidden","example":false}},"required":["path"]},"description":"Photos of the floorplan"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the floorplan was created","example":"2023-01-15T12:00:00Z"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the floorplan was last updated","example":"2023-01-16T14:30:00Z"},"deleted":{"type":"boolean","description":"Whether the floorplan is deleted","example":false,"default":false},"description":{"type":"string","description":"Description of the floorplan","example":"Spacious 2-bedroom layout with modern finishes"}},"required":["id","multifamily_property_id","created_at","updated_at","deleted"]}},"components/schemas/UpsertFloorplanRequest":{"id":"components/schemas/UpsertFloorplanRequest","kind":"json-schema","title":"UpsertFloorplanRequest","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the floorplan. If provided, the floorplan will be updated; if not, a new floorplan will be created.","example":"123e4567-e89b-12d3-a456-426614174000"},"multifamily_property_id":{"type":"string","format":"uuid","description":"ID of the multifamily property this floorplan belongs to","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"Name of the floorplan","example":"The Willow"},"bedroom_count":{"type":"integer","description":"Number of bedrooms","example":2,"minimum":0},"bathroom_count":{"type":"number","description":"Number of bathrooms","example":2.5,"minimum":0},"unit_count":{"type":"integer","description":"Total number of units with this floorplan","example":15,"minimum":0},"units_available":{"type":"integer","description":"Number of units currently available with this floorplan","example":3,"minimum":0},"market_rent":{"type":"number","description":"Market rent for this floorplan","example":1850,"minimum":0},"min_sqft":{"type":"integer","description":"Minimum square footage for this floorplan","example":950,"minimum":0},"max_sqft":{"type":"integer","description":"Maximum square footage for this floorplan","example":1100,"minimum":0},"photos":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"URL or path to the floorplan photo","example":"https://example.com/images/willow-floorplan.jpg"},"hidden":{"type":"boolean","description":"Whether the photo is hidden","example":false}},"required":["path","hidden"]},"description":"Photos of the floorplan"},"deleted":{"type":"boolean","description":"Whether the floorplan is deleted","example":false,"default":false},"description":{"type":"string","description":"Description of the floorplan","example":"Spacious 2-bedroom layout with modern finishes"}},"required":["multifamily_property_id"],"additionalProperties":false}},"components/schemas/Prospect":{"id":"components/schemas/Prospect","kind":"json-schema","title":"Prospect","data":{"type":"object","properties":{"id":{"type":"number","description":"Unique identifier for the prospect","example":123},"name":{"type":["string","null"],"description":"Prospect's name","example":"John Doe"},"email":{"type":["string","null"],"description":"Prospect's email address","example":"john@example.com"},"phone":{"type":["string","null"],"description":"Prospect's phone number","example":"+15551234567"},"status":{"type":"string","description":"Current status of the prospect","example":"Showing Scheduled"},"source":{"type":["string","null"],"description":"Where the prospect came from","example":"Zillow"},"unit_of_interest":{"type":["number","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the unit the prospect is interested in. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for building, floorplan, or account-level leads."},"children":[]}]}]}],"example":123},"account_id":{"type":["string","null"],"format":"uuid","description":"Account that owns this prospect.","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"floorplan_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Floorplan this prospect is interested in. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the lead is unit-bound or account-only."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"multifamily_property_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Multifamily building this prospect is interested in. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the lead is unit-bound or account-only."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"notes":{"type":["string","null"],"description":"Notes about the prospect","example":"Interested in 2BR units"},"prescreened":{"type":["boolean","null"],"description":"Whether the prospect has been prescreened","example":true},"voucher_holder":{"type":["boolean","null"],"description":"Whether the prospect holds a housing voucher","example":false},"normalized_phone_number_generated":{"type":["string","null"],"description":"Normalized phone number if normalizable. Else null.","example":"+15551234567"},"license_number":{"type":["string","null"],"description":"License number if applicable","example":"ABC123"},"prospect_type":{"type":"string","description":"Type of prospect","enum":["Self","Agent"],"example":"Self"},"created_at":{"type":"string","format":"date-time","description":"When the prospect was created","example":"2023-01-15T12:00:00Z"},"updated_at":{"type":"string","format":"date-time","description":"When the prospect was last updated","example":"2023-01-16T14:30:00Z"}}}},"components/schemas/PostProspectsRequest":{"id":"components/schemas/PostProspectsRequest","kind":"json-schema","title":"PostProspectsRequest","data":{"type":"object","additionalProperties":false,"required":["source","name"],"oneOf":[{"required":["unit_id"],"title":"By Unit ID"},{"required":["unit_address","account_id"],"title":"By Unit Address"},{"required":["floorplan_id"],"title":"By Floorplan"},{"required":["multifamily_property_id"],"title":"By Building"},{"required":["account_id"],"title":"Account only","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Account-level lead with no unit, floorplan, or building. Do not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"also send unit_id, unit_address, floorplan_id, or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"multifamily_property_id."},"children":[]}]}]}],"not":{"anyOf":[{"required":["unit_id"]},{"required":["unit_address"]},{"required":["floorplan_id"]},{"required":["multifamily_property_id"]}]}}],"dependentRequired":{"unit_address":["account_id"]},"properties":{"source":{"type":"string","minLength":1,"description":"Where the prospect came from. Accepts the standard ProspectSource\nvalues (e.g. \"Zillow\", \"Apartments.com\", \"Realtor.com\", \"MLS Agent\",\n\"Showing Smart\", \"Referral\", \"Company Website\") as well as custom\nUTM-style values for your own integrations.\n","example":"Zillow"},"name":{"type":"string","minLength":1,"description":"Prospect's full name.","example":"Jane Doe"},"email":{"type":["string","null"],"format":"email","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prospect's email address. Optional — when omitted, no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"acknowledgement email is sent and the prospect is stored"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"without an email address."},"children":[]}]}]}],"example":"jane@example.com"},"phone":{"type":"string","minLength":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prospect's phone number. Accepts US-style formats (e.g."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"+12155551234\", \"215-555-1234\"); 400 is returned if the value"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cannot be normalized. Required whenever "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sms.send"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"default) or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ai_enabled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"+12155551234"},"account_id":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RentEngine account ID. Required when using "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to scope the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fuzzy address search, and when creating an account-level lead (no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unit / floorplan / building). Optional when using "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"floorplan_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"multifamily_property_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the account is derived"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from that property)."},"children":[]}]}]}],"example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"unit_id":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RentEngine unit ID. Provide this, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"floorplan_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"multifamily_property_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" alone."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access is scoped to the authenticated user's account; an unknown"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or inaccessible unit results in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":12345},"unit_address":{"type":"string","minLength":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Free-text address that will be fuzzy-matched against units in the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"given "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Provide this, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"floorplan_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"multifamily_property_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" alone."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if no unit matches."},"children":[]}]}]}],"example":"2516 Cecil Ave, Philadelphia PA"},"floorplan_id":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Multifamily floorplan ID. Creates a floorplan-level lead rather than"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"binding to a specific unit. Access is scoped to the authenticated"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"user's account; an unknown or inaccessible floorplan results in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"multifamily_property_id":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Multifamily building/community ID. Creates a building-level lead."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access is scoped to the authenticated user's account; an unknown"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or inaccessible property results in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"notes":{"type":"string","description":"Optional notes saved on the prospect record.","example":"Came in via partner site"},"prospect_type":{"type":"string","enum":["Self","Agent"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional. Whether the prospect is applying for themselves"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Self"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") or is a real-estate agent representing a client ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Agent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When omitted, the system infers a default from the source for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"agent-style sources (e.g. \"MLS Agent\", \"Showing Smart\")."},"children":[]}]}]}],"example":"Self"},"ai_enabled":{"type":"boolean","default":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether RentEngine's AI may respond to messages from this prospect."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to opt this prospect out of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AI replies (applied for their phone number within the account)."},"children":[]}]}]}],"example":true},"sms":{"type":"object","additionalProperties":false,"description":"SMS controls. When omitted, the acknowledgement SMS is sent using the account's templates.","properties":{"send":{"type":"boolean","default":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether to send the acknowledgement SMS to the prospect."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to skip SMS entirely —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"no template is rendered and no message is dispatched."},"children":[]}]}]}],"example":true}}}}}},"components/schemas/CreateProspectResponse":{"id":"components/schemas/CreateProspectResponse","kind":"json-schema","title":"CreateProspectResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Result of a successful "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /prospects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" call."},"children":[]}]}]}],"properties":{"prospect_id":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the prospect that was created — or, on re-engagement, the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"existing prospect that was reused."},"children":[]}]}]}],"example":98765},"unit_id":{"type":["number","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the resolved unit. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for floorplan, building, or account-level leads."},"children":[]}]}]}],"example":12345},"floorplan_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Floorplan the prospect was created against. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when not a floorplan-level lead."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"multifamily_property_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building the prospect was created against. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when not a building- or floorplan-level lead."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"account_id":{"type":["string","null"],"format":"uuid","description":"Account that owns the resolved property (or the account-level lead).","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"re_engaged":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when an existing prospect was reused (status 200);"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when a brand-new prospect row was created (status 201)."},"children":[]}]}]}],"example":false},"sms_sent":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the acknowledgement SMS was dispatched (or scheduled),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when SMS was skipped via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sms.send = false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":true},"ai_enabled":{"type":"boolean","description":"Effective AI setting applied for this prospect.","example":true},"message":{"type":["string","null"],"description":"Human-readable workflow summary, useful for debugging.","example":"Workflow completed successfully - Prospect ID: 98765"}},"required":["prospect_id","unit_id","re_engaged","sms_sent","ai_enabled"]}},"components/schemas/PostGenerateLockboxCodeRequest":{"id":"components/schemas/PostGenerateLockboxCodeRequest","kind":"json-schema","title":"PostGenerateLockboxCodeRequest","data":{"type":"object","properties":{"lockbox_id":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the lockbox. Either this, serial_number, or unit_id must be provided."},"children":[]}]}]}],"example":"123e4567-e89b-12d3-a456-426614174000"},"serial_number":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Serial number of the lockbox. Either this, lockbox_id, or unit_id must be provided."},"children":[]}]}]}],"example":"1234567"},"unit_id":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the unit where the lockbox is installed. Either this, lockbox_id, or serial_number must be provided."},"children":[]}]}]}],"example":12345},"date":{"type":"string","format":"date","description":"Date for which the code should be valid (YYYY-MM-DD format)","example":"2024-03-15"},"created_for":{"type":"string","description":"Optional name or identifierof the person the code is being created for","example":"John Doe"},"code_type":{"type":"string","description":"Type of code to generate. Only relevant for Sentrilock lockboxes. All other boxes can only generate ACCESS codes.","example":"ACCESS","default":"ACCESS","enum":["ACCESS","SHACKLE"]}},"required":["date"],"oneOf":[{"required":["lockbox_id"],"title":"By Lockbox ID","description":"Generate a code for a specific lockbox by providing the lockbox ID."},{"required":["serial_number"],"title":"By Serial Number","description":"Generate a code for a specific lockbox by providing the serial number."},{"required":["unit_id"],"title":"By Unit ID","description":"Generate a code for a specific unit by providing the unit ID that the box is installed on."}],"additionalProperties":false}},"components/schemas/Subteam":{"id":"components/schemas/Subteam","kind":"json-schema","title":"Subteam","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the subteam","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"Name of the subteam","example":"Marketing Team"},"account_id":{"type":"string","format":"uuid","description":"ID of the account to associate with the subteam","example":"cd702dbe-bf32-41cc-83a2-efe00f495f04"}},"required":["id","name"]}},"components/schemas/PrescreeningTemplate":{"id":"components/schemas/PrescreeningTemplate","kind":"json-schema","title":"PrescreeningTemplate","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the prescreening template","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"Name of the prescreening template","example":"Default Template"},"rules":{"type":"object","description":"Rules for prescreening","properties":{"minimumCreditScore":{"type":"number","description":"Minimum credit score required","example":600},"minimumIncomeRentMultiplier":{"type":"number","description":"Minimum income as multiple of rent","example":2.5},"enableVoIPPhoneVerification":{"type":"boolean","description":"Whether to enable VoIP phone verification","example":true},"enableIDVerification":{"type":"boolean","description":"Whether to enable ID verification","example":true},"enableSelfieVerification":{"type":"boolean","description":"Whether to enable selfie verification","example":true},"allowIDWithoutExpiryDate":{"type":"boolean","description":"Whether to allow IDs without expiry date","example":false},"allowIDExpiredInDays":{"type":"number","description":"Number of days an expired ID is still acceptable","example":30},"minimumAge":{"type":"number","description":"Minimum age required","example":18},"enableShowingLocationVerification":{"type":"boolean","description":"Whether to enable showing location verification","example":true}}},"questions":{"type":"array","items":{"type":"object","properties":{"fixedQuestionType":{"type":"string","description":"Fixed question type (if any)","example":"housing_voucher"},"question":{"type":"string","description":"Question text","example":"Do you have a housing voucher (e.g. Section 8)?"},"type":{"type":"string","description":"Question type","example":"yes_no"},"rejectAnswers":{"type":"array","items":{"type":"string","example":"Yes"},"description":"Answers that cause rejection","example":["Yes"]}}},"description":"List of prescreening questions","example":[{"fixedQuestionType":"housing_voucher","question":"Do you have a housing voucher (e.g. Section 8)?","type":"yes_no","rejectAnswers":[]},{"question":"Have you been convicted of a felony?","type":"yes_no","rejectAnswers":["Yes"]}]},"isDefault":{"type":"boolean","description":"Whether this is the default template","example":true},"accountId":{"type":"string","description":"ID of the account that owns the template","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the template was created","example":"2023-01-15T12:00:00Z"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the template was last updated","example":"2023-01-16T14:30:00Z"}},"required":["id","name","rules","questions","isDefault","accountId","createdAt","updatedAt"]}},"components/schemas/PostLeasingEventsRequest":{"id":"components/schemas/PostLeasingEventsRequest","kind":"json-schema","title":"PostLeasingEventsRequest","data":{"type":"object","properties":{"events":{"type":"array","minItems":1,"maxItems":1,"description":"List of leasing events to create. Only 1 event is supported at a time.","items":{"oneOf":[{"$ref":"#/components/schemas/AssignToUserEvent"},{"$ref":"#/components/schemas/ApplicationReceivedEvent"}],"discriminator":{"propertyName":"event_type","mapping":{"Assign to User":"#/components/schemas/AssignToUserEvent","Application Received":"#/components/schemas/ApplicationReceivedEvent"}}}}},"required":["events"]}},"components/schemas/LeasingEventBase":{"id":"components/schemas/LeasingEventBase","kind":"json-schema","title":"LeasingEventBase","data":{"type":"object","description":"Fields common to every leasing event submitted via this endpoint.","properties":{"prospect_id":{"type":"number","description":"ID of the prospect associated with the event","example":12345},"source":{"type":"string","description":"Source of the leasing event","enum":["Phone Call","Text Message","Email","Facebook Message","WhatsApp","Other","Automation"],"example":"Other"},"planned_date_time":{"type":"string","format":"date-time","description":"Planned date/time for the event.","example":"2026-04-30T18:00:00Z"},"next_follow_up":{"type":"string","format":"date-time","description":"When to follow up next on this prospect.","example":"2026-05-01T18:00:00Z"},"notes":{"type":"string","description":"Optional notes for the event","example":"Assigning to primary agent"}},"required":["prospect_id"]}},"components/schemas/AssignToUserEvent":{"id":"components/schemas/AssignToUserEvent","kind":"json-schema","title":"AssignToUserEvent","data":{"allOf":[{"$ref":"#/components/schemas/LeasingEventBase"},{"type":"object","properties":{"event_type":{"type":"string","enum":["Assign to User"],"example":"Assign to User","description":"Discriminator value."},"context":{"$ref":"#/components/schemas/AssignToUserContext"}},"required":["event_type","context"]}]}},"components/schemas/ApplicationReceivedEvent":{"id":"components/schemas/ApplicationReceivedEvent","kind":"json-schema","title":"ApplicationReceivedEvent","data":{"allOf":[{"$ref":"#/components/schemas/LeasingEventBase"},{"type":"object","properties":{"event_type":{"type":"string","enum":["Application Received"],"example":"Application Received","description":"Discriminator value."},"context":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional metadata about the externally-submitted application."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"May be omitted, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or match "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ApplicationReceivedContext"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/ApplicationReceivedContext"},{"type":"null"}]}},"required":["event_type"]}]}},"components/schemas/AssignToUserContext":{"id":"components/schemas/AssignToUserContext","kind":"json-schema","title":"AssignToUserContext","data":{"type":"object","additionalProperties":false,"required":["assignedToUserIds"],"properties":{"assignedToUserIds":{"type":"array","minItems":1,"items":{"type":"string","example":"1259ef6e-61ee-42cb-b6bd-7fe547569d7c","format":"uuid"},"description":"User IDs to assign to the prospect.","example":["1259ef6e-61ee-42cb-b6bd-7fe547569d7c"]},"applyActionInBulk":{"type":"boolean","description":"Apply the assignment to all prospects sharing the same phone number.\nUseful for assigning every unit a prospect is interested in to a single agent in one request.\n","example":false}}}},"components/schemas/ApplicationReceivedContext":{"id":"components/schemas/ApplicationReceivedContext","kind":"json-schema","title":"ApplicationReceivedContext","data":{"type":"object","additionalProperties":false,"description":"Optional metadata about an externally-submitted application.\nAll fields are optional, but unrecognized keys are rejected.\n","properties":{"externalApplicationId":{"type":"string","maxLength":255,"description":"Caller's stable identifier for the application in their source system, useful for cross-referencing.","example":"app_abc_123"},"externalSystem":{"type":"string","maxLength":100,"description":"Human-readable name of the source system (e.g. \"Buildium\", \"AppFolio\", \"Custom CRM\").","example":"Acme PMS"},"applicantName":{"type":"string","maxLength":255,"description":"Full name of the applicant as known to the external system.","example":"Jane Doe"},"applicantEmail":{"type":"string","format":"email","description":"Applicant's email address.","example":"jane@example.com"},"applicantPhone":{"type":"string","maxLength":50,"description":"Applicant's phone in any human-readable format. Not normalized server-side.","example":"+1 415 555 0100"},"applicationUrl":{"type":"string","format":"uri","description":"Deep link back to the application record in the external system.","example":"https://acme-pms.example.com/applications/app_abc_123"},"applicationSubmittedAt":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When the applicant submitted in the source system. Distinct from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"planned_date_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"2026-04-30T15:04:05Z"}}}},"components/schemas/SafeLeasingEventContext":{"id":"components/schemas/SafeLeasingEventContext","kind":"json-schema","title":"SafeLeasingEventContext","data":{"type":"object","additionalProperties":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Non-sensitive subset of a leasing event's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"context"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every field is optional; any key not listed here is stripped server-side."},"children":[]}]}]}],"properties":{"created_from_bulk_update":{"type":"boolean","description":"The event was created as part of a bulk action.","example":false},"new_prospect":{"type":"boolean","description":"A new prospect record was created by this event.","example":true},"via_ai":{"type":"boolean","description":"The event was created by RentEngine's AI agent.","example":true},"next_event":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The chosen next step after a completed showing. One of the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values."},"children":[]}]}]}],"example":"Application Pending"},"pm_escalations":{"type":"string","description":"Free-text escalation note recorded for the property manager during a showing.","example":"Owner wants a higher deposit"},"prospect_liked":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Showing feedback — what the prospect liked."},"children":[]}]}]}],"example":"Loved the natural light"},"prospect_disliked":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Showing feedback — what the prospect did not like."},"children":[]}]}]}],"example":"Closet felt small"},"maintenance_issues":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Showing feedback — maintenance issues noticed during the showing."},"children":[]}]}]}],"example":"Leaky kitchen faucet"},"other_notes":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Showing feedback — other notes from the showing."},"children":[]}]}]}],"example":"Wants to apply this week"},"apply_today_requirements":{"type":"string","description":"Conditions under which the prospect said they would apply today.","example":"If rent drops by $50"},"attached_photos":{"type":"array","description":"URLs of photos attached to showing feedback.","items":{"type":"string","example":"https://cdn.example.com/showing/abc.jpg","format":"uri"},"example":["https://cdn.example.com/showing/abc.jpg"]},"reason":{"type":"string","description":"Reason text. For failed/missed showings this is the showing-failure reason;\nfor prescreen-rejected events it is the rejection reason.\n","example":"Prospect did not show up"},"reschedule_for":{"type":"string","description":"Requested reschedule time for a failed/missed showing.","example":"2026-06-01T17:00:00Z"},"sub_reason":{"type":"string","description":"Additional detail accompanying a prescreen rejection reason.","example":"Carrier flagged the number"},"approval_method":{"type":"string","enum":["pm_bypass"],"description":"How a prescreen approval was granted, when not via the normal flow.","example":"pm_bypass"},"zillow_tour_id":{"type":"string","description":"Zillow's external tour identifier for a Zillow Instant Tour.","example":"ztour_123"},"anti_fraud_disclaimer_acknowledged_at":{"type":"string","format":"date-time","description":"When the anti-fraud disclaimer was acknowledged at showing start.","example":"2026-05-27T10:00:00Z"},"agent_cancellation_reason":{"type":"string","description":"Reason an agent gave for cancelling a showing.","example":"Unit no longer available"},"tenant_cancellation_reason":{"type":"string","description":"Reason a current tenant gave for cancelling a showing.","example":"Changed my mind"},"created_by_user_role":{"type":"string","description":"Role label of whoever / whatever created the event (e.g. \"Property Manager\", \"AI Response\").","example":"Property Manager"},"rejection_method":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How a showing rejection or cancel was performed (parallels "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"approval_method"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"pm_ui"},"unit_address":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Address of the unit on an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Application Received"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" event payload."},"children":[]}]}]}],"example":"1701 Prospect Ave #5i"},"stars":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Numeric showing rating (e.g. 1–5)."},"children":[]}]}]}],"example":5},"agent_rating":{"type":"number","description":"Numeric agent rating.","example":4}}}},"components/schemas/TimeInterval":{"id":"components/schemas/TimeInterval","kind":"json-schema","title":"TimeInterval","data":{"type":"object","properties":{"start":{"type":"string","format":"date-time","description":"Start time of the showing window","example":"2024-03-15T10:00:00Z"},"end":{"type":"string","format":"date-time","description":"End time of the showing window","example":"2024-03-15T10:30:00Z"},"invitedUserIdsArray":{"type":"array","items":{"type":"string","example":"1259ef6e-61ee-42cb-b6bd-7fe547569d7c","format":"uuid"},"description":"Array of user IDs invited for this showing window (for accompanied showings)","example":["1259ef6e-61ee-42cb-b6bd-7fe547569d7c"]},"showingMethodsAvailable":{"type":"array","items":{"type":"string","example":"Accompanied","enum":["Accompanied","Remote Guided","Remote Guided with Gated Access","Self Guided"]},"description":"Available showing methods for this time slot","example":["Accompanied","Self Guided"]}},"required":["start","end"]}},"components/schemas/UnitShowingAvailability":{"id":"components/schemas/UnitShowingAvailability","kind":"json-schema","title":"UnitShowingAvailability","data":{"type":"object","properties":{"unitId":{"type":"number","description":"ID of the unit","example":12345},"preferredShowingWindows":{"type":"array","items":{"$ref":"#/components/schemas/TimeInterval"},"description":"Preferred showing windows (e.g., with stacking opportunities)"},"availableShowingWindows":{"type":"array","items":{"$ref":"#/components/schemas/TimeInterval"},"description":"Available showing windows"},"showingMethod":{"type":"string","enum":["Accompanied","Remote Guided","Remote Guided with Gated Access","Self Guided"],"description":"The showing method configured for this unit","example":"Accompanied"},"timezoneName":{"type":"string","description":"Timezone name for the unit","example":"America/Chicago"},"timezoneAbbreviation":{"type":"string","description":"Timezone abbreviation","example":"CST"},"unitStatus":{"type":["string","null"],"enum":["Available","Leased","On Hold","Archived","Withdrawn","Withdrawal Requested","Incomplete","Under Review","Expired","Price Analysis"],"description":"Current status of the unit","example":"Available"}},"required":["unitId","preferredShowingWindows","availableShowingWindows","showingMethod","timezoneName","timezoneAbbreviation"]}},"components/schemas/PrescreenQuestionAnswer":{"id":"components/schemas/PrescreenQuestionAnswer","kind":"json-schema","title":"PrescreenQuestionAnswer","data":{"type":"object","properties":{"question":{"type":"string","description":"The question text","example":"Do you have a housing voucher (e.g. Section 8)?"},"fixedQuestionType":{"type":"string","description":"Fixed question type identifier","example":"housing_voucher"},"type":{"type":"string","description":"Question type","example":"yes_no"},"answer":{"type":"boolean","description":"The prospect's answer to the question","example":false}},"required":["question","type","answer"]}},"components/schemas/ProspectData":{"id":"components/schemas/ProspectData","kind":"json-schema","title":"ProspectData","data":{"type":"object","properties":{"firstName":{"type":"string","description":"Prospect's first name","example":"John"},"lastName":{"type":"string","description":"Prospect's last name","example":"Doe"},"email":{"type":"string","description":"Prospect's email address","example":"john.doe@example.com"},"phone":{"type":"string","description":"Prospect's phone number (10 digits)","example":"5551234567"},"creditScore":{"type":"string","description":"Prospect's credit score range","example":"700+"},"income":{"type":"string","description":"Prospect's household monthly income range","example":"$5000-$6000/month"},"questionAnswers":{"type":"array","items":{"$ref":"#/components/schemas/PrescreenQuestionAnswer"},"description":"Answers to prescreening questions"},"prospectType":{"type":"string","enum":["Self","Agent"],"description":"Type of prospect","example":"Self"},"voucherHolder":{"type":"boolean","description":"Whether the prospect holds a housing voucher","example":false},"licenseNumber":{"type":"string","description":"License number (for agent prospects)","example":"ABC123"},"notes":{"type":"string","description":"Additional notes about the prospect","example":"Interested in 2BR units"}},"required":["firstName","lastName","email","phone","creditScore","income","questionAnswers","prospectType"]}},"components/schemas/CreateShowingRequest":{"id":"components/schemas/CreateShowingRequest","kind":"json-schema","title":"CreateShowingRequest","data":{"type":"object","properties":{"unitId":{"type":"number","description":"ID of the unit to schedule the showing for","example":12345},"plannedForTime":{"type":"string","format":"date-time","description":"Planned date and time for the showing (ISO 8601 format)","example":"2024-03-15T10:00:00Z"},"prospectData":{"$ref":"#/components/schemas/ProspectData","description":"Prospect information and prescreening data"},"agentTk":{"type":"string","description":"Agent token (required for agent prospects, must be 6 characters)","example":"ABC123"},"desiredShowingMethod":{"type":"string","enum":["Accompanied","Self Guided","Remote Guided","Remote Guided with Gated Access"],"description":"Preferred showing method","example":"Accompanied"},"files":{"type":"array","items":{"type":"string","example":"documents/id-verification.pdf"},"description":"Array of file paths for uploaded documents","example":["documents/id-verification.pdf"]},"livenessResult":{"type":"object","description":"Liveness verification result from ID verification"},"rescheduleEvent":{"type":["string","number"],"description":"ID of the event to reschedule (if rescheduling an existing showing)","example":67890}},"required":["unitId","plannedForTime","prospectData"]}},"components/schemas/CreateShowingResponse":{"id":"components/schemas/CreateShowingResponse","kind":"json-schema","title":"CreateShowingResponse","data":{"type":"object","properties":{"statusText":{"type":"string","description":"Success status message","example":"success"}},"required":["statusText"]}},"components/schemas/RentalApplicationStatus":{"id":"components/schemas/RentalApplicationStatus","kind":"json-schema","title":"RentalApplicationStatus","data":{"type":"string","description":"Status of a rental application group or applicant","enum":["Incomplete","Partially Submitted","Submitted","Awaiting Additional Info","Conditional Approval","Approved","Rejected","Payment Pending","Archived","Refunded","Moved In"],"example":"Submitted"}},"components/schemas/ReportStatus":{"id":"components/schemas/ReportStatus","kind":"json-schema","title":"ReportStatus","data":{"type":"string","description":"Status of an individual screening report (credit, criminal, eviction)","enum":["ReportNotRequested","ReportRequested","ReportCompleted","ReportFailed","ReportPendingRetry","ReportExpired"],"example":"ReportCompleted"}},"components/schemas/RentalApplicationScreeningStatus":{"id":"components/schemas/RentalApplicationScreeningStatus","kind":"json-schema","title":"RentalApplicationScreeningStatus","data":{"type":"object","description":"Screening report state for an applicant (from TransUnion)","properties":{"credit_status":{"oneOf":[{"$ref":"#/components/schemas/ReportStatus"},{"type":"null"}]},"criminal_status":{"oneOf":[{"$ref":"#/components/schemas/ReportStatus"},{"type":"null"}]},"eviction_status":{"oneOf":[{"$ref":"#/components/schemas/ReportStatus"},{"type":"null"}]},"credit_updated_at":{"type":["string","null"],"format":"date-time","description":"When the credit report was last updated","example":"2024-06-15T14:30:00Z"},"criminal_updated_at":{"type":["string","null"],"format":"date-time","description":"When the criminal report was last updated","example":"2024-06-15T14:35:00Z"},"eviction_updated_at":{"type":["string","null"],"format":"date-time","description":"When the eviction report was last updated","example":"2024-06-15T14:40:00Z"}}}},"components/schemas/RentalApplicantSummary":{"id":"components/schemas/RentalApplicantSummary","kind":"json-schema","title":"RentalApplicantSummary","data":{"type":"object","description":"Non-PII summary of an applicant, returned when listing or fetching a group","properties":{"id":{"type":"string","format":"uuid","description":"Rental application ID","example":"a1111111-1111-1111-1111-111111111111"},"user_id":{"type":["string","null"],"format":"uuid","description":"RentEngine user ID for the applicant","example":"b2222222-2222-2222-2222-222222222222"},"status":{"$ref":"#/components/schemas/RentalApplicationStatus"},"progress":{"type":["string","null"],"description":"Application completion progress marker","example":"income_details"},"created_at":{"type":["string","null"],"format":"date-time","example":"2024-06-01T10:00:00Z"},"updated_at":{"type":["string","null"],"format":"date-time","example":"2024-06-10T15:30:00Z"},"screening":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationScreeningStatus"},{"type":"null"}]}},"required":["id","status"]}},"components/schemas/RentalApplicationGroup":{"id":"components/schemas/RentalApplicationGroup","kind":"json-schema","title":"RentalApplicationGroup","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A rental application group — one party applying to one unit, bundling 1+ applicants"},"children":[]}]}]}],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000"},"unit_id":{"type":["integer","null"],"description":"ID of the unit the group is applying to","example":12345},"account_id":{"type":["string","null"],"format":"uuid","description":"RentEngine account that owns the unit","example":"c3333333-3333-3333-3333-333333333333"},"subteam_id":{"type":["string","null"],"format":"uuid","example":"d4444444-4444-4444-4444-444444444444"},"status":{"$ref":"#/components/schemas/RentalApplicationStatus"},"submitted_at":{"type":["string","null"],"format":"date-time","example":"2024-06-05T09:00:00Z"},"move_in_date":{"type":["string","null"],"format":"date-time","example":"2024-08-01T00:00:00Z"},"primary_application_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the primary applicant's rental_applications row"},"children":[]}]}]}],"example":"a1111111-1111-1111-1111-111111111111"},"created_at":{"type":["string","null"],"format":"date-time","example":"2024-06-01T10:00:00Z"},"updated_at":{"type":["string","null"],"format":"date-time","example":"2024-06-10T15:30:00Z"},"applicants":{"type":"array","items":{"$ref":"#/components/schemas/RentalApplicantSummary"}}},"required":["id","status","applicants"]}},"components/schemas/RentalApplicationDecisionEvent":{"id":"components/schemas/RentalApplicationDecisionEvent","kind":"json-schema","title":"RentalApplicationDecisionEvent","data":{"type":"object","description":"A decision recorded against the application group (approved, rejected, conditional, info request, etc.)","properties":{"decision":{"type":["string","null"],"description":"The decision recorded on the group","example":"Conditional Approval"},"decided_at":{"type":["string","null"],"format":"date-time","example":"2024-06-20T16:00:00Z"},"context":{"type":["object","null"],"properties":{"info_required":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Populated when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"decision"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Awaiting Additional Info"},"children":[]}]}]}],"example":"Please provide proof of income"},"approval_condition":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Populated when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"decision"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Conditional Approval"},"children":[]}]}]}],"example":"Requires additional security deposit"}}}}}},"components/schemas/RentalApplicationGroupDetail":{"id":"components/schemas/RentalApplicationGroupDetail","kind":"json-schema","title":"RentalApplicationGroupDetail","data":{"allOf":[{"$ref":"#/components/schemas/RentalApplicationGroup"},{"type":"object","properties":{"decision_history":{"type":"array","description":"Chronological decision history for the group, most recent first","items":{"$ref":"#/components/schemas/RentalApplicationDecisionEvent"}}},"required":["decision_history"]}]}},"components/schemas/PaginatedRentalApplicationGroups":{"id":"components/schemas/PaginatedRentalApplicationGroups","kind":"json-schema","title":"PaginatedRentalApplicationGroups","data":{"type":"object","description":"Paginated envelope for rental application groups","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RentalApplicationGroup"}},"page":{"type":"object","properties":{"limit":{"type":"integer","example":50},"page_number":{"type":"integer","example":0},"has_more":{"type":"boolean","example":true},"next_page_number":{"type":["integer","null"],"example":1}},"required":["limit","page_number","has_more"]}},"required":["data","page"]}},"components/schemas/PersonalDetails":{"id":"components/schemas/PersonalDetails","kind":"json-schema","title":"PersonalDetails","data":{"type":"object","description":"Personal details PII for an applicant","properties":{"firstName":{"type":"string","example":"Jane"},"middleName":{"type":"string","example":"Marie"},"lastName":{"type":"string","example":"Doe"},"dob":{"type":"string","description":"Date of birth (YYYY-MM-DD). After 180 days of inactivity only the birth year is returned (e.g. \"1990\").","example":"1990-05-15"},"ssn":{"type":"string","description":"Social security number. Omitted after 180 days of inactivity.","example":"123-45-6789"},"email":{"type":"string","format":"email","example":"jane.doe@example.com"},"housingVoucher":{"type":"boolean","example":false},"applicantDoesNotHaveSsn":{"type":"boolean","example":false},"fullName":{"type":"string","deprecated":true,"example":"Jane Marie Doe","description":"Deprecated. Kept for backward compatibility."}}}},"components/schemas/IncomeDetails":{"id":"components/schemas/IncomeDetails","kind":"json-schema","title":"IncomeDetails","data":{"type":"object","description":"A single income source for an applicant","properties":{"incomeType":{"type":"string","example":"Employment"},"employerName":{"type":"string","example":"Acme Corp"},"monthlyIncome":{"type":"string","example":"5000"},"positionTitle":{"type":"string","example":"Software Engineer"},"supervisorName":{"type":"string","example":"John Smith"},"supervisorPhone":{"type":"string","example":"+15551234567"},"supervisorEmail":{"type":"string","example":"john.smith@acme.com"},"permitEmployerContact":{"type":"string","example":"yes"},"address":{"type":"string","example":"123 Business Ave, Suite 100"},"paymentMethod":{"type":"string","example":"Direct Deposit"},"startDate":{"type":"string","example":"2022-03-01"},"sourceName":{"type":"string","example":"Freelance Consulting"},"universityName":{"type":"string","example":"State University"},"benefitSource":{"type":"string","example":"Social Security"},"gradDate":{"type":"string","example":"2024-05-15"},"referenceCheckId":{"type":"string","example":"ref-001"}}}},"components/schemas/AddressHistoryEntry":{"id":"components/schemas/AddressHistoryEntry","kind":"json-schema","title":"AddressHistoryEntry","data":{"type":"object","description":"A prior residence for an applicant","properties":{"address":{"type":"string","example":"456 Oak Street, Apt 2B"},"city":{"type":"string","example":"Springfield"},"state":{"type":"string","example":"IL"},"zipCode":{"type":"string","example":"62704"},"ownRent":{"type":"string","example":"Rent"},"moveInDate":{"type":"string","example":"2021-01-15"},"landlordName":{"type":"string","example":"Robert Johnson"},"landlordPhone":{"type":"string","example":"+15559876543"},"landlordEmail":{"type":"string","example":"rjohnson@properties.com"},"monthlyPayment":{"oneOf":[{"type":"string","example":"1500"},{"type":"number","example":1500}]},"reasonForMoving":{"type":"string","example":"Relocating for work"},"permitLandlordContact":{"type":"string","example":"yes"},"referenceCheckId":{"type":"string","example":"ref-002"}}}},"components/schemas/CoApplicant":{"id":"components/schemas/CoApplicant","kind":"json-schema","title":"CoApplicant","data":{"type":"object","properties":{"name":{"type":"string","example":"Alex Doe"},"type":{"type":"string","example":"Co-signer"},"phone":{"type":"string","example":"+15551112222"}}}},"components/schemas/OtherOccupant":{"id":"components/schemas/OtherOccupant","kind":"json-schema","title":"OtherOccupant","data":{"type":"object","properties":{"name":{"type":"string","example":"Sam Doe"},"dateOfBirth":{"type":"string","example":"2015-03-20"}}}},"components/schemas/Pet":{"id":"components/schemas/Pet","kind":"json-schema","title":"Pet","data":{"type":"object","properties":{"breed":{"type":"string","example":"Golden Retriever"},"name":{"type":"string","example":"Buddy"},"type":{"type":"string","example":"Dog"},"weight":{"type":"string","example":"65"},"isESA":{"type":"boolean","example":false},"esaDocumentation":{"type":"array","items":{"type":"string","example":"esa-letter.pdf"}}}}},"components/schemas/Vehicle":{"id":"components/schemas/Vehicle","kind":"json-schema","title":"Vehicle","data":{"type":"object","properties":{"make":{"type":"string","example":"Toyota"},"model":{"type":"string","example":"Camry"},"year":{"type":"string","example":"2022"},"color":{"type":"string","example":"Silver"},"licensePlate":{"type":"string","example":"ABC-1234"}}}},"components/schemas/CustomQuestion":{"id":"components/schemas/CustomQuestion","kind":"json-schema","title":"CustomQuestion","data":{"type":"object","properties":{"question":{"type":"string","example":"Do you have any pets?"},"answer":{"oneOf":[{"type":"string","example":"Yes"},{"type":"array","items":{"type":"string","example":"Yes"}}]},"question_type":{"type":"string","example":"yes_no"},"required":{"type":"boolean","example":true},"response_options":{"type":"array","items":{"type":"string","example":"Yes"}}}}},"components/schemas/RentalApplicationDocument":{"id":"components/schemas/RentalApplicationDocument","kind":"json-schema","title":"RentalApplicationDocument","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An entry in the documents listing on a rental application. Pass "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"document_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}/documents/{documentId}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to download the bytes."},"children":[]}]}]}],"properties":{"document_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Opaque identifier for the document. Treat as an opaque string —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"pass it back verbatim to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}/documents/{documentId}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The value is an AES-256-GCM encrypted token (not a JWT) minted"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fresh on every "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" call, so the same"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"underlying document produces a different "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"document_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" each time."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Do "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" cache clients by this value or treat it as a stable"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"key — it is safe to use once and should be re-fetched if needed"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"again. Tokens remain valid as long as the underlying artifact"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"exists and the server's signing key has not rotated."},"children":[]}]}]}],"example":"a9J7gI7Gc0Yo9CFhDg5-m9SpMKrUiNKDp5DbpgNiYdp9hzwoKDRwDArG57jwqrdJ9DTHll_M3fxAu_qKmcf66Odvt62turHgBRVGqW31ebJWIKsnrM3b-ys2B4ellJII"},"kind":{"type":"string","enum":["app_doc","transunion_credit","transunion_criminal","transunion_eviction","id_front","id_back","id_selfie"],"example":"app_doc","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Source + type of document."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"app_doc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": applicant-uploaded file (pay stub, bank statement, etc.)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"transunion_credit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"transunion_criminal"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"transunion_eviction"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": TransUnion screening report (PDF)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id_front"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id_back"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id_selfie"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Stripe Identity verification artifacts (JPEG)"},"children":[]}]}]}]}]},"doc_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Human-readable document category (e.g. \"Pay Stub\", \"screening_report\", \"id_verification\")"},"children":[]}]}]}],"example":"screening_report"},"filename":{"type":["string","null"],"description":"Suggested filename for download","example":"transunion_credit_report.pdf"},"status":{"type":["string","null"],"description":"Status of the underlying artifact when applicable (e.g. ReportCompleted for screening reports)","example":"ReportCompleted"}},"required":["document_id","kind","doc_type"]}},"components/schemas/RentalApplication":{"id":"components/schemas/RentalApplication","kind":"json-schema","title":"RentalApplication","data":{"type":"object","description":"Full rental application with PII and document listing","properties":{"id":{"type":"string","format":"uuid","example":"a1111111-1111-1111-1111-111111111111"},"rental_application_group_id":{"type":["string","null"],"format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000"},"unit_id":{"type":["integer","null"],"example":12345},"account_id":{"type":["string","null"],"format":"uuid","description":"RentEngine account that owns the unit (denormalized from the unit)","example":"c3333333-3333-3333-3333-333333333333"},"subteam_id":{"type":["string","null"],"format":"uuid","description":"Subteam on the unit (denormalized from the unit)","example":"d4444444-4444-4444-4444-444444444444"},"user_id":{"type":["string","null"],"format":"uuid","example":"b2222222-2222-2222-2222-222222222222"},"status":{"$ref":"#/components/schemas/RentalApplicationStatus"},"rental_application_group_status":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationStatus"},{"type":"null"}],"description":"Denormalized copy of the parent group's status"},"phone":{"type":["string","null"],"example":"+15551234567"},"move_in_date":{"type":["string","null"],"format":"date-time","example":"2024-08-01T00:00:00Z"},"progress":{"type":["string","null"],"example":"income_details"},"created_at":{"type":["string","null"],"format":"date-time","example":"2024-06-01T10:00:00Z"},"updated_at":{"type":["string","null"],"format":"date-time","example":"2024-06-10T15:30:00Z"},"personal_details":{"oneOf":[{"$ref":"#/components/schemas/PersonalDetails"},{"type":"null"}]},"income_details":{"type":"array","items":{"$ref":"#/components/schemas/IncomeDetails"}},"address_history":{"type":"array","items":{"$ref":"#/components/schemas/AddressHistoryEntry"}},"co_applicants":{"type":"array","items":{"$ref":"#/components/schemas/CoApplicant"}},"other_occupants":{"type":"array","items":{"$ref":"#/components/schemas/OtherOccupant"}},"pets":{"type":"array","items":{"$ref":"#/components/schemas/Pet"}},"vehicles":{"type":"array","items":{"$ref":"#/components/schemas/Vehicle"}},"custom_questions":{"type":"array","items":{"$ref":"#/components/schemas/CustomQuestion"}},"screening":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationScreeningStatus"},{"type":"null"}]},"documents":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Documents available for this application — call the download endpoint with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"document_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to fetch the bytes"},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/RentalApplicationDocument"}}},"required":["id","status","documents"]}},"components/schemas/RentalApplicationGroupWebhookRecord":{"id":"components/schemas/RentalApplicationGroupWebhookRecord","kind":"json-schema","title":"RentalApplicationGroupWebhookRecord","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whitelisted columns emitted for rental_application_groups webhook events"},"children":[]}]}]}],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000"},"unit_id":{"type":["integer","null"],"example":12345},"status":{"$ref":"#/components/schemas/RentalApplicationStatus"},"submitted_at":{"type":["string","null"],"format":"date-time","example":"2024-06-05T09:00:00Z"},"move_in_date":{"type":["string","null"],"format":"date-time","example":"2024-08-01T00:00:00Z"},"primary_application_id":{"type":["string","null"],"format":"uuid","example":"a1111111-1111-1111-1111-111111111111"},"created_at":{"type":["string","null"],"format":"date-time","example":"2024-06-01T10:00:00Z"},"updated_at":{"type":["string","null"],"format":"date-time","example":"2024-06-10T15:30:00Z"}}}},"components/schemas/RentalApplicationGroupChanges":{"id":"components/schemas/RentalApplicationGroupChanges","kind":"json-schema","title":"RentalApplicationGroupChanges","data":{"type":"object","description":"Per-field diff included on UPDATE events. Each key is present only when that field changed.","properties":{"status":{"type":"object","properties":{"from":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationStatus"},{"type":"null"}]},"to":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationStatus"},{"type":"null"}]}}},"unit_id":{"type":"object","properties":{"from":{"type":["integer","null"],"example":12345},"to":{"type":["integer","null"],"example":67890}}},"move_in_date":{"type":"object","properties":{"from":{"type":["string","null"],"format":"date-time","example":"2024-08-01T00:00:00Z"},"to":{"type":["string","null"],"format":"date-time","example":"2024-09-01T00:00:00Z"}}},"submitted_at":{"type":"object","properties":{"from":{"type":["string","null"],"format":"date-time","example":null},"to":{"type":["string","null"],"format":"date-time","example":"2024-06-05T09:00:00Z"}}}}}},"components/schemas/RentalApplicationGroupWebhookPayload":{"id":"components/schemas/RentalApplicationGroupWebhookPayload","kind":"json-schema","title":"RentalApplicationGroupWebhookPayload","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook payload for rental_application_groups events."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field carries the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"semantic"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" event name derived from the underlying change."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When multiple fields change in a single UPDATE, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" takes the highest-priority value"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.state_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" > "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.unit_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" > "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.updated"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"changes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" contains"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the full diff so subscribers can detect compound transitions."},"children":[]}]}]}],"properties":{"event":{"type":"string","enum":["group.created","group.state_changed","group.unit_changed","group.updated"],"example":"group.state_changed","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Semantic event:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": A new rental application group was created (INSERT)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.state_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Status field transitioned (covers submitted, approved, rejected, etc.)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.unit_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": The unit assigned to the group changed"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"group.updated"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Any other UPDATE without a semantic meaning"},"children":[]}]}]}]}]},"event_id":{"type":"string","format":"uuid","description":"Unique identifier for this delivery, suitable for subscriber-side idempotency","example":"e5555555-5555-5555-5555-555555555555"},"occurred_at":{"type":"string","format":"date-time","example":"2024-06-15T14:30:00Z"},"type":{"type":"string","description":"Underlying DB event. DELETE is never emitted for this table.","enum":["INSERT","UPDATE"],"example":"UPDATE"},"table":{"type":"string","enum":["rental_application_groups"],"example":"rental_application_groups"},"record":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationGroupWebhookRecord"},{"type":"null"}]},"old_record":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationGroupWebhookRecord"},{"type":"null"}]},"changes":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationGroupChanges"},{"type":"null"}]}},"required":["event","event_id","occurred_at","type","table"]}},"components/schemas/RentalApplicationWebhookRecord":{"id":"components/schemas/RentalApplicationWebhookRecord","kind":"json-schema","title":"RentalApplicationWebhookRecord","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whitelisted columns emitted for rental_applications webhook events (PII is never included in webhook payloads)"},"children":[]}]}]}],"properties":{"id":{"type":"string","format":"uuid","example":"a1111111-1111-1111-1111-111111111111"},"rental_application_group_id":{"type":["string","null"],"format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000"},"rental_application_group_status":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationStatus"},{"type":"null"}]},"unit_id":{"type":["integer","null"],"example":12345},"user_id":{"type":["string","null"],"format":"uuid","example":"b2222222-2222-2222-2222-222222222222"},"status":{"$ref":"#/components/schemas/RentalApplicationStatus"},"move_in_date":{"type":["string","null"],"format":"date-time","example":"2024-08-01T00:00:00Z"},"progress":{"type":["string","null"],"example":"income_details"},"created_at":{"type":["string","null"],"format":"date-time","example":"2024-06-01T10:00:00Z"},"updated_at":{"type":["string","null"],"format":"date-time","example":"2024-06-10T15:30:00Z"}}}},"components/schemas/RentalApplicationChanges":{"id":"components/schemas/RentalApplicationChanges","kind":"json-schema","title":"RentalApplicationChanges","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Per-field diff included on UPDATE events for rental_applications. Each key is present only when that field changed."},"children":[]}]}]}],"properties":{"status":{"type":"object","properties":{"from":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationStatus"},{"type":"null"}]},"to":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationStatus"},{"type":"null"}]}}},"rental_application_group_status":{"type":"object","properties":{"from":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationStatus"},{"type":"null"}]},"to":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationStatus"},{"type":"null"}]}}},"progress":{"type":"object","properties":{"from":{"type":["string","null"],"example":"personal_details"},"to":{"type":["string","null"],"example":"income_details"}}},"unit_id":{"type":"object","properties":{"from":{"type":["integer","null"],"example":12345},"to":{"type":["integer","null"],"example":67890}}}}}},"components/schemas/RentalApplicationWebhookPayload":{"id":"components/schemas/RentalApplicationWebhookPayload","kind":"json-schema","title":"RentalApplicationWebhookPayload","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook payload for rental_applications events. PII is intentionally stripped —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"subscribers fetch "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /rental_applications/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to retrieve PII when needed."},"children":[]}]}]}],"properties":{"event":{"type":"string","enum":["application.created","application.state_changed","application.updated"],"example":"application.state_changed","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Semantic event:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": A new applicant record was created on a group (INSERT)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application.state_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": The applicant's status transitioned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application.updated"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Any other UPDATE."},"children":[]}]}]}]}]},"event_id":{"type":"string","format":"uuid","example":"f6666666-6666-6666-6666-666666666666"},"occurred_at":{"type":"string","format":"date-time","example":"2024-06-15T14:30:00Z"},"type":{"type":"string","description":"Underlying DB event. DELETE is never emitted for this table.","enum":["INSERT","UPDATE"],"example":"UPDATE"},"table":{"type":"string","enum":["rental_applications"],"example":"rental_applications"},"record":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationWebhookRecord"},{"type":"null"}]},"old_record":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationWebhookRecord"},{"type":"null"}]},"changes":{"oneOf":[{"$ref":"#/components/schemas/RentalApplicationChanges"},{"type":"null"}]}},"required":["event","event_id","occurred_at","type","table"]}},"components/schemas/MarketToolLeadWebhookRecord":{"id":"components/schemas/MarketToolLeadWebhookRecord","kind":"json-schema","title":"MarketToolLeadWebhookRecord","data":{"type":"object","description":"Whitelisted columns emitted for Market Tool Widget lead webhook events.","properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000"},"created_at":{"type":"string","format":"date-time","example":"2026-06-09T12:30:00Z"},"address":{"type":"string","example":"123 Main St, Austin, TX 78701"},"zip_code":{"type":["string","null"],"example":"78701"},"beds":{"type":["number","null"],"example":3},"baths":{"type":["number","null"],"example":2.5},"property_type":{"type":["string","null"],"example":"SINGLE_FAMILY"},"sqft":{"type":["integer","null"],"example":1800},"key_features":{"type":["string","null"],"example":"Renovated kitchen, fenced yard"},"lead_name":{"type":"string","example":"Jane Doe"},"lead_email":{"type":"string","format":"email","example":"jane@example.com"},"lead_phone":{"type":["string","null"],"example":"+15125551234"},"referrer_url":{"type":["string","null"],"example":"https://example.com/listings/123"},"utm_source":{"type":["string","null"],"example":"google"},"utm_medium":{"type":["string","null"],"example":"cpc"},"utm_campaign":{"type":["string","null"],"example":"spring_2026"}},"required":["id","created_at","address","zip_code","beds","baths","property_type","sqft","key_features","lead_name","lead_email","lead_phone","referrer_url","utm_source","utm_medium","utm_campaign"]}},"components/schemas/MarketToolLeadWebhookPayload":{"id":"components/schemas/MarketToolLeadWebhookPayload","kind":"json-schema","title":"MarketToolLeadWebhookPayload","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook payload for Market Tool Widget lead events. INSERT-only — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is always "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INSERT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"old_record"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is always null."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"record"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" contains a fixed set of listing and lead-contact fields."},"children":[]}]}]}],"properties":{"type":{"type":"string","description":"Underlying DB event. Only INSERT is emitted for this table.","enum":["INSERT"],"example":"INSERT"},"table":{"type":"string","enum":["pm_business_development_leads"],"example":"pm_business_development_leads"},"record":{"$ref":"#/components/schemas/MarketToolLeadWebhookRecord"},"old_record":{"type":"null","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always null — INSERT-only table."},"children":[]}]}]}],"example":null}},"required":["type","table","record","old_record"]}},"components/schemas/ReportingPage":{"id":"components/schemas/ReportingPage","kind":"json-schema","title":"ReportingPage","data":{"type":"object","description":"Pagination metadata for intelligence reporting responses","properties":{"limit":{"type":"integer","example":100},"page_number":{"type":"integer","example":0},"has_more":{"type":"boolean","example":true},"next_page_number":{"type":["integer","null"],"example":1}},"required":["limit","page_number","has_more","next_page_number"]}},"components/schemas/ReportingProspectRow":{"id":"components/schemas/ReportingProspectRow","kind":"json-schema","title":"ReportingProspectRow","data":{"type":"object","properties":{"prospect_id":{"type":"integer","example":12},"property_address":{"type":["string","null"],"example":"example"},"created_at":{"type":"string","format":"date-time","example":"2024-01-15T09:30:00Z"},"status":{"type":["string","null"],"description":"Prospect status. The internal \"Ghosting\" status is returned as \"Unresponsive\" to match the product UI.","example":"example"},"name":{"type":["string","null"],"example":"example"},"phone_number":{"type":["string","null"],"example":"example"},"email":{"type":["string","null"],"example":"example"},"source":{"type":["string","null"],"example":"example"},"assigned_agents":{"type":["array","null"],"items":{"type":"string","example":"Jane Smith"}},"showing_status":{"type":["string","null"],"example":"example"},"last_contacted_at":{"type":["string","null"],"format":"date-time","example":"2024-01-15T09:30:00Z"},"prospect_type":{"type":["string","null"],"example":"example"}}}},"components/schemas/ReportingProspects":{"id":"components/schemas/ReportingProspects","kind":"json-schema","title":"ReportingProspects","data":{"type":"object","description":"Paginated envelope for prospect report rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingProspectRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/ReportingUnitRow":{"id":"components/schemas/ReportingUnitRow","kind":"json-schema","title":"ReportingUnitRow","data":{"type":"object","properties":{"unit_id":{"type":"integer","example":12},"address":{"type":["string","null"],"example":"example"},"date_marked_available":{"type":["string","null"],"format":"date-time","example":"2024-01-15T09:30:00Z"},"status":{"type":["string","null"],"example":"example"},"earliest_move_in_date":{"type":["string","null"],"format":"date","example":"2024-01-15"},"earliest_showing_date":{"type":["string","null"],"format":"date","example":"2024-01-15"},"subteam_name":{"type":["string","null"],"example":"example"},"showing_method":{"type":["string","null"],"example":"example"},"showing_agents":{"type":["array","null"],"items":{"type":"string","example":"Jane Smith"}},"lockbox_type":{"type":["string","null"],"example":"example"},"serial_number":{"type":["string","null"],"example":"example"},"deposit_amount":{"type":["number","null"],"example":1500},"target_rental_rate":{"type":["number","null"],"example":1500},"move_in_fees":{"type":["object","null"]},"monthly_fees":{"type":["object","null"]},"special_offer":{"type":["array","null"],"items":{"type":"object"}},"bedrooms":{"type":["number","null"],"example":1500},"bathrooms":{"type":["number","null"],"example":1500},"prescreen_template_name":{"type":["string","null"],"example":"example"},"pet_policy":{"type":["string","null"],"example":"example"},"pet_terms":{"type":["string","null"],"example":"example"},"custom_app_link":{"type":["string","null"],"example":"example"},"included_utilities":{"type":["array","null"],"items":{"type":"string","example":"Water"}},"property_owners":{"type":["array","null"],"items":{"type":"object"}},"structured_access_instructions":{"type":["object","null"]},"community_name":{"type":["string","null"],"example":"example"},"re_application_template_name":{"type":["string","null"],"example":"example"}}}},"components/schemas/ReportingUnits":{"id":"components/schemas/ReportingUnits","kind":"json-schema","title":"ReportingUnits","data":{"type":"object","description":"Paginated envelope for unit report rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingUnitRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/ProspectLeasingEventRow":{"id":"components/schemas/ProspectLeasingEventRow","kind":"json-schema","title":"ProspectLeasingEventRow","data":{"type":"object","description":"A single leasing event in a prospect's timeline.","properties":{"id":{"type":"integer","format":"int64","example":12345},"created_at":{"type":"string","format":"date-time","example":"2024-10-05T18:53:03.406168Z"},"event_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The type of leasing event (see the LeasingEvent "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum)."},"children":[]}]}]}],"example":"Showing Complete"},"source":{"type":["string","null"],"example":"Showing Scheduler"},"notes":{"type":["string","null"],"example":"Prospect loved the unit"},"planned_date_time":{"type":["string","null"],"format":"date-time","example":"2024-10-06T17:00:00Z"},"next_follow_up":{"type":["string","null"],"format":"date-time","example":"2024-10-08T17:00:00Z"},"created_by":{"type":["string","null"],"example":"Public API"},"prospect_id":{"type":"integer","format":"int64","description":"ID of the prospect this event belongs to.","example":12345},"prospect_name":{"type":["string","null"],"description":"The prospect's display name.","example":"Jane Doe"},"phone_number":{"type":["string","null"],"description":"The prospect's contact phone number.","example":"+14155550100"},"email":{"type":["string","null"],"format":"email","description":"The prospect's email.","example":"jane@example.com"},"unit_of_interest":{"type":["integer","null"],"format":"int64","description":"ID of the unit the prospect is interested in.","example":377},"property_address":{"type":["string","null"],"description":"Formatted address of the unit the prospect is interested in.","example":"1701 Prospect Ave #5i"},"floorplan_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the floorplan the prospect is interested in (multifamily leads). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for single-family leads."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"multifamily_property_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the multifamily property the prospect is interested in. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for single-family leads."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"context":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Non-sensitive subset of the event's context, or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/SafeLeasingEventContext"},{"type":"null"}]}}}},"components/schemas/ProspectLeasingEventList":{"id":"components/schemas/ProspectLeasingEventList","kind":"json-schema","title":"ProspectLeasingEventList","data":{"type":"object","description":"Paginated envelope for a prospect's leasing-event rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProspectLeasingEventRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/ProspectCallRow":{"id":"components/schemas/ProspectCallRow","kind":"json-schema","title":"ProspectCallRow","data":{"type":"object","description":"A single call in a prospect's history.","properties":{"created_at":{"type":"string","format":"date-time","example":"2024-10-05T18:53:03.406168Z"},"call_sid":{"type":"string","description":"Twilio Call SID (unique identifier).","example":"CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"prospect_id":{"type":"integer","format":"int64","description":"ID of the prospect this call belongs to.","example":12345},"direction":{"type":["string","null"],"description":"Call direction.","enum":["inbound","outbound","outbound-dial",null],"example":"inbound"},"call_status":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call status (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"queued"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"initiated"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ringing"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"in-progress"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"busy"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"no-answer"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"canceled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"missed-transfer"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"completed"},"call_duration":{"type":["integer","null"],"description":"Duration of the call in seconds.","example":142},"from_number":{"type":["string","null"],"description":"Caller's phone number (E.164).","example":"+14155550100"},"to_number":{"type":["string","null"],"description":"Called destination phone number (E.164).","example":"+14155550199"},"prospect_name":{"type":["string","null"],"description":"The prospect's display name.","example":"Jane Doe"},"phone_number":{"type":["string","null"],"description":"The prospect's contact phone number.","example":"+14155550100"},"email":{"type":["string","null"],"format":"email","description":"The prospect's email.","example":"jane@example.com"},"unit_of_interest":{"type":["integer","null"],"format":"int64","description":"ID of the unit the prospect is interested in.","example":377},"property_address":{"type":["string","null"],"description":"Formatted address of the unit the prospect is interested in.","example":"1701 Prospect Ave #5i"},"floorplan_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the floorplan the prospect is interested in (multifamily leads). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for single-family leads."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"multifamily_property_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the multifamily property the prospect is interested in. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for single-family leads."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"}}}},"components/schemas/ProspectCallList":{"id":"components/schemas/ProspectCallList","kind":"json-schema","title":"ProspectCallList","data":{"type":"object","description":"Paginated envelope for a prospect's call rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProspectCallRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/ProspectMessageRow":{"id":"components/schemas/ProspectMessageRow","kind":"json-schema","title":"ProspectMessageRow","data":{"type":"object","description":"A single SMS message in a prospect's history.","properties":{"created_at":{"type":"string","format":"date-time","example":"2024-10-05T18:53:03.406168Z"},"message_sid":{"type":"string","description":"Twilio Message SID (unique identifier).","example":"SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"prospect_id":{"type":"integer","format":"int64","description":"ID of the prospect this message belongs to.","example":12345},"direction":{"type":["string","null"],"description":"Message direction.","enum":["inbound","outbound",null],"example":"inbound"},"body":{"type":["string","null"],"description":"Message text content.","example":"Hi, I'm interested in your listing!"},"status":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delivery status (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"queued"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"delivered"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"undelivered"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"delivered"},"from_number":{"type":["string","null"],"description":"Sender's phone number (E.164).","example":"+14155550100"},"to_number":{"type":["string","null"],"description":"Recipient's phone number (E.164).","example":"+14155550199"},"num_media":{"type":["integer","null"],"description":"Number of media attachments on this message.","example":0},"media_content_types":{"type":["array","null"],"description":"MIME types of any media attachments (URLs themselves are not exposed).","items":{"type":"string","example":"image/jpeg"},"example":["image/jpeg"]},"prospect_name":{"type":["string","null"],"description":"The prospect's display name.","example":"Jane Doe"},"phone_number":{"type":["string","null"],"description":"The prospect's contact phone number.","example":"+14155550100"},"email":{"type":["string","null"],"format":"email","description":"The prospect's email.","example":"jane@example.com"},"unit_of_interest":{"type":["integer","null"],"format":"int64","description":"ID of the unit the prospect is interested in.","example":377},"property_address":{"type":["string","null"],"description":"Formatted address of the unit the prospect is interested in.","example":"1701 Prospect Ave #5i"},"floorplan_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the floorplan the prospect is interested in (multifamily leads). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for single-family leads."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"multifamily_property_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the multifamily property the prospect is interested in. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for single-family leads."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"}}}},"components/schemas/ProspectMessageList":{"id":"components/schemas/ProspectMessageList","kind":"json-schema","title":"ProspectMessageList","data":{"type":"object","description":"Paginated envelope for a prospect's message rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProspectMessageRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/PostNoteRequest":{"id":"components/schemas/PostNoteRequest","kind":"json-schema","title":"PostNoteRequest","data":{"type":"object","additionalProperties":false,"required":["prospect_id","note"],"properties":{"prospect_id":{"type":"integer","format":"int64","minimum":1,"description":"ID of the prospect the note is being recorded on.","example":12345},"note":{"type":"string","minLength":1,"maxLength":4000,"description":"Free-text note about the prospect / interaction.","example":"Spoke with prospect about renewal"},"pinned":{"type":"boolean","default":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether to pin the note in the Command Center. Pinning un-pins the prospect's other notes — a prospect has at most one pinned note. Defaults to false. First notes are always pinned."},"children":[]}]}]}],"example":false}}}},"components/schemas/NoteRow":{"id":"components/schemas/NoteRow","kind":"json-schema","title":"NoteRow","data":{"type":"object","description":"A single note on a prospect.","properties":{"id":{"type":"string","format":"uuid","example":"50326063-7628-49f5-ae52-687abc02ccec"},"prospect_id":{"type":["integer","null"],"format":"int64","description":"ID of the prospect the note is attached to, when known.","example":12345},"note":{"type":["string","null"],"description":"Free-text note about the prospect.","example":"Spoke with prospect about renewal"},"pinned":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the note is pinned in the Command Center. Set on creation via the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pinned"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" request field (defaults to false). First notes are always pinned."},"children":[]}]}]}],"example":false},"created_at":{"type":"string","format":"date-time","example":"2026-05-29T10:00:00Z"},"prospect_name":{"type":["string","null"],"description":"The prospect's display name.","example":"Jane Doe"},"phone_number":{"type":["string","null"],"description":"The prospect's contact phone number.","example":"+14155550100"},"email":{"type":["string","null"],"format":"email","description":"The prospect's email.","example":"jane@example.com"},"unit_of_interest":{"type":["integer","null"],"format":"int64","description":"ID of the unit the prospect is interested in.","example":377},"property_address":{"type":["string","null"],"description":"Formatted address of the unit the prospect is interested in.","example":"1701 Prospect Ave #5i"},"floorplan_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the floorplan the prospect is interested in (multifamily leads). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for single-family leads."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"multifamily_property_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the multifamily property the prospect is interested in. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for single-family leads."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"}}}},"components/schemas/NotesList":{"id":"components/schemas/NotesList","kind":"json-schema","title":"NotesList","data":{"type":"object","description":"Paginated envelope for note rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NoteRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/PostFollowupRequest":{"id":"components/schemas/PostFollowupRequest","kind":"json-schema","title":"PostFollowupRequest","data":{"type":"object","additionalProperties":false,"required":["prospect_id","note"],"properties":{"prospect_id":{"type":"integer","format":"int64","minimum":1,"example":12345},"note":{"type":"string","minLength":1,"maxLength":4000,"description":"Free-text note for the follow-up.","example":"Call about rent application"},"remind_at":{"type":["string","null"],"format":"date-time","description":"Future timestamp at which a push-notification reminder should fire.\nMust be strictly in the future.\n","example":"2026-06-01T17:00:00Z"},"channel":{"type":["string","null"],"enum":["SMS","PHONE","EMAIL","OTHER",null],"description":"Optional channel hint for how the user plans to follow up.","example":"PHONE"}}}},"components/schemas/FollowupRow":{"id":"components/schemas/FollowupRow","kind":"json-schema","title":"FollowupRow","data":{"type":"object","description":"A single follow-up (scheduled reminder) on a prospect.","properties":{"id":{"type":"string","format":"uuid","example":"d801337c-cf9f-4ba8-b947-2bd131769ee7"},"prospect_id":{"type":["integer","null"],"format":"int64","description":"ID of the prospect the follow-up is attached to, when known.","example":12345},"note":{"type":["string","null"],"description":"Free-text note for the follow-up.","example":"Call about rent application"},"remind_at":{"type":["string","null"],"format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scheduled reminder timestamp, when set. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if no reminder is queued."},"children":[]}]}]}],"example":"2026-06-01T17:00:00Z"},"channel":{"type":["string","null"],"description":"Channel hint for how the user plans to follow up, when set.","enum":["SMS","PHONE","EMAIL","OTHER",null],"example":"PHONE"},"created_at":{"type":"string","format":"date-time","example":"2026-05-29T10:00:00Z"},"prospect_name":{"type":["string","null"],"description":"The prospect's display name.","example":"Jane Doe"},"phone_number":{"type":["string","null"],"description":"The prospect's contact phone number.","example":"+14155550100"},"email":{"type":["string","null"],"format":"email","description":"The prospect's email.","example":"jane@example.com"},"unit_of_interest":{"type":["integer","null"],"format":"int64","description":"ID of the unit the prospect is interested in.","example":377},"property_address":{"type":["string","null"],"description":"Formatted address of the unit the prospect is interested in.","example":"1701 Prospect Ave #5i"},"floorplan_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the floorplan the prospect is interested in (multifamily leads). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for single-family leads."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"},"multifamily_property_id":{"type":["string","null"],"format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the multifamily property the prospect is interested in. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for single-family leads."},"children":[]}]}]}],"example":"6eac2077-a67e-4888-846b-6ff15015c855"}}}},"components/schemas/FollowupsList":{"id":"components/schemas/FollowupsList","kind":"json-schema","title":"FollowupsList","data":{"type":"object","description":"Paginated envelope for follow-up rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/FollowupRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/ReportingShowingRow":{"id":"components/schemas/ReportingShowingRow","kind":"json-schema","title":"ReportingShowingRow","data":{"type":"object","properties":{"showing_id":{"type":"integer","example":12},"prospect_id":{"type":["integer","null"],"example":12},"property_address":{"type":["string","null"],"example":"example"},"timezone":{"type":["string","null"],"example":"example"},"prospect_name":{"type":["string","null"],"example":"example"},"phone_number":{"type":["string","null"],"example":"example"},"email":{"type":["string","null"],"example":"example"},"status":{"type":["string","null"],"example":"example"},"feedback":{"type":["string","null"],"description":"Showing feedback. Falls back to structured feedback context when no free-text note was recorded.","example":"example"},"created_at":{"type":"string","format":"date-time","example":"2024-01-15T09:30:00Z"},"showing_agent":{"type":["string","null"],"example":"example"},"planned_date_time":{"type":["string","null"],"format":"date-time","example":"2024-01-15T09:30:00Z"},"prospect_type":{"type":["string","null"],"example":"example"},"is_rescheduled":{"type":["boolean","null"],"description":"Whether a canceled showing was canceled as part of a reschedule. Null when the showing was not canceled.","example":true},"is_auto_canceled":{"type":["boolean","null"],"description":"Whether a canceled showing was auto-canceled by the system. Null when the showing was not canceled.","example":true},"canceled_by":{"type":["string","null"],"description":"Who canceled the showing (\"Current tenant\" for tenant-acceptance cancellations). Null when the showing was not canceled.","example":"example"},"cancellation_reason":{"type":["string","null"],"description":"Reason the showing was canceled. Null when not canceled.","example":"example"},"prospect_current_status":{"type":["string","null"],"example":"example"},"updated_at":{"type":["string","null"],"format":"date-time","example":"2024-01-15T09:30:00Z"}}}},"components/schemas/ReportingShowings":{"id":"components/schemas/ReportingShowings","kind":"json-schema","title":"ReportingShowings","data":{"type":"object","description":"Paginated envelope for showing report rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingShowingRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/ReportingPrescreeningRow":{"id":"components/schemas/ReportingPrescreeningRow","kind":"json-schema","title":"ReportingPrescreeningRow","data":{"type":"object","properties":{"prescreen_id":{"type":"integer","example":12},"property_address":{"type":["string","null"],"example":"example"},"prospect_id":{"type":["integer","null"],"example":12},"prospect_name":{"type":["string","null"],"example":"example"},"phone_number":{"type":["string","null"],"example":"example"},"email":{"type":["string","null"],"example":"example"},"created_at":{"type":"string","format":"date-time","example":"2024-01-15T09:30:00Z"},"prescreen_template_name":{"type":["string","null"],"example":"example"},"status":{"type":["string","null"],"example":"example"},"prescreen_answers":{"type":["object","null"],"description":"Template-specific prescreen answers keyed by question."}}}},"components/schemas/ReportingPrescreening":{"id":"components/schemas/ReportingPrescreening","kind":"json-schema","title":"ReportingPrescreening","data":{"type":"object","description":"Paginated envelope for prescreening report rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingPrescreeningRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/ReportingCallRow":{"id":"components/schemas/ReportingCallRow","kind":"json-schema","title":"ReportingCallRow","data":{"type":"object","properties":{"name":{"type":["string","null"],"example":"example"},"created_at":{"type":"string","format":"date-time","example":"2024-01-15T09:30:00Z"},"user_id":{"type":["string","null"],"example":"example"},"call_direction":{"type":["string","null"],"example":"example"},"status":{"type":["string","null"],"example":"example"},"call_sid":{"type":["string","null"],"example":"example"},"contact_number":{"type":["string","null"],"example":"example"},"call_duration":{"type":["integer","null"],"description":"Call duration in seconds.","example":12},"prospect_name":{"type":["string","null"],"example":"example"}}}},"components/schemas/ReportingCalls":{"id":"components/schemas/ReportingCalls","kind":"json-schema","title":"ReportingCalls","data":{"type":"object","description":"Paginated envelope for call report rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingCallRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/ReportingMarketingSourceRow":{"id":"components/schemas/ReportingMarketingSourceRow","kind":"json-schema","title":"ReportingMarketingSourceRow","data":{"type":"object","properties":{"source_key":{"type":["string","null"],"example":"example"},"source_display":{"type":["string","null"],"example":"example"},"leads":{"type":"integer","example":12},"showings_scheduled":{"type":"integer","example":12},"showings_completed":{"type":"integer","example":12},"upcoming_showings":{"type":"integer","example":12},"applications_requested":{"type":"integer","example":12},"applications_submitted":{"type":"integer","example":12},"apps_approved":{"type":"integer","example":12},"rejected_prescreens":{"type":"integer","example":12}}}},"components/schemas/ReportingMarketingSources":{"id":"components/schemas/ReportingMarketingSources","kind":"json-schema","title":"ReportingMarketingSources","data":{"type":"object","description":"Paginated envelope for marketing-source report rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingMarketingSourceRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/ReportingApplicationRow":{"id":"components/schemas/ReportingApplicationRow","kind":"json-schema","title":"ReportingApplicationRow","data":{"type":"object","properties":{"application_group_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000"},"lead_applicant":{"type":["string","null"],"example":"example"},"address":{"type":["string","null"],"example":"example"},"status":{"type":["string","null"],"example":"example"},"refunded_amount":{"type":["number","null"],"example":1500},"submitted_at":{"type":["string","null"],"format":"date-time","example":"2024-01-15T09:30:00Z"},"started_at":{"type":["string","null"],"format":"date-time","example":"2024-01-15T09:30:00Z"},"processed_at":{"type":["string","null"],"format":"date-time","example":"2024-01-15T09:30:00Z"},"processing_time_hours":{"type":["number","null"],"example":1500},"subteam_name":{"type":["string","null"],"example":"example"},"agent_name":{"type":["string","null"],"example":"example"},"num_applicants":{"type":["integer","null"],"example":12},"income_details":{"type":["object","null"]},"current_workflow_step":{"type":["string","null"],"example":"example"},"current_workflow_owner":{"type":["string","null"],"example":"example"}}}},"components/schemas/ReportingApplications":{"id":"components/schemas/ReportingApplications","kind":"json-schema","title":"ReportingApplications","data":{"type":"object","description":"Paginated envelope for application report rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingApplicationRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"components/schemas/ReportingAgentPerformanceRow":{"id":"components/schemas/ReportingAgentPerformanceRow","kind":"json-schema","title":"ReportingAgentPerformanceRow","data":{"type":"object","properties":{"agent_user_id":{"type":["string","null"],"format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000"},"agent_name":{"type":["string","null"],"example":"example"},"showings_scheduled":{"type":"integer","example":12},"showings_completed":{"type":"integer","example":12},"upcoming_showings":{"type":"integer","example":12},"rescheduled_showings":{"type":"integer","example":12},"auto_canceled_showings":{"type":"integer","example":12},"prospect_canceled_showings":{"type":"integer","example":12},"agent_canceled_showings":{"type":"integer","example":12},"missed_showings":{"type":"integer","example":12},"failed_showings":{"type":"integer","example":12},"apps_requested":{"type":"integer","example":12},"apps_submitted":{"type":"integer","example":12},"apps_approved":{"type":"integer","example":12},"calls_made":{"type":"integer","example":12},"calls_answered":{"type":"integer","example":12},"messages_sent":{"type":"integer","example":12},"inbound_calls_missed":{"type":"integer","example":12},"median_call_minutes":{"type":["number","null"],"example":4.2},"median_hours_to_first_contact":{"type":["number","null"],"example":2.3},"unanswered_prospects":{"type":"integer","example":12},"showings_with_feedback_pct":{"type":["number","null"],"example":69},"prospects_contacted":{"type":"integer","example":12}}}},"components/schemas/ReportingAgentPerformance":{"id":"components/schemas/ReportingAgentPerformance","kind":"json-schema","title":"ReportingAgentPerformance","data":{"type":"object","description":"Paginated envelope for agent-performance report rows","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingAgentPerformanceRow"}},"page":{"$ref":"#/components/schemas/ReportingPage"}},"required":["data","page"]}},"schema_80":{"kind":"json-schema","data":{"type":"integer","example":12345},"id":"schema_80"},"schema_81":{"kind":"json-schema","data":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00Z"},"id":"schema_81"},"schema_82":{"kind":"json-schema","data":{"type":"string","format":"date-time","example":"2024-01-31T23:59:59Z"},"id":"schema_82"},"schema_83":{"kind":"json-schema","data":{"type":"object","properties":{"error":{"type":"string","example":"Too Many Requests"},"message":{"type":"string","example":"Rate limit exceeded. Please try again later."},"retryAfter":{"type":"integer","description":"Seconds until rate limit resets","example":45}}},"id":"schema_83"},"schema_84":{"kind":"json-schema","data":{"type":"object","properties":{"X-RateLimit-Limit":{"type":"integer","example":100,"description":"Maximum requests allowed in the current window"},"X-RateLimit-Remaining":{"type":"integer","example":0,"description":"Number of requests remaining in the current window"},"X-RateLimit-Reset":{"type":"integer","example":1706745600000,"description":"Unix timestamp (milliseconds) when the rate limit resets"},"Retry-After":{"type":"integer","example":45,"description":"Number of seconds to wait before retrying"}}},"id":"schema_84"},"schema_85":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid"},"minItems":1},"id":"schema_85"},"schema_86":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid"}},"id":"schema_86"},"schema_87":{"kind":"json-schema","data":{"type":"integer","default":100,"minimum":1,"maximum":2000,"example":100},"id":"schema_87"},"schema_88":{"kind":"json-schema","data":{"type":"integer","default":0,"minimum":0,"example":0},"id":"schema_88"},"schema_89":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","example":"1234567"}},"id":"schema_89"},"schema_90":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000"}},"id":"schema_90"},"schema_91":{"kind":"json-schema","data":{"type":"string","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"id":"schema_91"},"schema_92":{"kind":"json-schema","data":{"$ref":"#/components/schemas/LockboxTypeValue"},"id":"schema_92"},"schema_93":{"kind":"json-schema","data":{"type":"integer","default":50,"minimum":1,"maximum":100,"example":25},"id":"schema_93"},"schema_94":{"kind":"json-schema","data":{"type":"integer","default":0,"minimum":0,"example":1},"id":"schema_94"},"schema_95":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/Lockbox"}},"id":"schema_95"},"schema_96":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"string","description":"The generated lockbox code","example":"1234"},"lockboxType":{"type":"string","enum":["Sentrilock","Codebox"],"description":"Type of the lockbox","example":"Sentrilock"},"instructions":{"type":"string","description":"Optional instructions for using the code. May or may not be provided, depending on the lockbox.","example":"Enter code followed by #"}}},"id":"schema_96"},"schema_97":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174002"}},"id":"schema_97"},"schema_98":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/LockboxEventType"}},"id":"schema_98"},"schema_99":{"kind":"json-schema","data":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z"},"id":"schema_99"},"schema_100":{"kind":"json-schema","data":{"type":"string","format":"date-time","example":"2023-12-31T23:59:59Z"},"id":"schema_100"},"schema_101":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","example":"12345"}},"id":"schema_101"},"schema_102":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/LockboxEvent"}},"id":"schema_102"},"schema_103":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true}}},"id":"schema_103"},"schema_104":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/LockboxInstallation"}},"id":"schema_104"},"schema_105":{"kind":"json-schema","data":{"type":"array","items":{"type":"number","example":12345}},"id":"schema_105"},"schema_106":{"kind":"json-schema","data":{"type":"string","example":"f78125c"},"id":"schema_106"},"schema_107":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","example":"Incomplete","enum":["Under Review","Available","Application Recieved","Application Approved","Lease Out For Signing","Lease Signed","Lease Signed & Deposit Paid","Leased","On Hold","Expired","Withdrawn","Withdrawal Requested","Incomplete","Price Analysis","Archived"]}},"id":"schema_107"},"schema_108":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/Unit"}},"id":"schema_108"},"schema_109":{"kind":"json-schema","data":{"type":"object","properties":{"unit":{"$ref":"#/components/schemas/Unit"}}},"id":"schema_109"},"schema_110":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/WebhookPayload"},{"type":"object","properties":{"record":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier for the unit","example":3318},"property_type":{"type":"string","description":"Type of property","example":"TOWNHOUSE"},"highlighted_amenities":{"type":"array","items":{"type":"string","example":"Pool"},"description":"Highlighted amenities"},"bedrooms":{"type":"string","description":"Number of bedrooms","example":"3"},"bathrooms":{"type":"string","description":"Number of bathrooms","example":"2"},"sqft":{"type":"string","description":"Square footage of the unit","example":"1378"},"furnished":{"type":"boolean","description":"Whether the unit is furnished","example":false},"renovated":{"type":"string","description":"Whether the unit has been renovated","example":"No"},"num_parking_spots":{"type":"string","description":"Number of parking spots","example":"2"},"laundry":{"type":"string","description":"Laundry options","example":"In Unit"},"target_rental_rate":{"type":"string","description":"Target rental rate for the unit in dollars per month","example":"1925"},"is_occupied":{"type":"boolean","description":"Whether the unit is currently occupied","example":false},"earliest_move_in_date":{"type":"string","format":"date","description":"Earliest date the unit is available for move-in","example":"2024-10-12"},"allow_cooperating_brokers":{"type":["boolean","null"],"description":"Whether cooperating brokers are allowed","example":true},"desired_lease_duration_months":{"type":"array","items":{"type":"integer","example":12},"description":"Desired lease duration in months","example":[12]},"pets_allowed":{"type":["string","null"],"description":"Pet policy","example":"Yes with pet fee"},"pet_restrictions":{"type":"string","description":"Restrictions on pets (breed/weight/size limits, not fees)","example":"Max 2 pets. Dogs must be under 50 lbs. No aggressive breeds."},"pet_fees":{"type":["array","null"],"items":{"type":"object","properties":{"fee_name":{"type":"string","description":"Name of the pet fee","example":"Pet Deposit"},"amount":{"type":"number","description":"Fee amount (dollar value or percentage of rent)","example":500},"type":{"enum":["dollar","percent"],"type":"string","description":"Whether amount is a flat dollar value or percentage of rent","example":"dollar"},"per_pet":{"type":"boolean","description":"Whether the fee is charged per pet","example":false},"required":{"type":"boolean","description":"Whether the fee is mandatory","example":true},"applies_to_esas":{"type":"boolean","description":"Whether this fee applies to emotional support animals","example":false},"fee_timing":{"enum":["move_in","monthly","move_out","annually"],"type":"string","description":"When the fee is charged","example":"move_in"},"fee_refundable":{"enum":["refundable","nonRefundable","partiallyRefundable"],"type":"string","description":"Refundability of the fee","example":"refundable"},"depends_on_pet_screening_results":{"type":"boolean","description":"Whether the fee amount may vary based on pet screening","example":false}},"required":["fee_name","amount","type","fee_timing","fee_refundable"]},"description":"Structured pet fees for the unit"},"hoa_app_required":{"type":["boolean","null"],"description":"Whether HOA application is required","example":true},"hoa_app_fee":{"type":["number","null"],"description":"HOA application fee in dollars","example":100},"hoa_application_url":{"type":["string","null"],"description":"URL for HOA application","example":"https://example.com/application"},"key_access":{"type":"string","description":"Key access information","example":"I will add this later"},"structured_access_instructions":{"type":"object","description":"Structured access instructions"},"earliest_showing_date":{"type":"string","format":"date","description":"Earliest date the unit can be shown","example":"2024-10-12"},"min_resident_qualifications":{"type":"string","description":"Minimum qualifications for residents","example":""},"utilities_included":{"type":"array","items":{"type":"string","example":"Lawn Care"},"description":"Utilities included in rent","example":["Lawn Care","Trash"]},"parking_type":{"type":"array","items":{"type":"string","example":"Assigned Spots"},"description":"Type of parking available","example":["Assigned Spots"]},"status":{"type":"string","description":"Current status of the unit","example":"Leased"},"extracted_from":{"type":"string","description":"Source of the unit data","example":"f123abc"},"marketing_description":{"type":"string","description":"Marketing description of the unit","example":"**AVAILABLE NOW** 3 Bedroom 2 Bathroom Townhome For Rent in Meadow Woods!"},"marketing_photos":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"https://example.com/images/unit123.jpg"},"hidden":{"type":"boolean","example":false},"original":{"type":["string","null"],"example":"https://example.com/images/unit123.jpg"}}},"description":"Photos of the unit"},"commission_amount":{"type":"string","description":"Commission amount","example":"1"},"commission_type":{"type":"string","description":"Type of commission","example":"none"},"imported_by":{"type":["string","null"],"description":"Who/what imported the unit","example":"Rentvine Sync"},"floor_number":{"type":"integer","description":"Floor number of the unit","example":1},"has_elevator":{"type":["boolean","null"],"description":"Whether the building has an elevator","example":false},"hoa_details":{"type":"object","description":"Details about the HOA"},"account_id":{"type":"string","description":"ID of the account that owns the unit","example":"269bf205-d876-42f5-988d-6f40891df58a"},"owner_emails":{"type":"array","items":{"type":"string","example":"rick@amgrents.com"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(DEPRECATED) - Use property_owner_id instead. Email addresses of the owners."},"children":[]}]}]}],"example":["rick@amgrents.com"],"deprecated":true},"block_syndication_to_ils":{"type":"boolean","description":"Whether to block syndication of this unit to ILS (Internet Listing Services)","example":false},"accepts_vouchers":{"type":["boolean","null"],"description":"Whether the unit accepts housing vouchers.","example":true},"showing_method":{"type":["string","null"],"description":"Method for showing the unit","example":"Remote Guided"},"amenities":{"type":"array","items":{"type":"string","example":"Dishwasher"},"description":"All amenities of the unit","example":["Dishwasher","Stove","Range Oven","Refrigerator"]},"internal_notes":{"type":["string","null"],"description":"Internal notes about the unit.","example":"Garage work scheduled for Monday."},"move_in_fees":{"type":["array","null"],"items":{"type":"object"},"description":"Fees required at move-in"},"monthly_fees":{"type":["array","null"],"items":{"type":"object"},"description":"Monthly recurring fees"},"multifamily_property_id":{"type":["string","null"],"description":"ID of the multifamily property","example":"421e4567-e89b-12d3-a456-426614174000"},"floorplans_id":{"type":["string","null"],"description":"ID of the floorplan","example":"451e4567-e89b-12d3-a456-426614174000"},"video_url":{"type":["string","null"],"description":"URL of video tour","example":"https://www.youtube.com/watch?v=1234567890"},"subteam_id":{"type":["string","null"],"description":"ID of the subteam managing the unit","example":"123e4567-e89b-12d3-a456-426614174000"},"prescreen_template_id":{"type":["string","null"],"description":"ID of the prescreening template to use for this unit","example":"123e4567-e89b-12d3-a456-426614174000"},"enable_send_report":{"type":"boolean","description":"Whether to enable sending reports","example":true},"security_deposit_amount":{"type":["number","null"],"description":"Amount of security deposit in dollars","example":1000.21},"require_last_month_rent":{"type":["boolean","null"],"description":"Whether last month's rent is required upfront","example":true},"requires_voucher":{"type":["boolean","null"],"description":"Whether a voucher is required","example":false},"custom_application_url":{"type":"string","description":"URL for custom application","example":"https://app.findigs.com/apply/unitid=70f51c4c-d708-402e-9a5f-bb6fd60b6cf2"},"include_feedback_leasing_report":{"type":"boolean","description":"Whether to include feedback in leasing reports","example":true},"year_built":{"type":["number","null"],"description":"Year the property was built","example":2020},"application_fee":{"type":["number","null"],"description":"Application fee amount in dollars","example":50},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the unit was created","example":"2024-10-05T18:53:03.406168Z"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the unit was last updated","example":"2024-10-05T18:53:03.406168Z"}}},"old_record":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier for the unit","example":3318},"property_type":{"type":"string","description":"Type of property","example":"TOWNHOUSE"},"highlighted_amenities":{"type":"array","items":{"type":"string","example":"Pool"},"description":"Highlighted amenities"},"bedrooms":{"type":"string","description":"Number of bedrooms","example":"3"},"bathrooms":{"type":"string","description":"Number of bathrooms","example":"2"},"sqft":{"type":"string","description":"Square footage of the unit","example":"1378"},"furnished":{"type":"boolean","description":"Whether the unit is furnished","example":false},"renovated":{"type":"string","description":"Whether the unit has been renovated","example":"No"},"num_parking_spots":{"type":"string","description":"Number of parking spots","example":"2"},"laundry":{"type":"string","description":"Laundry options","example":"In Unit"},"target_rental_rate":{"type":"string","description":"Target rental rate for the unit in dollars per month","example":"1925"},"is_occupied":{"type":"boolean","description":"Whether the unit is currently occupied","example":false},"earliest_move_in_date":{"type":"string","format":"date","description":"Earliest date the unit is available for move-in","example":"2024-10-12"},"allow_cooperating_brokers":{"type":["boolean","null"],"description":"Whether cooperating brokers are allowed","example":true},"desired_lease_duration_months":{"type":"array","items":{"type":"integer","example":12},"description":"Desired lease duration in months","example":[12]},"pets_allowed":{"type":["string","null"],"description":"Pet policy","example":"Yes with pet fee"},"pet_restrictions":{"type":"string","description":"Restrictions on pets (breed/weight/size limits, not fees)","example":"Max 2 pets. Dogs must be under 50 lbs. No aggressive breeds."},"pet_fees":{"type":["array","null"],"items":{"type":"object","properties":{"fee_name":{"type":"string","description":"Name of the pet fee","example":"Pet Deposit"},"amount":{"type":"number","description":"Fee amount (dollar value or percentage of rent)","example":500},"type":{"enum":["dollar","percent"],"type":"string","description":"Whether amount is a flat dollar value or percentage of rent","example":"dollar"},"per_pet":{"type":"boolean","description":"Whether the fee is charged per pet","example":false},"required":{"type":"boolean","description":"Whether the fee is mandatory","example":true},"applies_to_esas":{"type":"boolean","description":"Whether this fee applies to emotional support animals","example":false},"fee_timing":{"enum":["move_in","monthly","move_out","annually"],"type":"string","description":"When the fee is charged","example":"move_in"},"fee_refundable":{"enum":["refundable","nonRefundable","partiallyRefundable"],"type":"string","description":"Refundability of the fee","example":"refundable"},"depends_on_pet_screening_results":{"type":"boolean","description":"Whether the fee amount may vary based on pet screening","example":false}},"required":["fee_name","amount","type","fee_timing","fee_refundable"]},"description":"Structured pet fees for the unit"},"hoa_app_required":{"type":["boolean","null"],"description":"Whether HOA application is required","example":true},"hoa_app_fee":{"type":["number","null"],"description":"HOA application fee in dollars","example":100},"hoa_application_url":{"type":["string","null"],"description":"URL for HOA application","example":"https://example.com/application"},"key_access":{"type":"string","description":"Key access information","example":"I will add this later"},"structured_access_instructions":{"type":"object","description":"Structured access instructions"},"earliest_showing_date":{"type":"string","format":"date","description":"Earliest date the unit can be shown","example":"2024-10-12"},"min_resident_qualifications":{"type":"string","description":"Minimum qualifications for residents","example":""},"utilities_included":{"type":"array","items":{"type":"string","example":"Lawn Care"},"description":"Utilities included in rent","example":["Lawn Care","Trash"]},"parking_type":{"type":"array","items":{"type":"string","example":"Assigned Spots"},"description":"Type of parking available","example":["Assigned Spots"]},"status":{"type":"string","description":"Current status of the unit","example":"Leased"},"extracted_from":{"type":"string","description":"Source of the unit data","example":"f123abc"},"marketing_description":{"type":"string","description":"Marketing description of the unit","example":"**AVAILABLE NOW** 3 Bedroom 2 Bathroom Townhome For Rent in Meadow Woods!"},"marketing_photos":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"https://example.com/images/unit123.jpg"},"hidden":{"type":"boolean","example":false},"original":{"type":["string","null"],"example":"https://example.com/images/unit123.jpg"}}},"description":"Photos of the unit"},"commission_amount":{"type":"string","description":"Commission amount","example":"1"},"commission_type":{"type":"string","description":"Type of commission","example":"none"},"imported_by":{"type":["string","null"],"description":"Who/what imported the unit","example":"Rentvine Sync"},"floor_number":{"type":"integer","description":"Floor number of the unit","example":1},"has_elevator":{"type":["boolean","null"],"description":"Whether the building has an elevator","example":false},"hoa_details":{"type":"object","description":"Details about the HOA"},"account_id":{"type":"string","description":"ID of the account that owns the unit","example":"269bf205-d876-42f5-988d-6f40891df58a"},"owner_emails":{"type":"array","items":{"type":"string","example":"rick@amgrents.com"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(DEPRECATED) - Use property_owner_id instead. Email addresses of the owners."},"children":[]}]}]}],"example":["rick@amgrents.com"],"deprecated":true},"block_syndication_to_ils":{"type":"boolean","description":"Whether to block syndication of this unit to ILS (Internet Listing Services)","example":false},"accepts_vouchers":{"type":["boolean","null"],"description":"Whether the unit accepts housing vouchers.","example":true},"showing_method":{"type":["string","null"],"description":"Method for showing the unit","example":"Remote Guided"},"amenities":{"type":"array","items":{"type":"string","example":"Dishwasher"},"description":"All amenities of the unit","example":["Dishwasher","Stove","Range Oven","Refrigerator"]},"internal_notes":{"type":["string","null"],"description":"Internal notes about the unit.","example":"Garage work scheduled for Monday."},"move_in_fees":{"type":["array","null"],"items":{"type":"object"},"description":"Fees required at move-in"},"monthly_fees":{"type":["array","null"],"items":{"type":"object"},"description":"Monthly recurring fees"},"multifamily_property_id":{"type":["string","null"],"description":"ID of the multifamily property","example":"421e4567-e89b-12d3-a456-426614174000"},"floorplans_id":{"type":["string","null"],"description":"ID of the floorplan","example":"451e4567-e89b-12d3-a456-426614174000"},"video_url":{"type":["string","null"],"description":"URL of video tour","example":"https://www.youtube.com/watch?v=1234567890"},"subteam_id":{"type":["string","null"],"description":"ID of the subteam managing the unit","example":"123e4567-e89b-12d3-a456-426614174000"},"prescreen_template_id":{"type":["string","null"],"description":"ID of the prescreening template to use for this unit","example":"123e4567-e89b-12d3-a456-426614174000"},"enable_send_report":{"type":"boolean","description":"Whether to enable sending reports","example":true},"security_deposit_amount":{"type":["number","null"],"description":"Amount of security deposit in dollars","example":1000.21},"require_last_month_rent":{"type":["boolean","null"],"description":"Whether last month's rent is required upfront","example":true},"requires_voucher":{"type":["boolean","null"],"description":"Whether a voucher is required","example":false},"custom_application_url":{"type":"string","description":"URL for custom application","example":"https://app.findigs.com/apply/unitid=70f51c4c-d708-402e-9a5f-bb6fd60b6cf2"},"include_feedback_leasing_report":{"type":"boolean","description":"Whether to include feedback in leasing reports","example":true},"year_built":{"type":["number","null"],"description":"Year the property was built","example":2020},"application_fee":{"type":["number","null"],"description":"Application fee amount in dollars","example":50},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the unit was created","example":"2024-10-05T18:53:03.406168Z"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the unit was last updated","example":"2024-10-05T18:53:03.406168Z"}}}}}]},"id":"schema_110"},"schema_111":{"kind":"json-schema","data":{"type":"string","format":"uuid","example":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"id":"schema_111"},"schema_112":{"kind":"json-schema","data":{"type":"number","minimum":-90,"maximum":90,"example":25.7617},"id":"schema_112"},"schema_113":{"kind":"json-schema","data":{"type":"number","minimum":-180,"maximum":180,"example":-80.1918},"id":"schema_113"},"schema_114":{"kind":"json-schema","data":{"type":"number","exclusiveMinimum":0,"maximum":25,"example":2},"id":"schema_114"},"schema_115":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","example":"90210","pattern":"^\\d{5}$"},"maxItems":50},"id":"schema_115"},"schema_116":{"kind":"json-schema","data":{"type":"number","example":2},"id":"schema_116"},"schema_117":{"kind":"json-schema","data":{"type":"number","example":4},"id":"schema_117"},"schema_118":{"kind":"json-schema","data":{"type":"number","example":1.5},"id":"schema_118"},"schema_119":{"kind":"json-schema","data":{"type":"number","example":3},"id":"schema_119"},"schema_120":{"kind":"json-schema","data":{"type":"number","example":800},"id":"schema_120"},"schema_121":{"kind":"json-schema","data":{"type":"number","example":2500},"id":"schema_121"},"schema_122":{"kind":"json-schema","data":{"type":"integer","example":5},"id":"schema_122"},"schema_123":{"kind":"json-schema","data":{"type":"integer","example":90},"id":"schema_123"},"schema_124":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-01-01"},"id":"schema_124"},"schema_125":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-05-01"},"id":"schema_125"},"schema_126":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/MarketComp"}},"id":"schema_126"},"schema_127":{"kind":"json-schema","data":{"type":"number","example":123},"id":"schema_127"},"schema_128":{"kind":"json-schema","data":{"type":"array","items":{"type":"number","example":234}},"id":"schema_128"},"schema_129":{"kind":"json-schema","data":{"type":"string","example":"Showing Scheduled"},"id":"schema_129"},"schema_130":{"kind":"json-schema","data":{"type":"string","example":"Zillow"},"id":"schema_130"},"schema_131":{"kind":"json-schema","data":{"type":"string","format":"date-time","example":"2023-01-15T12:00:00Z"},"id":"schema_131"},"schema_132":{"kind":"json-schema","data":{"type":"string","format":"date-time","example":"2023-01-17T12:00:00Z"},"id":"schema_132"},"schema_133":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/Prospect"}},"id":"schema_133"},"schema_134":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/WebhookPayload"},{"type":"object","properties":{"record":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the prospect","example":"123e4567-e89b-12d3-a456-426614174000"},"created_at":{"type":"string","format":"date-time","description":"When the prospect was created","example":"2023-01-15T12:00:00Z"},"name":{"type":"string","description":"Prospect's name","example":"John Doe"},"phone":{"type":"string","description":"Prospect's phone number","example":"+15551234567"},"email":{"type":"string","description":"Prospect's email address","example":"test@gmail.com"},"unit_of_interest":{"type":"string","description":"Unit the prospect is interested in","example":"123"},"status":{"type":"string","description":"Current status of the prospect","example":"Showing Scheduled"},"source":{"type":"string","description":"Where the prospect came from","example":"Zillow"},"notes":{"type":"string","description":"Notes about the prospect","example":"Interested in 2BR units"},"prescreened":{"type":"boolean","description":"Whether the prospect has been prescreened","example":true},"voucher_holder":{"type":"boolean","description":"Whether the prospect holds a housing voucher","example":false},"normalized_phone_number_generated":{"type":"string","description":"Normalized phone number if normalizable. Else null.","example":"+15551234567"},"license_number":{"type":"string","description":"License number if applicable","example":"ABC123"},"prospect_type":{"type":"string","description":"Type of prospect","enum":["Self","Agent"],"example":"Agent"},"updated_at":{"type":"string","format":"date-time","description":"When the prospect was last updated","example":"2023-01-16T14:30:00Z"},"assigned_to_user_ids":{"type":"array","items":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174001","format":"uuid"},"description":"IDs of users assigned to this prospect","example":["123e4567-e89b-12d3-a456-426614174001"]}}},"old_record":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the prospect","example":"123e4567-e89b-12d3-a456-426614174000"},"created_at":{"type":"string","format":"date-time","description":"When the prospect was created","example":"2023-01-15T12:00:00Z"},"name":{"type":"string","description":"Prospect's name","example":"John Doe"},"phone":{"type":"string","description":"Prospect's phone number","example":"+15551234567"},"email":{"type":"string","description":"Prospect's email address","example":"john.doe@example.com"},"unit_of_interest":{"type":"string","description":"Unit the prospect is interested in","example":"123"},"status":{"type":"string","description":"Current status of the prospect","example":"Not Interested"},"source":{"type":"string","description":"Where the prospect came from","example":"RentEngine"},"notes":{"type":"string","description":"Notes about the prospect","example":"Interested in 2BR units"},"prescreened":{"type":"boolean","description":"Whether the prospect has been prescreened","example":false},"voucher_holder":{"type":"boolean","description":"Whether the prospect holds a housing voucher","example":false},"normalized_phone_number_generated":{"type":"string","description":"Normalized phone number if normalizable. Else null.","example":"+15551234567"},"license_number":{"type":"string","description":"License number if applicable","example":"null"},"prospect_type":{"type":"string","description":"Type of prospect","enum":["Self","Agent"],"example":"Self"},"updated_at":{"type":"string","format":"date-time","description":"When the prospect was last updated","example":"2023-01-15T12:00:00Z"},"assigned_to_user_ids":{"type":"array","items":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174001","format":"uuid"},"description":"IDs of users assigned to this prospect","example":["123e4567-e89b-12d3-a456-426614174001"]}}}}}]},"id":"schema_134"},"schema_135":{"kind":"json-schema","data":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid"},"id":"schema_135"},"schema_136":{"kind":"json-schema","data":{"type":"boolean","example":false,"default":false},"id":"schema_136"},"schema_137":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/MultifamilyProperty"}},"id":"schema_137"},"schema_138":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/Floorplan"}},"id":"schema_138"},"schema_139":{"kind":"json-schema","data":{"type":"integer","minimum":1,"example":12345},"id":"schema_139"},"schema_140":{"kind":"json-schema","data":{"type":"string","example":"(415) 555-0100"},"id":"schema_140"},"schema_141":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/LeasingEvent"}},"id":"schema_141"},"schema_142":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/Subteam"}},"id":"schema_142"},"schema_143":{"kind":"json-schema","data":{"type":"boolean","example":true},"id":"schema_143"},"schema_144":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/PrescreeningTemplate"}},"id":"schema_144"},"schema_145":{"kind":"json-schema","data":{"type":"number","example":12345},"id":"schema_145"},"schema_146":{"kind":"json-schema","data":{"type":"object","properties":{"availability":{"$ref":"#/components/schemas/UnitShowingAvailability"}}},"id":"schema_146"},"schema_147":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","description":"Error message","example":"Unit is on hold. Cannot create showing."}},"required":["message"]},"id":"schema_147"},"schema_148":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","description":"Error message","example":"Failed to create showing."}},"required":["message"]},"id":"schema_148"},"schema_149":{"kind":"json-schema","data":{"type":"string","example":"website_widget"},"id":"schema_149"},"schema_150":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/MarketingListing"}},"id":"schema_150"},"schema_151":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer","example":123}},"id":"schema_151"},"schema_152":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/RentalApplicationStatus"}},"id":"schema_152"},"schema_153":{"kind":"json-schema","data":{"type":"string","example":"2026-01-01T00:00:00Z","format":"date-time"},"id":"schema_153"},"schema_154":{"kind":"json-schema","data":{"type":"string","example":"2024-01-15T09:30:00Z","format":"date-time"},"id":"schema_154"},"schema_155":{"kind":"json-schema","data":{"type":"string","example":"created_at","enum":["created_at","updated_at","status"],"default":"created_at"},"id":"schema_155"},"schema_156":{"kind":"json-schema","data":{"type":"string","example":"asc","enum":["asc","desc"],"default":"desc"},"id":"schema_156"},"schema_157":{"kind":"json-schema","data":{"type":"string","example":"a9J7gI7Gc0Yo9CFhDg5-m9SpMKrUiNKDp5DbpgNiYdp9hzwoKDRwDArG57jwqrdJ9DTHll_M3fxAu_qKmcf66Odvt62turHgBRVGqW31ebJWIKsnrM3b-ys2B4ellJII"},"id":"schema_157"},"schema_158":{"kind":"json-schema","data":{"type":"string","example":"<binary file contents>","format":"binary","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Raw bytes of the underlying document. The actual MIME type is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"returned in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" response header. Typical values:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/pdf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for TransUnion screening reports,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpeg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for ID verification artifacts, and the original"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"upload MIME type for applicant-uploaded documents (which can"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"be any of png, jpeg, pdf, heic, webp, etc.)."},"children":[]}]}]}]},"id":"schema_158"},"schema_159":{"kind":"json-schema","data":{"type":"object","properties":{"Content-Type":{"type":"string","example":"application/pdf","description":"MIME type of the underlying document"},"Content-Disposition":{"type":"string","example":"inline; filename=\"transunion_credit_report.pdf\"","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Either "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"inline; filename=\"...\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"attachment; filename=\"...\""},"children":[]}]}]}]},"Content-Length":{"type":"integer","example":1024}}},"id":"schema_159"}},"exampleStore":{"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/400/content/application~1json/example"},"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/401/content/application~1json/example"},"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/unit-not-found":{"value":{"error":"Unit not found"},"key":"unit-not-found","summary":"unit-not-found","id":"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/unit-not-found"},"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/no-data":{"value":{"error":"No leasing performance data found"},"key":"no-data","summary":"no-data","id":"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/404/content/application~1json/examples/no-data"},"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/429/content/application~1json/example"},"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1reporting~1leasing-performance~1units~1{unitId}/get/responses/500/content/application~1json/example"},"paths/~1reporting~1prospects/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1reporting~1prospects/get/responses/400/content/application~1json/example"},"paths/~1reporting~1prospects/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1reporting~1prospects/get/responses/401/content/application~1json/example"},"paths/~1reporting~1prospects/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1reporting~1prospects/get/responses/403/content/application~1json/example"},"paths/~1reporting~1prospects/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1reporting~1prospects/get/responses/429/content/application~1json/example"},"paths/~1reporting~1prospects/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1reporting~1prospects/get/responses/500/content/application~1json/example"},"paths/~1reporting~1units/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1reporting~1units/get/responses/400/content/application~1json/example"},"paths/~1reporting~1units/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1reporting~1units/get/responses/401/content/application~1json/example"},"paths/~1reporting~1units/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1reporting~1units/get/responses/403/content/application~1json/example"},"paths/~1reporting~1units/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1reporting~1units/get/responses/429/content/application~1json/example"},"paths/~1reporting~1units/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1reporting~1units/get/responses/500/content/application~1json/example"},"paths/~1reporting~1showings/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1reporting~1showings/get/responses/400/content/application~1json/example"},"paths/~1reporting~1showings/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1reporting~1showings/get/responses/401/content/application~1json/example"},"paths/~1reporting~1showings/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1reporting~1showings/get/responses/403/content/application~1json/example"},"paths/~1reporting~1showings/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1reporting~1showings/get/responses/429/content/application~1json/example"},"paths/~1reporting~1showings/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1reporting~1showings/get/responses/500/content/application~1json/example"},"paths/~1reporting~1prescreening/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1reporting~1prescreening/get/responses/400/content/application~1json/example"},"paths/~1reporting~1prescreening/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1reporting~1prescreening/get/responses/401/content/application~1json/example"},"paths/~1reporting~1prescreening/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1reporting~1prescreening/get/responses/403/content/application~1json/example"},"paths/~1reporting~1prescreening/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1reporting~1prescreening/get/responses/429/content/application~1json/example"},"paths/~1reporting~1prescreening/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1reporting~1prescreening/get/responses/500/content/application~1json/example"},"paths/~1reporting~1calls/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1reporting~1calls/get/responses/400/content/application~1json/example"},"paths/~1reporting~1calls/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1reporting~1calls/get/responses/401/content/application~1json/example"},"paths/~1reporting~1calls/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1reporting~1calls/get/responses/403/content/application~1json/example"},"paths/~1reporting~1calls/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1reporting~1calls/get/responses/429/content/application~1json/example"},"paths/~1reporting~1calls/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1reporting~1calls/get/responses/500/content/application~1json/example"},"paths/~1reporting~1marketing-sources/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1reporting~1marketing-sources/get/responses/400/content/application~1json/example"},"paths/~1reporting~1marketing-sources/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1reporting~1marketing-sources/get/responses/401/content/application~1json/example"},"paths/~1reporting~1marketing-sources/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1reporting~1marketing-sources/get/responses/403/content/application~1json/example"},"paths/~1reporting~1marketing-sources/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1reporting~1marketing-sources/get/responses/429/content/application~1json/example"},"paths/~1reporting~1marketing-sources/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1reporting~1marketing-sources/get/responses/500/content/application~1json/example"},"paths/~1reporting~1applications/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1reporting~1applications/get/responses/400/content/application~1json/example"},"paths/~1reporting~1applications/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1reporting~1applications/get/responses/401/content/application~1json/example"},"paths/~1reporting~1applications/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1reporting~1applications/get/responses/403/content/application~1json/example"},"paths/~1reporting~1applications/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1reporting~1applications/get/responses/429/content/application~1json/example"},"paths/~1reporting~1applications/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1reporting~1applications/get/responses/500/content/application~1json/example"},"paths/~1reporting~1agent-performance/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1reporting~1agent-performance/get/responses/400/content/application~1json/example"},"paths/~1reporting~1agent-performance/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1reporting~1agent-performance/get/responses/401/content/application~1json/example"},"paths/~1reporting~1agent-performance/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1reporting~1agent-performance/get/responses/403/content/application~1json/example"},"paths/~1reporting~1agent-performance/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1reporting~1agent-performance/get/responses/429/content/application~1json/example"},"paths/~1reporting~1agent-performance/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1reporting~1agent-performance/get/responses/500/content/application~1json/example"},"paths/~1lockboxes/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1lockboxes/get/responses/400/content/application~1json/example"},"paths/~1lockboxes/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1lockboxes/get/responses/401/content/application~1json/example"},"paths/~1lockboxes/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1lockboxes/get/responses/429/content/application~1json/example"},"paths/~1lockboxes/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1lockboxes/get/responses/500/content/application~1json/example"},"paths/~1lockboxes/post/requestBody/content/application~1json/example":{"value":{"lockbox_type":"Sentrilock","serial_numbers":["1234567","7654321"],"account_id":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"id":"paths/~1lockboxes/post/requestBody/content/application~1json/example"},"paths/~1lockboxes/post/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1lockboxes/post/responses/400/content/application~1json/example"},"paths/~1lockboxes/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1lockboxes/post/responses/401/content/application~1json/example"},"paths/~1lockboxes/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1lockboxes/post/responses/429/content/application~1json/example"},"paths/~1lockboxes/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1lockboxes/post/responses/500/content/application~1json/example"},"paths/~1lockboxes~1transfer_accounts/post/requestBody/content/application~1json/example":{"value":{"lockbox_ids":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001"],"new_account_id":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"id":"paths/~1lockboxes~1transfer_accounts/post/requestBody/content/application~1json/example"},"paths/~1lockboxes~1transfer_accounts/post/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1lockboxes~1transfer_accounts/post/responses/400/content/application~1json/example"},"paths/~1lockboxes~1transfer_accounts/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1lockboxes~1transfer_accounts/post/responses/401/content/application~1json/example"},"paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-account":{"value":{"error":"Unauthorized to transfer lockboxes to this account"},"key":"unauthorized-account","summary":"unauthorized-account","id":"paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-account"},"paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-lockboxes":{"value":{"error":"Unauthorized to transfer these lockboxes."},"key":"unauthorized-lockboxes","summary":"unauthorized-lockboxes","id":"paths/~1lockboxes~1transfer_accounts/post/responses/403/content/application~1json/examples/unauthorized-lockboxes"},"paths/~1lockboxes~1transfer_accounts/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1lockboxes~1transfer_accounts/post/responses/429/content/application~1json/example"},"paths/~1lockboxes~1transfer_accounts/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1lockboxes~1transfer_accounts/post/responses/500/content/application~1json/example"},"paths/~1lockboxes~1generate_code/post/requestBody/content/application~1json/example":{"value":{"lockbox_id":"123e4567-e89b-12d3-a456-426614174000","date":"2024-03-15","created_for":"John Doe","code_type":"ACCESS"},"id":"paths/~1lockboxes~1generate_code/post/requestBody/content/application~1json/example"},"paths/~1lockboxes~1generate_code/post/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1lockboxes~1generate_code/post/responses/400/content/application~1json/example"},"paths/~1lockboxes~1generate_code/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1lockboxes~1generate_code/post/responses/401/content/application~1json/example"},"paths/~1lockboxes~1generate_code/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1lockboxes~1generate_code/post/responses/429/content/application~1json/example"},"paths/~1lockboxes~1generate_code/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1lockboxes~1generate_code/post/responses/500/content/application~1json/example"},"paths/~1lockbox_events/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1lockbox_events/get/responses/400/content/application~1json/example"},"paths/~1lockbox_events/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1lockbox_events/get/responses/401/content/application~1json/example"},"paths/~1lockbox_events/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1lockbox_events/get/responses/429/content/application~1json/example"},"paths/~1lockbox_events/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1lockbox_events/get/responses/500/content/application~1json/example"},"paths/~1lockbox_events/post/requestBody/content/application~1json/example":{"value":{"events":[{"lockbox_id":"123e4567-e89b-12d3-a456-426614174000","event_type":"Install","unit_id":12345},{"lockbox_id":"123e4567-e89b-12d3-a456-426614174001","event_type":"Uninstall","unit_id":67890}]},"id":"paths/~1lockbox_events/post/requestBody/content/application~1json/example"},"paths/~1lockbox_events/post/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1lockbox_events/post/responses/400/content/application~1json/example"},"paths/~1lockbox_events/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1lockbox_events/post/responses/401/content/application~1json/example"},"paths/~1lockbox_events/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1lockbox_events/post/responses/429/content/application~1json/example"},"paths/~1lockbox_events/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1lockbox_events/post/responses/500/content/application~1json/example"},"paths/~1lockbox_installations/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1lockbox_installations/get/responses/400/content/application~1json/example"},"paths/~1lockbox_installations/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1lockbox_installations/get/responses/401/content/application~1json/example"},"paths/~1lockbox_installations/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1lockbox_installations/get/responses/429/content/application~1json/example"},"paths/~1lockbox_installations/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1lockbox_installations/get/responses/500/content/application~1json/example"},"paths/~1units/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1units/get/responses/400/content/application~1json/example"},"paths/~1units/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1units/get/responses/401/content/application~1json/example"},"paths/~1units/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1units/get/responses/429/content/application~1json/example"},"paths/~1units/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1units/get/responses/500/content/application~1json/example"},"paths/~1units/post/responses/400/content/application~1json/examples/validation-error":{"value":{"error":"Invalid request body","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"address"},"message":"should have required property 'address'"}]},"key":"validation-error","summary":"validation-error","id":"paths/~1units/post/responses/400/content/application~1json/examples/validation-error"},"paths/~1units/post/responses/400/content/application~1json/examples/foreign-key-error":{"value":{"error":"Invalid foreign IDs","details":[{"field":"account_id","id":"invalid-uuid","message":"Account with ID invalid-uuid does not exist"}]},"key":"foreign-key-error","summary":"foreign-key-error","id":"paths/~1units/post/responses/400/content/application~1json/examples/foreign-key-error"},"paths/~1units/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1units/post/responses/401/content/application~1json/example"},"paths/~1units/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1units/post/responses/429/content/application~1json/example"},"paths/~1units/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1units/post/responses/500/content/application~1json/example"},"paths/~1market-tool~1comps/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1market-tool~1comps/get/responses/400/content/application~1json/example"},"paths/~1market-tool~1comps/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1market-tool~1comps/get/responses/401/content/application~1json/example"},"paths/~1market-tool~1comps/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1market-tool~1comps/get/responses/403/content/application~1json/example"},"paths/~1market-tool~1comps/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1market-tool~1comps/get/responses/429/content/application~1json/example"},"paths/~1market-tool~1comps/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1market-tool~1comps/get/responses/500/content/application~1json/example"},"paths/~1prospects/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1prospects/get/responses/400/content/application~1json/example"},"paths/~1prospects/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1prospects/get/responses/401/content/application~1json/example"},"paths/~1prospects/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1prospects/get/responses/429/content/application~1json/example"},"paths/~1prospects/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1prospects/get/responses/500/content/application~1json/example"},"paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitId":{"value":{"source":"Zillow","name":"Jane Doe","email":"jane@example.com","phone":"+12155551234","unit_id":12345,"notes":"Came in via partner site","prospect_type":"Self"},"key":"byUnitId","summary":"Create a prospect against a known unit ID","id":"paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitId"},"paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitAddress":{"value":{"source":"Zillow","name":"Jane Doe","email":"jane@example.com","phone":"+12155551234","account_id":"4b88ff32-8ba0-4bbf-8e60-c789909ac176","unit_address":"2516 Cecil Ave, Philadelphia PA"},"key":"byUnitAddress","summary":"Create a prospect by fuzzy-matching a unit address","id":"paths/~1prospects/post/requestBody/content/application~1json/examples/byUnitAddress"},"paths/~1prospects/post/requestBody/content/application~1json/examples/skipSmsAndDisableAi":{"value":{"source":"Custom Integration","name":"Jane Doe","email":"jane@example.com","phone":"+12155551234","unit_id":12345,"ai_enabled":false,"sms":{"send":false}},"key":"skipSmsAndDisableAi","summary":"Create a prospect without sending an SMS and with AI disabled","id":"paths/~1prospects/post/requestBody/content/application~1json/examples/skipSmsAndDisableAi"},"paths/~1prospects/post/requestBody/content/application~1json/examples/byFloorplan":{"value":{"source":"Company Website","name":"Jane Doe","email":"jane@example.com","phone":"+12155551234","floorplan_id":"6eac2077-a67e-4888-846b-6ff15015c855"},"key":"byFloorplan","summary":"Create a floorplan-level prospect","id":"paths/~1prospects/post/requestBody/content/application~1json/examples/byFloorplan"},"paths/~1prospects/post/requestBody/content/application~1json/examples/byBuilding":{"value":{"source":"Company Website","name":"Jane Doe","email":"jane@example.com","phone":"+12155551234","multifamily_property_id":"6eac2077-a67e-4888-846b-6ff15015c855"},"key":"byBuilding","summary":"Create a building-level prospect","id":"paths/~1prospects/post/requestBody/content/application~1json/examples/byBuilding"},"paths/~1prospects/post/requestBody/content/application~1json/examples/byAccount":{"value":{"source":"Custom Integration","name":"Jane Doe","email":"jane@example.com","phone":"+12155551234","account_id":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"key":"byAccount","summary":"Create an account-level prospect with no property","id":"paths/~1prospects/post/requestBody/content/application~1json/examples/byAccount"},"paths/~1prospects/post/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1prospects/post/responses/400/content/application~1json/example"},"paths/~1prospects/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1prospects/post/responses/401/content/application~1json/example"},"paths/~1prospects/post/responses/404/content/application~1json/examples/unit-id-not-found":{"value":{"error":"Unit 12345 not found"},"key":"unit-id-not-found","summary":"unit-id-not-found","id":"paths/~1prospects/post/responses/404/content/application~1json/examples/unit-id-not-found"},"paths/~1prospects/post/responses/404/content/application~1json/examples/no-fuzzy-match":{"value":{"error":"No unit matched the address \"2516 Cecil Ave, Philadelphia PA\""},"key":"no-fuzzy-match","summary":"no-fuzzy-match","id":"paths/~1prospects/post/responses/404/content/application~1json/examples/no-fuzzy-match"},"paths/~1prospects/post/responses/404/content/application~1json/examples/floorplan-not-found":{"value":{"error":"Floorplan 6eac2077-a67e-4888-846b-6ff15015c855 not found"},"key":"floorplan-not-found","summary":"floorplan-not-found","id":"paths/~1prospects/post/responses/404/content/application~1json/examples/floorplan-not-found"},"paths/~1prospects/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1prospects/post/responses/429/content/application~1json/example"},"paths/~1prospects/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1prospects/post/responses/500/content/application~1json/example"},"paths/ProspectsEvents/post/requestBody/content/application~1json/example":{"value":{"type":"UPDATE","table":"prospects","record":{"id":"123e4567-e89b-12d3-a456-426614174000","created_at":"2023-01-15T12:00:00Z","name":"John Doe","phone":"+15551234567","email":"john.doe@example.com","unit_of_interest":"123","status":"Not Interested","source":"Zillow","notes":"Interested in 2BR units","prescreened":true,"voucher_holder":false,"normalized_phone_number_generated":"+15551234567","license_number":"ABC123","prospect_type":"Agent","updated_at":"2023-01-16T14:30:00Z","assigned_to_user_ids":["123e4567-e89b-12d3-a456-426614174001"]},"old_record":{"id":"123e4567-e89b-12d3-a456-426614174000","created_at":"2023-01-15T12:00:00Z","name":"John Doe","phone":"+15551234567","email":"john.doe@example.com","unit_of_interest":"123","status":"Showing SCheduled","source":"RentEngine","notes":"Interested in 2BR units","prescreened":false,"voucher_holder":false,"normalized_phone_number_generated":"+15551234567","license_number":"null","updated_at":"2023-01-15T12:00:00Z","prospect_type":"Self","assigned_to_user_ids":[]}},"id":"paths/ProspectsEvents/post/requestBody/content/application~1json/example"},"paths/~1multifamily_properties/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1multifamily_properties/get/responses/400/content/application~1json/example"},"paths/~1multifamily_properties/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1multifamily_properties/get/responses/401/content/application~1json/example"},"paths/~1multifamily_properties/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1multifamily_properties/get/responses/429/content/application~1json/example"},"paths/~1multifamily_properties/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1multifamily_properties/get/responses/500/content/application~1json/example"},"paths/~1multifamily_properties/post/requestBody/content/application~1json/example":{"value":{"community_name":"Sunset Towers","building_count":3,"unit_count":75,"description":"Luxury apartment community with amenities","structure_type":"Mid Rise","year_built":2008,"photos":[{"path":"https://example.com/images/sunset-towers.jpg","hidden":false}],"text_address":"123 Main St, San Francisco, CA 94111","account_id":"4b88ff32-8ba0-4bbf-8e60-c789909ac176"},"id":"paths/~1multifamily_properties/post/requestBody/content/application~1json/example"},"paths/~1multifamily_properties/post/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1multifamily_properties/post/responses/400/content/application~1json/example"},"paths/~1multifamily_properties/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1multifamily_properties/post/responses/401/content/application~1json/example"},"paths/~1multifamily_properties/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1multifamily_properties/post/responses/429/content/application~1json/example"},"paths/~1multifamily_properties/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1multifamily_properties/post/responses/500/content/application~1json/example"},"paths/~1floorplans/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1floorplans/get/responses/400/content/application~1json/example"},"paths/~1floorplans/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1floorplans/get/responses/401/content/application~1json/example"},"paths/~1floorplans/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1floorplans/get/responses/429/content/application~1json/example"},"paths/~1floorplans/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1floorplans/get/responses/500/content/application~1json/example"},"paths/~1floorplans/post/requestBody/content/application~1json/example":{"value":{"multifamily_property_id":"123e4567-e89b-12d3-a456-426614174000","name":"The Willow","bedroom_count":2,"bathroom_count":2.5,"unit_count":15,"units_available":3,"market_rent":1850,"min_sqft":950,"max_sqft":1100,"photos":[{"path":"https://example.com/images/willow-floorplan.jpg","hidden":false}],"description":"Spacious 2-bedroom layout with modern finishes"},"id":"paths/~1floorplans/post/requestBody/content/application~1json/example"},"paths/~1floorplans/post/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1floorplans/post/responses/400/content/application~1json/example"},"paths/~1floorplans/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1floorplans/post/responses/401/content/application~1json/example"},"paths/~1floorplans/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1floorplans/post/responses/429/content/application~1json/example"},"paths/~1floorplans/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1floorplans/post/responses/500/content/application~1json/example"},"paths/~1leasing_events/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1leasing_events/get/responses/400/content/application~1json/example"},"paths/~1leasing_events/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1leasing_events/get/responses/401/content/application~1json/example"},"paths/~1leasing_events/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1leasing_events/get/responses/429/content/application~1json/example"},"paths/~1leasing_events/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1leasing_events/get/responses/500/content/application~1json/example"},"paths/~1leasing_events/get/responses/503/content/application~1json/example":{"value":{"error":"Service temporarily unavailable. Please try again later."},"id":"paths/~1leasing_events/get/responses/503/content/application~1json/example"},"paths/~1leasing_events/post/requestBody/content/application~1json/examples/assignToUser":{"value":{"events":[{"prospect_id":12345,"event_type":"Assign to User","source":"Other","notes":"Assigning to Alice","context":{"assignedToUserIds":["1259ef6e-61ee-42cb-b6bd-7fe547569d7c"],"applyActionInBulk":false}}]},"key":"assignToUser","summary":"Assign a user to a prospect","id":"paths/~1leasing_events/post/requestBody/content/application~1json/examples/assignToUser"},"paths/~1leasing_events/post/requestBody/content/application~1json/examples/applicationReceived":{"value":{"events":[{"prospect_id":12345,"event_type":"Application Received","source":"Automation","notes":"Application submitted via partner portal","context":{"externalApplicationId":"app_abc_123","externalSystem":"Acme PMS","applicantName":"Jane Doe","applicantEmail":"jane@example.com","applicantPhone":"+1 415 555 0100","applicationUrl":"https://acme-pms.example.com/applications/app_abc_123","applicationSubmittedAt":"2026-04-30T15:04:05Z"}}]},"key":"applicationReceived","summary":"Log an application received from an external system","id":"paths/~1leasing_events/post/requestBody/content/application~1json/examples/applicationReceived"},"paths/~1leasing_events/post/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1leasing_events/post/responses/400/content/application~1json/example"},"paths/~1leasing_events/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1leasing_events/post/responses/401/content/application~1json/example"},"paths/~1leasing_events/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1leasing_events/post/responses/429/content/application~1json/example"},"paths/~1leasing_events/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1leasing_events/post/responses/500/content/application~1json/example"},"paths/~1calls/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1calls/get/responses/400/content/application~1json/example"},"paths/~1calls/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1calls/get/responses/401/content/application~1json/example"},"paths/~1calls/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1calls/get/responses/403/content/application~1json/example"},"paths/~1calls/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1calls/get/responses/429/content/application~1json/example"},"paths/~1calls/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1calls/get/responses/500/content/application~1json/example"},"paths/~1calls/get/responses/503/content/application~1json/example":{"value":{"error":"Service temporarily unavailable. Please try again later."},"id":"paths/~1calls/get/responses/503/content/application~1json/example"},"paths/~1messages/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1messages/get/responses/400/content/application~1json/example"},"paths/~1messages/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1messages/get/responses/401/content/application~1json/example"},"paths/~1messages/get/responses/403/content/application~1json/example":{"value":{"error":"One or more account_ids are not accessible to this token"},"id":"paths/~1messages/get/responses/403/content/application~1json/example"},"paths/~1messages/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1messages/get/responses/429/content/application~1json/example"},"paths/~1messages/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1messages/get/responses/500/content/application~1json/example"},"paths/~1messages/get/responses/503/content/application~1json/example":{"value":{"error":"Service temporarily unavailable. Please try again later."},"id":"paths/~1messages/get/responses/503/content/application~1json/example"},"paths/~1subteams/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1subteams/get/responses/400/content/application~1json/example"},"paths/~1subteams/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1subteams/get/responses/401/content/application~1json/example"},"paths/~1subteams/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1subteams/get/responses/429/content/application~1json/example"},"paths/~1subteams/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1subteams/get/responses/500/content/application~1json/example"},"paths/~1prescreening_templates/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1prescreening_templates/get/responses/400/content/application~1json/example"},"paths/~1prescreening_templates/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1prescreening_templates/get/responses/401/content/application~1json/example"},"paths/~1prescreening_templates/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1prescreening_templates/get/responses/429/content/application~1json/example"},"paths/~1prescreening_templates/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1prescreening_templates/get/responses/500/content/application~1json/example"},"paths/~1showings~1availability/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1showings~1availability/get/responses/400/content/application~1json/example"},"paths/~1showings~1availability/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1showings~1availability/get/responses/401/content/application~1json/example"},"paths/~1showings~1availability/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1showings~1availability/get/responses/429/content/application~1json/example"},"paths/~1showings~1availability/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1showings~1availability/get/responses/500/content/application~1json/example"},"paths/~1showings~1create/post/requestBody/content/application~1json/example":{"value":{"unitId":12345,"plannedForTime":"2024-03-15T10:00:00Z","prospectData":{"firstName":"John","lastName":"Doe","email":"john.doe@example.com","phone":"5551234567","creditScore":"700+","income":"$5000-$6000/month","questionAnswers":[{"question":"Do you have a housing voucher (e.g. Section 8)?","fixedQuestionType":"housing_voucher","type":"yes_no","answer":false},{"question":"Have you been convicted of a felony?","type":"yes_no","answer":false}],"prospectType":"Self","voucherHolder":false},"desiredShowingMethod":"Accompanied"},"id":"paths/~1showings~1create/post/requestBody/content/application~1json/example"},"paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-on-hold":{"value":{"message":"Unit is on hold. Cannot create showing."},"key":"unit-on-hold","summary":"unit-on-hold","id":"paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-on-hold"},"paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-time-unavailable":{"value":{"message":"Showing time is no longer available"},"key":"showing-time-unavailable","summary":"showing-time-unavailable","id":"paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-time-unavailable"},"paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-method-unavailable":{"value":{"message":"Showing method no longer available for desired slot"},"key":"showing-method-unavailable","summary":"showing-method-unavailable","id":"paths/~1showings~1create/post/responses/400/content/application~1json/examples/showing-method-unavailable"},"paths/~1showings~1create/post/responses/400/content/application~1json/examples/past-showing-time":{"value":{"message":"Cannot schedule a showing in the past"},"key":"past-showing-time","summary":"past-showing-time","id":"paths/~1showings~1create/post/responses/400/content/application~1json/examples/past-showing-time"},"paths/~1showings~1create/post/responses/400/content/application~1json/examples/invalid-agent-token":{"value":{"message":"Agent token is invalid"},"key":"invalid-agent-token","summary":"invalid-agent-token","id":"paths/~1showings~1create/post/responses/400/content/application~1json/examples/invalid-agent-token"},"paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-unknown":{"value":{"message":"Cannot schedule a showing for an unknown unit"},"key":"unit-unknown","summary":"unit-unknown","id":"paths/~1showings~1create/post/responses/400/content/application~1json/examples/unit-unknown"},"paths/~1showings~1create/post/responses/400/content/application~1json/examples/no-showing-time":{"value":{"message":"No showing time provided"},"key":"no-showing-time","summary":"no-showing-time","id":"paths/~1showings~1create/post/responses/400/content/application~1json/examples/no-showing-time"},"paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-template-not-found":{"value":{"message":"Showing prescreen template not found"},"key":"prescreen-template-not-found","summary":"prescreen-template-not-found","id":"paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-template-not-found"},"paths/~1showings~1create/post/responses/400/content/application~1json/examples/prospect-blocked":{"value":{"message":"Showings are no longer available at this unit."},"key":"prospect-blocked","summary":"prospect-blocked","id":"paths/~1showings~1create/post/responses/400/content/application~1json/examples/prospect-blocked"},"paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-rejection":{"value":{"message":"Prescreening rejected: Self Reported Income"},"key":"prescreen-rejection","summary":"prescreen-rejection","id":"paths/~1showings~1create/post/responses/400/content/application~1json/examples/prescreen-rejection"},"paths/~1showings~1create/post/responses/500/content/application~1json/examples/generic-error":{"value":{"message":"Failed to create showing."},"key":"generic-error","summary":"generic-error","id":"paths/~1showings~1create/post/responses/500/content/application~1json/examples/generic-error"},"paths/~1showings~1create/post/responses/500/content/application~1json/examples/coordinator-error":{"value":{"message":"Failed to create showing"},"key":"coordinator-error","summary":"coordinator-error","id":"paths/~1showings~1create/post/responses/500/content/application~1json/examples/coordinator-error"},"paths/~1marketing~1listings~1{accountId}/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1marketing~1listings~1{accountId}/get/responses/500/content/application~1json/example"},"paths/~1rental_application_groups/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1rental_application_groups/get/responses/400/content/application~1json/example"},"paths/~1rental_application_groups/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1rental_application_groups/get/responses/401/content/application~1json/example"},"paths/~1rental_application_groups/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1rental_application_groups/get/responses/429/content/application~1json/example"},"paths/~1rental_application_groups/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1rental_application_groups/get/responses/500/content/application~1json/example"},"paths/~1rental_application_groups~1{id}/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1rental_application_groups~1{id}/get/responses/400/content/application~1json/example"},"paths/~1rental_application_groups~1{id}/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1rental_application_groups~1{id}/get/responses/401/content/application~1json/example"},"paths/~1rental_application_groups~1{id}/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1rental_application_groups~1{id}/get/responses/429/content/application~1json/example"},"paths/~1rental_application_groups~1{id}/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1rental_application_groups~1{id}/get/responses/500/content/application~1json/example"},"paths/~1rental_applications~1{id}/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1rental_applications~1{id}/get/responses/400/content/application~1json/example"},"paths/~1rental_applications~1{id}/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1rental_applications~1{id}/get/responses/401/content/application~1json/example"},"paths/~1rental_applications~1{id}/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1rental_applications~1{id}/get/responses/429/content/application~1json/example"},"paths/~1rental_applications~1{id}/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1rental_applications~1{id}/get/responses/500/content/application~1json/example"},"paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/400/content/application~1json/example"},"paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/401/content/application~1json/example"},"paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/429/content/application~1json/example"},"paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1rental_applications~1{id}~1documents~1{documentId}/get/responses/500/content/application~1json/example"},"paths/~1rental_applications~1{id}~1income/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1rental_applications~1{id}~1income/get/responses/400/content/application~1json/example"},"paths/~1rental_applications~1{id}~1income/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1rental_applications~1{id}~1income/get/responses/401/content/application~1json/example"},"paths/~1rental_applications~1{id}~1income/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1rental_applications~1{id}~1income/get/responses/429/content/application~1json/example"},"paths/~1rental_applications~1{id}~1income/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1rental_applications~1{id}~1income/get/responses/500/content/application~1json/example"},"paths/~1notes/post/requestBody/content/application~1json/examples/minimal":{"value":{"prospect_id":12345,"note":"Spoke with prospect — interested in unit 5B"},"key":"minimal","summary":"Note","id":"paths/~1notes/post/requestBody/content/application~1json/examples/minimal"},"paths/~1notes/post/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1notes/post/responses/400/content/application~1json/example"},"paths/~1notes/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1notes/post/responses/401/content/application~1json/example"},"paths/~1notes/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1notes/post/responses/429/content/application~1json/example"},"paths/~1notes/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1notes/post/responses/500/content/application~1json/example"},"paths/~1notes/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1notes/get/responses/400/content/application~1json/example"},"paths/~1notes/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1notes/get/responses/401/content/application~1json/example"},"paths/~1notes/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1notes/get/responses/429/content/application~1json/example"},"paths/~1notes/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1notes/get/responses/500/content/application~1json/example"},"paths/~1notes/get/responses/503/content/application~1json/example":{"value":{"error":"Service temporarily unavailable. Please try again later."},"id":"paths/~1notes/get/responses/503/content/application~1json/example"},"paths/~1followups/post/requestBody/content/application~1json/examples/noteOnly":{"value":{"prospect_id":12345,"note":"Touch base next week about renewal"},"key":"noteOnly","summary":"Follow-up with no reminder","id":"paths/~1followups/post/requestBody/content/application~1json/examples/noteOnly"},"paths/~1followups/post/requestBody/content/application~1json/examples/withReminder":{"value":{"prospect_id":12345,"note":"Call about rent application","remind_at":"2026-06-01T17:00:00Z","channel":"PHONE"},"key":"withReminder","summary":"Follow-up with scheduled reminder","id":"paths/~1followups/post/requestBody/content/application~1json/examples/withReminder"},"paths/~1followups/post/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1followups/post/responses/400/content/application~1json/example"},"paths/~1followups/post/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1followups/post/responses/401/content/application~1json/example"},"paths/~1followups/post/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1followups/post/responses/429/content/application~1json/example"},"paths/~1followups/post/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1followups/post/responses/500/content/application~1json/example"},"paths/~1followups/get/responses/400/content/application~1json/example":{"value":{"error":"Invalid request parameters","details":[{"keyword":"required","dataPath":"","schemaPath":"#/required","params":{"missingProperty":"account_id"},"message":"should have required property 'account_id'"}]},"id":"paths/~1followups/get/responses/400/content/application~1json/example"},"paths/~1followups/get/responses/401/content/application~1json/example":{"value":{"error":"Unauthorized - Missing or invalid Authorization header","details":[{"message":"Bearer token is required"}]},"id":"paths/~1followups/get/responses/401/content/application~1json/example"},"paths/~1followups/get/responses/429/content/application~1json/example":{"value":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again later.","retryAfter":45},"id":"paths/~1followups/get/responses/429/content/application~1json/example"},"paths/~1followups/get/responses/500/content/application~1json/example":{"value":{"error":"Internal server error","details":[{"message":"An unexpected error occurred"}]},"id":"paths/~1followups/get/responses/500/content/application~1json/example"},"paths/~1followups/get/responses/503/content/application~1json/example":{"value":{"error":"Service temporarily unavailable. Please try again later."},"id":"paths/~1followups/get/responses/503/content/application~1json/example"}},"securitySchemeStore":{"BearerAuth":{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT Bearer token authentication. Use format 'Bearer {token}' in the Authorization header."},"children":[]}]}]}]},"ApiKeyAuth":{"id":"ApiKeyAuth","type":"apiKey","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key authentication for webhooks. The key is defined when setting up the webhook in the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://app.rentengine.io/developer/portal"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"developer portal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is delivered in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every webhook request."},"children":[]}]}]}],"in":"header","paramName":"X-API-Key"}},"servers":[{"url":"/_mock/openapi/openapi","isMockServer":true,"description":"Mock server"},{"url":"https://app.rentengine.io/api/public/v1","description":"Production environment"},{"url":"https://staging-app.rentengine.io/api/public/v1","description":"Staging environment"}]},"options":{"hideSidebar":true,"mockServer":{"url":"/_mock/openapi/openapi","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/openapi/openapi.json?download"},{"url":"/_bundle/openapi/openapi.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"RentEngine Public API","description":"Integrate your systems anywhere with RentEngine.\n\n## Authorization\n\nThis API uses JWT Bearer token authentication. Follow these steps to obtain and use your API tokens:\n\n### Obtaining API Tokens\n\n1. Log in to your RentEngine [developer portal](https://app.rentengine.io/developer/portal)\n2. In the top corner, click the \"Create New API Key\" button\n3. Provide a name for your token (e.g., \"Integration Name\")\n4. Click Create\n5. Copy the token to your clipboard and save it securely as it will not be displayed again\n\n**Important Security Notice:** Your token will only be displayed ONCE at creation time. Make sure to copy it and store it securely. For security reasons, we cannot display the token again after this point.\n\n### Using API Tokens\n\nInclude your token in all API requests as a Bearer token in the Authorization header:\n\n```\nAuthorization: Bearer your_token_here\n```\n\n### Token Security Best Practices\n\n- Store tokens securely in environment variables or a secure vault\n- Never hardcode tokens in your application code\n- Do not share tokens in public repositories or client-side code\n- Use separate tokens for different integrations or environments\n\n### Token Permissions\n\nEach token generated by a user will have the full permissions of the user that created it across all accounts associated with that user.\nActions will be logged in the name of that user & token.\n\n### Invalidating Tokens\n\nTokens will not expire. (Well not for 100 years at least). If a token is compromised or no longer needed:\n\n1. Log in to your RentEngine [developer portal](https://app.rentengine.io/developer/portal)\n2. Find the token you wish to invalidate in the table in the API Keys section\n3. Click the \"Revoke Token\" icon that looks like a trash can\n\nOnce revoked, a token cannot be restored. You'll need to create a new token if needed.\n\n### Pagination\n\nMost list endpoints in the RentEngine API support pagination to efficiently handle large datasets. Paginated endpoints accept the same query parameters, but there are **two response formats** in use. Check the endpoint's response schema to determine which format it returns. A few endpoints return a fixed, bounded result set instead of paging (e.g. `GET /market-tool/comps` returns up to 200 most recently active comparables) — these do not accept pagination parameters.\n\n**Pagination Parameters (all list endpoints)**\n\n- `limit` - Controls how many items to return per page (default: 50, max: 100)\n- `page_number` - Specifies which page to retrieve (0-indexed, default: 0)\n\nExample request with pagination:\n```\nGET /api/public/v1/lockboxes?limit=25&page_number=1\n```\n\nThis would return the second page of results with 25 items per page.\n\n#### Response Format A — Bare Array (legacy)\n\nMost list endpoints return a bare JSON array containing only the requested page of items. The response does **not** include the total count or an explicit end-of-data marker.\n\nEndpoints using this format include:\n- `/lockboxes`\n- `/lockbox_events`\n- `/lockbox_installations`\n- `/units`\n- `/prospects`\n- `/subteams`\n- `/prescreening_templates`\n- `/rental_applications`\n\nExample response:\n```json\n[\n  { \"id\": \"...\", \"...\": \"...\" },\n  { \"id\": \"...\", \"...\": \"...\" }\n]\n```\n\nTo iterate, increment `page_number` until the response array is shorter than the requested `limit` — that indicates the last page.\n\n#### Response Format B — Envelope with Page Metadata\n\nNewer list endpoints wrap the data in an envelope that includes explicit pagination metadata, so you don't have to infer the end of the dataset from the array length.\n\nEndpoints using this format include:\n- `/rental_application_groups`\n\nExample response:\n```json\n{\n  \"data\": [\n    { \"id\": \"...\", \"...\": \"...\" },\n    { \"id\": \"...\", \"...\": \"...\" }\n  ],\n  \"page\": {\n    \"limit\": 50,\n    \"page_number\": 0,\n    \"has_more\": true,\n    \"next_page_number\": 1\n  }\n}\n```\n\nFields in the `page` object:\n- `limit` - The `limit` value used for this response (echoes the request)\n- `page_number` - The 0-indexed page returned (echoes the request)\n- `has_more` - `true` if additional pages are available, `false` on the final page\n- `next_page_number` - The page number to request next, or `null` when `has_more` is `false`\n\nTo iterate, follow `next_page_number` until it is `null` (or `has_more` is `false`).\n\n**Performance Considerations**\n\n- Use appropriate `limit` values based on your needs. Smaller values reduce payload size but require more API calls, which can slow down performance and be subject to rate limits.\n- When filtering data, apply filters in the query parameters first to reduce the total number of items that need to be fetched.\n\n## Rate Limiting\n\nTo ensure fair usage and protect our infrastructure, all API endpoints are rate limited. Rate limits are applied per user (based on your API token).\n\n**Default Rate Limits**\n\n| Tier | Requests | Window |\n|------|----------|--------|\n| Standard | 30 | 5 seconds |\n| Strict | 10 | 5 seconds |\n| Market Tool | 40 | 24 hours |\n\nMost endpoints use the \"Standard\" tier. Endpoints that return PII or\nstream binary artifacts — `GET /rental_applications/{id}` and\n`GET /rental_applications/{id}/documents/{documentId}` — use the\n\"Strict\" tier (2 req/s).\n\nThe market comps endpoint — `GET /market-tool/comps` — uses the \"Market\nTool\" tier (40 requests per 24 hours) and is **metered: each successful\ncall incurs a $0.50 charge** to your account. The strict daily limit and\nper-call charge exist to prevent abuse of this data-intensive endpoint.\n\n**Rate Limit Headers**\n\nAll API responses include headers to help you track your rate limit status:\n\n| Header | Description |\n|--------|-------------|\n| `X-RateLimit-Limit` | Maximum requests allowed in the current window |\n| `X-RateLimit-Remaining` | Number of requests remaining in the current window |\n| `X-RateLimit-Reset` | Unix timestamp (milliseconds) when the rate limit resets |\n\n**Handling Rate Limits**\n\nWhen you exceed the rate limit, you'll receive a `429 Too Many Requests` response with a `Retry-After` header indicating how many seconds to wait before retrying.\n\n```json\n{\n  \"error\": \"Too Many Requests\",\n  \"message\": \"Rate limit exceeded. Please try again later.\",\n  \"retryAfter\": 4\n}\n```\n\n**Best Practices**\n\n- Monitor the `X-RateLimit-Remaining` header to avoid hitting limits\n- Implement exponential backoff when retrying after a 429 response\n- Cache responses when possible to reduce API calls\n- Use webhooks for real-time updates instead of polling\n\n## Webhooks\n\nRentEngine provides webhooks to notify your systems about events in real-time. This allows you to build integrations that respond immediately to changes in your RentEngine data.\n\n**Setting Up Webhooks**\n\nWebhooks can be configured through the RentEngine [developer portal](https://app.rentengine.io/developer/portal). You'll need to specify:\n\n1. The target URL where webhook events should be sent\n2. The data you want to monitor (e.g., lockboxes, units, lockbox_events)\n3. The event types you want to receive (INSERT, UPDATE, DELETE)\n4. An optional API key that will be included in webhook requests to your endpoint\n\n**Webhook Payload Structure**\n\nWebhook payloads follow this general structure:\n\n```json\n{\n  \"type\": \"INSERT|UPDATE|DELETE\",\n  \"table\": \"table_name\",\n  \"record\": { /* The current state of the record (null for DELETE) */ },\n  \"old_record\": { /* The previous state of the record (null for INSERT) */ }\n}\n```\n\nThe specific fields in `record` and `old_record` will depend on the table that triggered the event.\n\n**Event Types**\n\n- `INSERT`: Sent when a new record is created\n- `UPDATE`: Sent when an existing record is modified\n- `DELETE`: Sent when a record is deleted\n\n**Security Considerations**\n\n- Webhook endpoints should be HTTPS to ensure secure transmission of data\n- Validate the API key included in the webhook request to ensure it's coming from RentEngine\n- Implement idempotency in your webhook handlers to prevent duplicate processing\n\n**Webhook Delivery**\n\nRentEngine uses a reliable delivery system (QStash) to ensure webhooks are delivered even during temporary outages. If your endpoint is unavailable, we'll retry delivery with exponential backoff.\n"}},"baseSlug":"/openapi/openapi","routesMapping":{}}