REST APIGET

Recurring Posts

List, read, pause, resume and delete the recurring posts you created with recurrence on Create Post in the AdaptlyPost REST API.

GEThttps://post.adaptlypost.com/post/api/v1/recurring-posts

Returns a paginated list of the workspace's recurring posts. A recurring post is a series you create by sending recurrence to Create Post.

API Key (Bearer token)
Permission:posts.readRoles and permissions

Query Parameters

ParameterTypeDescription
limitnumberNumber of recurring posts to return (1-100, default: 20)
offsetnumberNumber of recurring posts to skip (default: 0)
statusesRecurringPostStatus[]Filter by ACTIVE, PAUSED or ENDED. Repeat the key per value: statuses=ACTIVE&statuses=PAUSED

Only the Next Post Exists

An active series keeps one scheduled post, the next one. AdaptlyPost creates it about 24 hours ahead, and it shows up in List Posts with recurringPostId set. Deleting that post with Delete Post skips that date, and the series continues.

Recurring Post Fields

FieldDescription
idRecurring post ID. Use it with the endpoints below
userIdThe member who created the series
statusACTIVE creates posts. PAUSED creates none until you resume it. ENDED reached endsOn or maxOccurrences
pauseReasonWhy the series paused. Set only when status is PAUSED. See the table below
lastErrorThe error that paused the series, when a failure caused it
frequencyDAILY, WEEKLY or MONTHLY
intervalRepeats every N days, weeks or months
weekdaysThe weekdays a WEEKLY series posts on
startsAtDate and time of the first post. It sets the time of day for every post
timezoneIANA timezone the series follows
endsOnLast day a post may go out on. Left out when the series has no end date
maxOccurrencesTotal number of posts the series publishes. Left out when there is no limit
nextOccurrenceAtThe next date that does not exist as a post yet. Left out once the series has ended
occurrenceCountPosts the series has created so far
contentTypeThe content every post of the series uses, as sent to Create Post
textThe content every post of the series uses, as sent to Create Post
mediaUrlsThe content every post of the series uses, as sent to Create Post
mediaAltTextsThe content every post of the series uses, as sent to Create Post
thumbnailUrlThe content every post of the series uses, as sent to Create Post
platformTypesThe platforms the series posts to
platformsThe accounts the series posts to, one entry per account. Their status is always PENDING

Pause Reasons

A series can pause itself. Fix the cause, then resume it. It continues from the next date after now.

ReasonDescription
USERSomeone paused it through the API or the app
CONSECUTIVE_FAILURES3 posts in a row failed
SUBSCRIPTION_INACTIVEThe workspace subscription is no longer active
ACCESS_LOSTThe member who created it lost access to the workspace
CONNECTION_REMOVEDSomeone disconnected one of its accounts
INVALID_CONTENTA platform rejected the content

Manage a Recurring Post

GEThttps://post.adaptlypost.com/post/api/v1/recurring-posts/:id

Returns one recurring post. An ID that does not exist or belongs to another workspace returns 404 "Recurring post not found".

API Key (Bearer token)
Permission:posts.readRoles and permissions
POSThttps://post.adaptlypost.com/post/api/v1/recurring-posts/:id/pause

Pauses the series. It stops creating posts and deletes its upcoming scheduled post. Returns the recurring post.

API Key (Bearer token)
Permission:posts.draftRoles and permissions

The key also needs posts.schedule. A series another member created also needs posts.others.

POSThttps://post.adaptlypost.com/post/api/v1/recurring-posts/:id/resume

Resumes a paused series from the next date after now. Dates missed while it was paused are not published. Returns the recurring post.

API Key (Bearer token)
Permission:posts.draftRoles and permissions

The key also needs posts.schedule. A series another member created also needs posts.others.

DELETEhttps://post.adaptlypost.com/post/api/v1/recurring-posts/:id

Deletes the series and its upcoming scheduled post. Posts that already went out are kept. Returns { "deleted": true }.

API Key (Bearer token)
Permission:posts.draftRoles and permissions

The key also needs posts.delete. A series another member created also needs posts.others.

Editing a series and skipping a later date are only available in the AdaptlyPost app. To skip the next date, delete its scheduled post.
List Recurring Posts
curl --request GET \
  --url 'https://post.adaptlypost.com/post/api/v1/recurring-posts?limit=10&offset=0&statuses=ACTIVE&statuses=PAUSED' \
  --header 'Authorization: Bearer <api-key>'
Pause a Recurring Post
curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/recurring-posts/rp_abc123/pause \
  --header 'Authorization: Bearer <api-key>'
Resume a Recurring Post
curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/recurring-posts/rp_abc123/resume \
  --header 'Authorization: Bearer <api-key>'
Delete a Recurring Post
curl --request DELETE \
  --url https://post.adaptlypost.com/post/api/v1/recurring-posts/rp_abc123 \
  --header 'Authorization: Bearer <api-key>'
200
{
  "recurringPosts": [
    {
      "id": "rp_abc123",
      "userId": "user_123",
      "status": "ACTIVE",
      "frequency": "WEEKLY",
      "interval": 1,
      "weekdays": ["MONDAY", "THURSDAY"],
      "startsAt": "2026-10-05T13:00:00.000Z",
      "timezone": "America/New_York",
      "maxOccurrences": 12,
      "nextOccurrenceAt": "2026-10-19T13:00:00.000Z",
      "occurrenceCount": 4,
      "contentType": "TEXT",
      "text": "{Hi|Hello} everyone, the weekly product tip is live!",
      "mediaUrls": [],
      "platformTypes": ["LINKEDIN"],
      "platforms": [
        {
          "id": "rp_abc123-0",
          "platform": "LINKEDIN",
          "status": "PENDING"
        }
      ],
      "createdAt": "2026-10-01T09:30:00.000Z",
      "updatedAt": "2026-10-14T13:00:00.000Z"
    }
  ],
  "total": 1,
  "hasMore": false
}