Requests & Responses
JSON everywhere
All requests and responses are JSON. Send Content-Type: application/json on any request that has a body.
A request with a body
curl -X POST https://rentsimple.ai/api/v1/properties \
-H "Authorization: Bearer $RENTSIMPLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Elm Street Residences", "address": { ... } }'The data envelope
Successful reads and writes return the affected object(s) under a top-level data key. Timestamps are ISO-8601 (UTC).
A single object
{
"data": {
"id": 412,
"name": "Elm Street Residences",
"createdAt": "2026-06-05T14:22:08Z",
"updatedAt": "2026-06-05T14:22:08Z"
}
}A list
{
"data": [
{ "id": 1287, "name": "B2 — Two Bedroom" }
]
}Some write endpoints, such as deletes and the create-lead call, instead return a simple acknowledgement:
{ "message": "OK" }External identifiers
Every resource accepts an optional externalId: your own identifier, echoed back on reads, so you can map RentSimple records to your system without a lookup table.
External IDs are unique per company for properties, and unique per property for floorplans and units. Reusing one within its scope returns 409 Duplicate externalId.
Your identifier, echoed back
{
"data": {
"id": 412,
"name": "Elm Street Residences",
"externalId": "yardi-0042"
}
}Last updated on