Skip to main content

Writing Data

Skywalk API allows you to create data inside AppFolio® using POST requests. You can use these methods to programmatically manage your AppFolio® data.

When writing data, you will need to provide the necessary fields in the request body as specified in the API Data Types documentation.

IMPORTANT: Ensure that you adhere to the required data formats and validation rules.

Some endpoints only write data when specific flags or parameters are passed. Please refer to the individual endpoint documentation for more details.

Writing Data Behavior

Since writing data behaviors may require large amounts of time, the request is processed as a job. By default a POST waits for the job to finish (up to 120 seconds for new projects, 10 seconds for projects created before August 2026) and returns the finished result; if the job is still running when that time is up — or if you send ?wait=0 — you receive the response immediately with a unique job ID. You can use this job ID with a GET request to poll for the status of your data writing operation. See Waiting for results for the wait parameter.

The initial request is made using a POST. The Response will contain a job meta.jobId field.

Send POST Request
POST /v1/tenant-charge ...
Get jobId from Response
{
"meta": {
"jobId": "123e4567-e89b-12d3-a456-426614174000"
}
}

To check the status of the write, use the jobId with a GET request to the same endpoint. This endpoint will behave similarly to a standard request polling.

GET Request To Check Status
GET /v1/tenant-charge?jobId=123e4567-e89b-12d3-a456-426614174000
Result from Write In Progress
{
"meta": {
"status": "updating"
}
}

Upon completion of the write operation, the GET request will return the final status of the operation, as well as any data and details of the request.

GET Request to Check Status
GET /v1/tenant-charge?jobId=123e4567-e89b-12d3-a456-426614174000
Completed Write
{
"meta": {
"status": "ok"
},
"data": [
{}
]
}