API reference · Communities & institutions

Rental tenancies

GET Tenancies you are party to, as occupant, landlord or agent

GET /rental/tenancy

Headers

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

Example

Response: GenericResponseListTenancyResponse

curl -X GET "https://api.bridgemoni.com/rental/tenancy" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Tenancies retrieved successfully

POST Register the tenancy you live in

POST /rental/tenancy

The single-player entry point: no landlord is needed. The landlord you name is invited to claim, and until a verified landlord with a name-checked payout account does, the tenancy is EVIDENCE_ONLY and can never move money. Statutory checks are made under the market profile version in force today, and that version is frozen onto the tenancy.

Headers

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

Example

Request body: TenancyRequest · Response: GenericResponseTenancyResponse

curl -X POST "https://api.bridgemoni.com/rental/tenancy" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "unitReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "landlord": {
    "partyReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
    "displayName": "Mr Adeyemi Okonkwo",
    "contactMsisdn": "2348035016064",
    "contactEmail": "adeyemi@example.com"
  },
  "agent": {
    "partyReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
    "displayName": "Mr Adeyemi Okonkwo",
    "contactMsisdn": "2348035016064",
    "contactEmail": "adeyemi@example.com"
  },
  "rentAmount": 2000000.0,
  "rentCurrencyCode": "NGN",
  "rentCadence": "MONTHLY",
  "commencementDate": "2026-03-01",
  "expiryDate": "2027-02-28",
  "depositAmount": 200000.0,
  "noticePeriodDays": 180,
  "narrative": "3 bedroom flat, Block C Flat 4"
}'

Responses

StatusWhen
200RentalTenancy registered successfully
400The terms break the market's rules: advance period, deposit cap, a charge the occupant may not bear, or a notice period shorter than the statutory one
409The unit is already let, or the market is not enabled

GET One tenancy, with its grades, market block and capabilities

GET /rental/tenancy/{reference}

Headers

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

Path parameters

Name
reference

Example

Response: GenericResponseTenancyResponse

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

Responses

StatusWhen
200RentalTenancy retrieved successfully
404No tenancy you are party to

GET The tenancy's document vault, with short-lived download links

GET /rental/tenancy/{reference}/document

Headers

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

Path parameters

Name
reference

Example

Response: GenericResponseListTenancyDocumentResponse

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

Responses

StatusWhen
200Documents retrieved successfully

POST Upload an agreement, receipt or photo to the tenancy's vault

POST /rental/tenancy/{reference}/document

Stored in the document store, never through a provider, and graded G2_DOCUMENTED: present, not adjudicated.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typemultipart/form-data

Path parameters

Name
reference

Query parameters

NameDefault
documentTypeOptional

Example

Request body: object · Response: GenericResponseTenancyDocumentResponse

curl -X POST "https://api.bridgemoni.com/rental/tenancy/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/document?documentType=value" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -F "file=@./document.pdf"

Responses

StatusWhen
200Document uploaded successfully
400The file is empty

GET Reported off-platform payments for a tenancy

GET /rental/tenancy/{reference}/evidence

Headers

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

Path parameters

Name
reference

Example

Response: GenericResponseListEvidencePaymentResponse

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

Responses

StatusWhen
200Evidence retrieved successfully

POST Record an off-platform payment

POST /rental/tenancy/{reference}/evidence

Evidence, not a receipt. It is graded G0_ASSERTED forever, settles no charge, and never appears in a settlement.

Headers

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

Path parameters

Name
reference

Example

Request body: EvidencePaymentRequest · Response: GenericResponseEvidencePaymentResponse

curl -X POST "https://api.bridgemoni.com/rental/tenancy/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/evidence" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 2000000.0,
  "currencyCode": "NGN",
  "paidOn": "2025-03-01",
  "method": "CASH",
  "coversPeriodStart": "2026-09-25",
  "coversPeriodEnd": "2026-09-25",
  "documentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "note": "Paid to landlord'\''s GTB account, teller attached"
}'

Responses

StatusWhen
200Evidence recorded successfully
400The amount, currency or date is not usable

POST Proceed without the landlord

POST /rental/tenancy/{reference}/proceed-alone

The tenancy keeps records, reminders and evidence and moves no money. It returns to the normal path when the landlord claims later.

Headers

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

Path parameters

Name
reference

Example

Response: GenericResponseTenancyResponse

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

Responses

StatusWhen
200RentalTenancy is now evidence-only
409The tenancy is not waiting for a landlord

GET The rent schedule: every charge, its period and its status

GET /rental/tenancy/{reference}/schedule

Headers

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

Path parameters

Name
reference

Example

Response: GenericResponseTenancyScheduleResponse

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

Responses

StatusWhen
200Schedule retrieved successfully

GET Statement, grade-labelled

GET /rental/tenancy/{reference}/statement

Observed money (G4) and reported payments (G0) appear on separate lines and in separate totals. A reported payment is never added to what was observed.

Headers

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

Path parameters

Name
reference

Example

Response: GenericResponseTenancyStatementResponse

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

Responses

StatusWhen
200Statement retrieved successfully

PATCH Amend the terms of a tenancy you hold alone

PATCH /rental/tenancy/{reference}/terms

Writes a new terms version; the old one is superseded, never edited, and the schedule is rebuilt under the new version. Once a landlord has confirmed the terms, a change is a proposal the other party must accept.

Headers

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

Path parameters

Name
reference

Example

Request body: TermsAmendmentRequest · Response: GenericResponseTenancyResponse

curl -X PATCH "https://api.bridgemoni.com/rental/tenancy/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/terms" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "rentAmount": 0,
  "rentCadence": "MONTHLY",
  "commencementDate": "2026-09-25",
  "expiryDate": "2026-09-25",
  "depositAmount": 0,
  "noticePeriodDays": 0,
  "narrative": "Rent corrected after checking the agreement"
}'

Responses

StatusWhen
200RentalTenancy terms amended successfully
409The landlord has confirmed the terms

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