Schedules
List Scheduled Items
Returns the creator's unified scheduled-items feed — posts, chats (DMs and mass messages), and streams that are queued for a future publish time, all in one list. This is the data the OnlyFans webapp's Schedule tab paints onto its calendar, scoped to a date window. Different from List Mass Message Queue, which only returns mass-message queue items — /schedules is the cross-type calendar view. Requires permission api_schedules_list.
https://public-api.fansmetric.comAuthorization
defaultAuthorizationBearer <token>Send your FansMetric API key as a Bearer token in the Authorization header.
In: header
Path Parameters
account_id*integerOnlyFans numeric account ID.
Query Parameters
start_datestringEarliest publish date (inclusive).
YYYY-MM-DD. Defaults to today (UTC).end_datestringLatest publish date (inclusive).
YYYY-MM-DD. Defaults tostart_date.timezonestringIANA timezone used to bucket items into days (e.g.
Europe/Prague,Asia/Kolkata). DefaultUTC.typestringFilter to one or more item types:
chat,post,stream. Either repeat the param (type=chat&type=post) or pass a comma-separated list (type=chat,post).limitintegerPage size. Default 20. Min 1, max 100.
offsetintegerRows to skip. Default 0.
Response Fields
data.list[]arrayOne entry per scheduled item, ordered by
publishDateTime.data.list[].idintegerSchedule entry ID — NOT the same as
entity.idorentity.queueId.data.list[].typestringchat,post, orstream.data.list[].publishDateTimestringWhen the item is scheduled to go out (ISO 8601 with timezone).
data.list[].createdDateTimestringWhen the schedule was created.
data.list[].entityobjectThe underlying item. Shape varies by
type— see Get Mass Message for chat items; the OnlyFans post object for posts.data.syncInProcessbooleanTrue if OnlyFans is still indexing recent scheduled items — the list may be partial.
data.hasMorebooleanMore items exist past this page.
dataobject | arrayEndpoint-specific payload. See the fields below for this route.
_pagination.next_pagestringRelative URL for the next page, with the cursor or offset already applied. Append it to the API base URL and send it as-is. Omitted entirely on the last page.
_meta._credits.usedintegerCredits consumed by this request (currently always
1)._meta._rate_limits.limit_minuteintegerMaximum requests per minute for the organization.
_meta._rate_limits.remaining_minuteintegerRemaining requests in the current minute window.
_meta._rate_limits.limit_dayintegerMaximum requests per day for the organization.
_meta._rate_limits.remaining_dayintegerRemaining requests in the current day window.
| Field | Type | Description |
|---|---|---|
| data.list[] | array | One entry per scheduled item, ordered by publishDateTime. |
| data.list[].id | integer | Schedule entry ID — NOT the same as entity.id or entity.queueId. |
| data.list[].type | string | chat, post, or stream. |
| data.list[].publishDateTime | string | When the item is scheduled to go out (ISO 8601 with timezone). |
| data.list[].createdDateTime | string | When the schedule was created. |
| data.list[].entity | object | The underlying item. Shape varies by type — see Get Mass Message for chat items; the OnlyFans post object for posts. |
| data.syncInProcess | boolean | True if OnlyFans is still indexing recent scheduled items — the list may be partial. |
| data.hasMore | boolean | More items exist past this page. |
| data | object | array | Endpoint-specific payload. See the fields below for this route. |
| _pagination.next_page | string | Relative URL for the next page, with the cursor or offset already applied. Append it to the API base URL and send it as-is. Omitted entirely on the last page. |
| _meta._credits.used | integer | Credits consumed by this request (currently always 1). |
| _meta._rate_limits.limit_minute | integer | Maximum requests per minute for the organization. |
| _meta._rate_limits.remaining_minute | integer | Remaining requests in the current minute window. |
| _meta._rate_limits.limit_day | integer | Maximum requests per day for the organization. |
| _meta._rate_limits.remaining_day | integer | Remaining requests in the current day window. |
curl --request GET "https://public-api.fansmetric.com/v1/100000001/schedules?start_date=2026-01-01%2000%3A00%3A00&end_date=2026-01-31%2023%3A59%3A59&timezone=sample_timezone" \
--header "Authorization: Bearer YOUR_API_KEY"Response
200