Skip to main content

SMS

NewBeta

TextMessage objects list the SMS messages associated with a specific phone number.

The TextMessage Object

Attributes


appfolioIdstring
AppFolio ID of the text message.
Example:
"987654321"

bodystring
Plain-text body of the message.
Example:
"Here is the photo of the leak under the sink."

sentOrReceivedAtstring
ISO timestamp the message was sent (outbound) or received (inbound).
Example:
"2026-04-12T15:47:02.000Z"

statusstring
Delivery status of the message (e.g. delivered, failed, received).
Example:
"received"

directionstring
Direction of the message (e.g. outbound-api, inbound).
Example:
"inbound"

remotePartyNumberstring
Phone number of the other party on the message, formatted as displayed in AppFolio.
Example:
"(555) 010-1234"

senderNamestring
Display name of the AppFolio user who sent the message. Null for inbound messages.
Example:
null

mediaSmsMedia[]
List of media attachments on the message (MMS). Each entry has "url" (signed S3 link) and "contentType" (MIME type such as image/jpeg). Empty array when there is no media.
Example:
[{"url":"https://example-url-to-media","contentType":"image/jpeg"}]

readboolean
True when the message has been read in AppFolio.
Example:
true

The TextMessage Object
{
"appfolioId": "987654321",
"body": "Here is the photo of the leak under the sink.",
"sentOrReceivedAt": "2026-04-12T15:47:02.000Z",
"status": "received",
"direction": "inbound",
"remotePartyNumber": "(555) 010-1234",
"senderName": null,
"media": [
{
"url": "https://example-url-to-media",
"contentType": "image/jpeg"
}
],
"read": true
}

Get All Text Messages

GET /v1/sms?toNumber=<toNumber>

Follows: AuthenticationCachingPollingList Response FormatScheduled Job

The sms endpoint returns a list of text messages associated with a given phone number in your AppFolio® account. toNumber accepts any common US phone format (for example 3108939535, 310-893-9535, (310) 893-9535, or +13108939535) and is normalized to (XXX) XXX-XXXX before querying AppFolio. Invalid numbers return a 400. This endpoint should respond immediately with your most recently cached data.

Parameters


toNumberstring
Phone number to get text messages for. Accepts any common US format; normalized to `(XXX) XXX-XXXX`.

 

Returns


The standard List Response Format with a data property containing an array of TextMessage objects.

GET /v1/sms?toNumber=(555) 010-1234
curl -X GET 'https://api.skywalkapi.com/v1/sms?toNumber=(555)%20010-1234' \ 
-H "X-API-Key: PUT_YOUR_API_KEY_HERE"
Response
{
"meta": {
"status": "ok",
"path": "/v1/sms",
"query": {
"toNumber": "(555) 010-1234"
},
"count": 2,
"lastUpdated": 1610992228
},
"links": {
"next": "/v1/sms?cursor=abcdefg"
},
"data": [
{
"appfolioId": "987654321",
"body": "Here is the photo of the leak under the sink.",
"sentOrReceivedAt": "2026-04-12T15:47:02.000Z",
"status": "received",
"direction": "inbound",
"remotePartyNumber": "(555) 010-1234",
"senderName": null,
"media": [
{
"url": "https://example-url-to-media",
"contentType": "image/jpeg"
}
],
"read": true
},
{
"appfolioId": "987654322",
"body": "Hi Alex, just confirming your showing tomorrow at 10am. Reply STOP to unsubscribe.",
"sentOrReceivedAt": "2026-04-12T15:42:11.000Z",
"status": "delivered",
"direction": "outbound-api",
"remotePartyNumber": "(555) 010-1234",
"senderName": "Jane Manager",
"media": [],
"read": true
}
]
}