API reference · Communities & institutions

Rentals estates

POST Make a community an estate

POST /rental/estate

The community keeps governance, roles, the pot and multi-signature payouts; the estate adds units. Needs MANAGE_COMMUNITY on the community, and opens the pot in the market's currency if it has none.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Example

Request body: EstateRequest · Response: GenericResponseEstateResponse

curl -X POST "https://api.bridgemoni.com/rental/estate" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "communityReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "name": "Adeola Gardens Estate",
  "marketCode": "NG-LA",
  "propertyReferences": [
    "string"
  ]
}'

Responses

StatusWhen
200Estate created successfully
409The community is already an estate, or a property belongs to another estate

POST Pay an estate charge

POST /rental/estate-charge/{reference}/pay

From your main wallet. The estate is paid into its community pot on the next settlement run.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: ChargePaymentRequest · Response: GenericResponseRentPaymentResponse

curl -X POST "https://api.bridgemoni.com/rental/estate-charge/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pay" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 0,
  "collectedBy": "string",
  "idempotencyKey": "string"
}'

Responses

StatusWhen
200Estate charge paid successfully

GET An estate

GET /rental/estate/{reference}

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseEstateResponse

curl -X GET "https://api.bridgemoni.com/rental/estate/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Estate retrieved successfully

GET Arrears by unit and age

GET /rental/estate/{reference}/arrears

Outstanding charges past their due date, grouped by unit, largest first. Needs VIEW_LEDGER.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseEstateArrearsResponse

curl -X GET "https://api.bridgemoni.com/rental/estate/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/arrears" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Arrears retrieved successfully

GET The estate's charges

GET /rental/estate/{reference}/charge

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseListUnitChargeResponse

curl -X GET "https://api.bridgemoni.com/rental/estate/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/charge" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Charges retrieved successfully

POST Define a charge on the estate's units

POST /rental/estate/{reference}/charge

Raises one obligation per unit per period from the effective date, each resolved to whoever occupies the unit. Refused until the pot has as many signatories as the community requires approvals.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: UnitChargeRequest · Response: GenericResponseUnitChargeResponse

curl -X POST "https://api.bridgemoni.com/rental/estate/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/charge" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "chargeType": "SERVICE_CHARGE",
  "name": "Quarterly service charge 2026",
  "amount": 75000.0,
  "cadence": "MONTHLY",
  "dueDay": 5,
  "effectiveFrom": "2026-09-25",
  "effectiveTo": "2026-09-25",
  "scope": "ALL_UNITS",
  "unitReferences": [
    "string"
  ],
  "prorateOnOccupancyChange": true,
  "gracePeriodDays": 14
}'

Responses

StatusWhen
200Charge defined successfully
400The charge definition is not valid
409Signatories not yet seated

POST Record cash the estate collected

POST /rental/estate/{reference}/obligation/{obligationReference}/cash

Settles the charge on the estate's word. No money moves on the platform, so the receipt is graded as counterparty-confirmed, not observed.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference
obligationReference

Example

Request body: ChargePaymentRequest · Response: GenericResponseChargeObligationResponse

curl -X POST "https://api.bridgemoni.com/rental/estate/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/obligation/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/cash" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 0,
  "collectedBy": "string",
  "idempotencyKey": "string"
}'

Responses

StatusWhen
200Cash receipt recorded successfully

POST Waive a charge

POST /rental/estate/{reference}/obligation/{obligationReference}/waive

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference
obligationReference

Example

Request body: ChargeWaiverRequest · Response: GenericResponseChargeObligationResponse

curl -X POST "https://api.bridgemoni.com/rental/estate/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/obligation/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/waive" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'

Responses

StatusWhen
200Charge waived successfully

POST Bring a property into the estate

POST /rental/estate/{reference}/property/{propertyReference}

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference
propertyReference

Example

Response: GenericResponseEstateResponse

curl -X POST "https://api.bridgemoni.com/rental/estate/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/property/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Property added successfully
409The property is in another estate or another market

POST Flag a unit

POST /rental/estate/{reference}/unit/{unitReference}/flag

An estate decision with a recorded author. Nothing flags a unit automatically.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference
unitReference

Example

Request body: EstateFlagRequest · Response: GenericResponseEstateFlagResponse

curl -X POST "https://api.bridgemoni.com/rental/estate/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/unit/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/flag" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'

Responses

StatusWhen
200Unit flagged successfully

POST Lift a unit's flag

POST /rental/estate/{reference}/unit/{unitReference}/flag/lift

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference
unitReference

Example

Request body: EstateFlagRequest · Response: GenericResponseEstateFlagResponse

curl -X POST "https://api.bridgemoni.com/rental/estate/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/unit/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/flag/lift" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'

Responses

StatusWhen
200Flag lifted successfully

GET Every charge raised on one unit

GET /rental/estate/{reference}/unit/{unitReference}/obligation

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference
unitReference

Example

Response: GenericResponseListChargeObligationResponse

curl -X GET "https://api.bridgemoni.com/rental/estate/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/unit/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/obligation" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Unit charges retrieved successfully

POST End a tenancy on a move-out date

POST /rental/tenancy/{reference}/end

Unpaid rent after the move-out date is cancelled. Estate charges spanning the date are split by days where the charge says so; the rest stay with the unit for the next occupant.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: TenancyEndRequest · Response: GenericResponseTenancyResponse

curl -X POST "https://api.bridgemoni.com/rental/tenancy/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/end" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "moveOutDate": "2026-09-25",
  "narrative": "string"
}'

Responses

StatusWhen
200Tenancy ended successfully
409The tenancy cannot be ended in its current state

GET Estate charges on your tenancy

GET /rental/tenancy/{reference}/estate-charges

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseListChargeObligationResponse

curl -X GET "https://api.bridgemoni.com/rental/tenancy/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/estate-charges" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Estate charges retrieved successfully

GET Estate arrears that stay with a unit

GET /rental/unit/{reference}/arrears

What an incoming occupant should see before they sign: unpaid estate charges attach to the flat, not to whoever lived there.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseUnitArrearsResponse

curl -X GET "https://api.bridgemoni.com/rental/unit/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/arrears" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Unit arrears retrieved successfully

Generated from the OpenAPI document. Branch on the HTTP status: there is no machine-readable error code on the wire. Errors