Skip to main content

Tenant Charge

Write

TenantCharge objects represent a tenant charge from AppFolio®. Skywalk API allows you to create new ones on an occupancy's ledger. To retrieve and query tenant charges, use the Tenant Ledger endpoint.

The TenantCharge Object​

This object is returned from the create a tenant charge endpoint.

Attributes


tenantChargeIdstring
AppFolio ID of the charge created. This is the same as the matching TenantLedger transaction.id.
Example:
"5432"

occupancyIdstring
AppFolio ID of the occupancy the charge was posted to.
Example:
"1234"

amountstring
Amount of the tenant charge in dollars, as stored in AppFolio (for example "1,250.00").
Example:
"780.00"

chargeDatestring
Charge date of the tenant charge, as displayed (MM/DD/YYYY).
Example:
"01/03/2025"

postingDatestring
Posting date of the tenant charge as stored in AppFolio, as displayed (MM/DD/YYYY). Accounts that do not use posting dates store the charge date here.
Example:
"01/03/2025"

glAccountIdstring
AppFolio ID of the GL account the charge was posted to.
Example:
"12"

descriptionstring
Description of the tenant charge, as stored in AppFolio.
Example:
"Sample created tenant charge!"

warningsstring[]
Any warnings from creating the tenant charge such as posting to previous month. Only present when warningsOk let the charge be created despite them.

attachmentsAttachmentSummary[]
Files attached to the tenant charge. Each entry has "appfolioId" (pass it to the File endpoint to download the file) and "fileName". Only present when the request included attachments.

The TenantCharge Object
{
"tenantChargeId": "5432",
"occupancyId": "1234",
"amount": "780.00",
"chargeDate": "01/03/2025",
"postingDate": "01/03/2025",
"glAccountId": "12",
"description": "Sample created tenant charge!"
}

Create a Tenant Charge​

POST /v1/tenant-charge

Follows: Authentication • Caching • Polling • List Response Format

The tenant charge endpoint creates a tenant charge on an occupancy's ledger in your AppFolio® account.

Note: The tenant will not be notified of the new charge, unless notifyTenant is set to true.


Parameters​


occupancyIdselect
AppFolio ID of the occupancy the charge is posted to.

amountstring
The amount of the tenant charge in dollars.

chargeDatedate
Charge date of the tenant charge, as MM/DD/YYYY. Defaults to today.

postingDatedate
Posting date of the tenant charge, as MM/DD/YYYY. Defaults to the charge date.

glAccountIdselect
AppFolio ID of the GL Account for the tenant charge.

descriptionstring
Description for the tenant charge.

warningsOkboolean
If true the tenant charge will still be created even if there are warnings such as previous month.

notifyTenantboolean
If true the tenant is notified of the new charge, as AppFolio's "Notify tenant of new charge" option does. Defaults to false. Refused when the occupancy has no tenant portal or email to notify.

attachmentsmulti
Files to attach to the tenant charge, as a JSON array. Each entry requires "fileName" (with its extension) and exactly one of "content" (the file's bytes as base64) or "url" (an https URL the file can be fetched from). Accepted types: .pdf. Up to 10 files, each at most 30 MB; base64 content also has to fit the request body limit. Skywalk API does not retain file contents; the response reports each file by name, size and SHA-256 hash, and the tenant charge is returned with each file's AppFolio ID.

 

Returns​


The standard List Response Format with a data property containing an array with the created TenantCharge object.

POST /v1/tenant-charge
curl -X POST 'https://api.skywalkapi.com/v1/tenant-charge' \
-H "X-API-Key: PUT_YOUR_API_KEY_HERE" \
-d '{"occupancyId":"1234","glAccountId":"12","amount":"780.00","chargeDate":"01/03/2025","postingDate":"01/03/2025","description":"Sample created tenant charge!"}'
Response
{
"meta": {
"status": "ok",
"path": "/v1/tenant-charge",
"query": {
"occupancyId": 123
},
"count": 1,
"lastUpdated": 1610992228
},
"links": {
"next": "/v1/tenant-ledger?cursor=abcdefg"
},
"data": [
{
"tenantChargeId": "5432",
"occupancyId": "1234",
"amount": "780.00",
"chargeDate": "01/03/2025",
"postingDate": "01/03/2025",
"glAccountId": "12",
"description": "Sample created tenant charge!"
}
]
}