API reference · Communities & institutions
Rental tenancies GET Tenancies you are party to, as occupant, landlord or agent GET /rental/tenancy
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Example Response: GenericResponseListTenancyResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/rental/tenancy" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"addressReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"landlordName": {
"name": "string"
},
"landlordContact": "string",
"landlordUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"agentName": {
"name": "string"
},
"termStart": "2026-09-25",
"termEnd": "2026-09-25",
"rentBand": "string",
"currencyCode": "string",
"paymentFrequency": "WEEKLY",
"agreementDocumentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"attestationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tenancyStatus": "PENDING",
"active": "true",
"currentlyResident": "true",
"assuranceGrade": "SELF",
"verificationStatus": "PENDING",
"verificationMethod": "string",
"verifierName": {
"name": "string"
},
"verificationDateTime": "2026-09-25T10:00:00Z",
"expiryDateTime": "2026-09-25T10:00:00Z",
"disputeStatus": "NONE"
}
],
"description": "Tenancies retrieved successfully"
} Responses Status When 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 Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Example Request body: TenancyRequest · Response: GenericResponseTenancyResponse
curl Request Response
Copy 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"
}' Copy {
"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"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"addressReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"landlordName": {
"name": "string"
},
"landlordContact": "string",
"landlordUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"agentName": {
"name": "string"
},
"termStart": "2026-09-25",
"termEnd": "2026-09-25",
"rentBand": "string",
"currencyCode": "string",
"paymentFrequency": "WEEKLY",
"agreementDocumentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"attestationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tenancyStatus": "PENDING",
"active": "true",
"currentlyResident": "true",
"assuranceGrade": "SELF",
"verificationStatus": "PENDING",
"verificationMethod": "string",
"verifierName": {
"name": "string"
},
"verificationDateTime": "2026-09-25T10:00:00Z",
"expiryDateTime": "2026-09-25T10:00:00Z",
"disputeStatus": "NONE"
},
"description": "RentalTenancy registered successfully"
} Responses Status When 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 Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseTenancyResponse
curl Response
Copy 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" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"addressReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"landlordName": {
"name": "string"
},
"landlordContact": "string",
"landlordUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"agentName": {
"name": "string"
},
"termStart": "2026-09-25",
"termEnd": "2026-09-25",
"rentBand": "string",
"currencyCode": "string",
"paymentFrequency": "WEEKLY",
"agreementDocumentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"attestationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tenancyStatus": "PENDING",
"active": "true",
"currentlyResident": "true",
"assuranceGrade": "SELF",
"verificationStatus": "PENDING",
"verificationMethod": "string",
"verifierName": {
"name": "string"
},
"verificationDateTime": "2026-09-25T10:00:00Z",
"expiryDateTime": "2026-09-25T10:00:00Z",
"disputeStatus": "NONE"
},
"description": "RentalTenancy retrieved successfully"
} Responses Status When 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 Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseListTenancyDocumentResponse
curl Response
Copy 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" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tenancyReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"documentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"documentType": "TENANCY_AGREEMENT",
"originalFilename": "string",
"contentType": "string",
"sizeBytes": 0,
"checksumSha256": "string",
"assuranceGrade": "G0_ASSERTED",
"uploadedByPartyReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"downloadUrl": "string",
"creationDateTime": "2026-09-25T10:00:00Z"
}
],
"description": "Documents retrieved successfully"
} Responses Status When 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 Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typemultipart/form-data
Path parameters Query parameters Name Default documentTypeOptional
Example Request body: object · Response: GenericResponseTenancyDocumentResponse
curl Response
Copy 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" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tenancyReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"documentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"documentType": "TENANCY_AGREEMENT",
"originalFilename": "string",
"contentType": "string",
"sizeBytes": 0,
"checksumSha256": "string",
"assuranceGrade": "G0_ASSERTED",
"uploadedByPartyReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"downloadUrl": "string",
"creationDateTime": "2026-09-25T10:00:00Z"
},
"description": "Document uploaded successfully"
} Responses Status When 200Document uploaded successfully 400The file is empty
GET Reported off-platform payments for a tenancy GET /rental/tenancy/{reference}/evidence
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseListEvidencePaymentResponse
curl Response
Copy 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" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tenancyReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 0,
"currencyCode": "string",
"paidOn": "2026-09-25",
"method": "CASH",
"coversPeriodStart": "2026-09-25",
"coversPeriodEnd": "2026-09-25",
"documentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"note": "string",
"assuranceGrade": "G0_ASSERTED",
"isReceipt": true,
"affectsBalance": true,
"appearsInSettlement": true,
"disclaimer": "string",
"creationDateTime": "2026-09-25T10:00:00Z"
}
],
"description": "Evidence retrieved successfully"
} Responses Status When 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 Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: EvidencePaymentRequest · Response: GenericResponseEvidencePaymentResponse
curl Request Response
Copy 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"
}' Copy {
"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"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tenancyReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 0,
"currencyCode": "string",
"paidOn": "2026-09-25",
"method": "CASH",
"coversPeriodStart": "2026-09-25",
"coversPeriodEnd": "2026-09-25",
"documentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"note": "string",
"assuranceGrade": "G0_ASSERTED",
"isReceipt": true,
"affectsBalance": true,
"appearsInSettlement": true,
"disclaimer": "string",
"creationDateTime": "2026-09-25T10:00:00Z"
},
"description": "Evidence recorded successfully"
} Responses Status When 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 Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseTenancyResponse
curl Response
Copy 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" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"addressReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"landlordName": {
"name": "string"
},
"landlordContact": "string",
"landlordUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"agentName": {
"name": "string"
},
"termStart": "2026-09-25",
"termEnd": "2026-09-25",
"rentBand": "string",
"currencyCode": "string",
"paymentFrequency": "WEEKLY",
"agreementDocumentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"attestationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tenancyStatus": "PENDING",
"active": "true",
"currentlyResident": "true",
"assuranceGrade": "SELF",
"verificationStatus": "PENDING",
"verificationMethod": "string",
"verifierName": {
"name": "string"
},
"verificationDateTime": "2026-09-25T10:00:00Z",
"expiryDateTime": "2026-09-25T10:00:00Z",
"disputeStatus": "NONE"
},
"description": "RentalTenancy is now evidence-only"
} Responses Status When 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 Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseTenancyScheduleResponse
curl Response
Copy 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" Copy {
"data": {
"tenancyReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"termsVersion": 0,
"nextDueDate": "2026-09-25",
"charges": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"chargeType": "RENT",
"periodStart": "2026-09-25",
"periodEnd": "2026-09-25",
"dueDate": "2026-09-25",
"amount": 0,
"amountSettled": 0,
"currencyCode": "string",
"status": "BEFORE_REGISTRATION",
"borneBy": "OCCUPANT",
"termsVersion": 0
}
]
},
"description": "Schedule retrieved successfully"
} Responses Status When 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 Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseTenancyStatementResponse
curl Response
Copy 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" Copy {
"data": {
"tenancyReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"currencyCode": "string",
"totalCharged": 0,
"totalObserved": 0,
"totalAsserted": 0,
"lines": [
{
"on": "2026-09-25",
"kind": "string",
"narrative": "string",
"amount": 0
}
]
},
"description": "Statement retrieved successfully"
} Responses Status When 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 Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: TermsAmendmentRequest · Response: GenericResponseTenancyResponse
curl Request Response
Copy 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"
}' Copy {
"rentAmount": 0,
"rentCadence": "MONTHLY",
"commencementDate": "2026-09-25",
"expiryDate": "2026-09-25",
"depositAmount": 0,
"noticePeriodDays": 0,
"narrative": "Rent corrected after checking the agreement"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"addressReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"landlordName": {
"name": "string"
},
"landlordContact": "string",
"landlordUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"agentName": {
"name": "string"
},
"termStart": "2026-09-25",
"termEnd": "2026-09-25",
"rentBand": "string",
"currencyCode": "string",
"paymentFrequency": "WEEKLY",
"agreementDocumentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"attestationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tenancyStatus": "PENDING",
"active": "true",
"currentlyResident": "true",
"assuranceGrade": "SELF",
"verificationStatus": "PENDING",
"verificationMethod": "string",
"verifierName": {
"name": "string"
},
"verificationDateTime": "2026-09-25T10:00:00Z",
"expiryDateTime": "2026-09-25T10:00:00Z",
"disputeStatus": "NONE"
},
"description": "RentalTenancy terms amended successfully"
} Responses Status When 200RentalTenancy terms amended successfully 409The landlord has confirmed the terms