Skip to content

Update Schedule ​

PUT /public/schedule/{scheduleId}

Update the content, scheduled time, or configuration of an existing scheduled post.

Endpoint Details ​

  • Authentication: Basic Auth (Authorization: Basic Base64(AccessKey:SecretKey))
  • Access Tier: Premium+

Parameters ​

ParameterTypeRequiredDescription
scheduleIdstringYesThe unique identifier of the scheduled post.

Request Body ​

FieldTypeRequiredDescription
titlestringYesTitle of the content (used for YouTube and as the Pinterest pin title, etc.).
descriptionstringYesCaption or description of the post.
topicstringYesTopic for Threads.
typestringYesContent type to post. Options: text, image, video, reel, album, link, story.
mediasarrayYesArray of media objects to attach (images/videos).
metaobjectYesLink metadata for link-type posts.
additionalInfoobjectYesAdditional configuration for the post.
additionalInfo.isAiGeneratedbooleanNoWhether content is AI-generated.
additionalInfo.isDraftbooleanNoWhether to save as draft.
additionalInfo.isAutoAddMusicbooleanNoWhether to automatically add music to post.
additionalInfo.isShareToFeedbooleanNoWhether to share Reel to Instagram profile grid/feed (applies to Instagram Reels).
additionalInfo.collaboratorsarrayNoInstagram collaborator usernames.
additionalInfo.mentionsarrayNoUsernames to mention (Instagram Story only).
additionalInfo.musicobjectNoTikTok music attachment with volume controls (see below).
additionalInfo.productsarrayNoShopee product attachments.
additionalInfo.tagsarrayNoYouTube tags for discoverability.
additionalInfo.targetCountriesarrayNoTarget country codes for audience targeting.
additionalInfo.channelobjectNoWhatsApp or Telegram channel or group, or Pinterest board, to post to (see below). Leave out to post to the WhatsApp Status or Telegram Story. Required for Pinterest.
additionalInfo.linkstringNoPinterest only: the destination URL the pin opens when someone taps it.
repliesarrayYesNested replies for thread-style posts (Threads and X).
scheduleAtstringYesISO 8601 datetime for the scheduled publish time.
templateIdstringNoID of the automation template to attach to this post.

Music Object (additionalInfo.music) ​

FieldTypeRequiredDescription
idstringYesThe TikTok music track ID.
artiststringYesArtist name.
namestringYesMusic track name.
thumbnailstringYesTrack thumbnail image URL.
volumeobjectYesVolume adjustment settings for the original video and music track.
volume.videonumberYesOriginal video audio volume percentage (e.g. 50).
volume.musicnumberYesBackground music track volume percentage (e.g. 100).

Channel Object (additionalInfo.channel) ​

WhatsApp, Telegram, and Pinterest only. Send one item from Get WhatsApp Channel, Get Telegram Channel, or Get Pinterest Board as it is returned:

FieldTypeRequiredDescription
idstringYesChannel, group, or board ID. On WhatsApp, its suffix decides where the post goes: @newsletter for a Channel, @g.us for a group.
namestringYesChannel, group, or board name.
picturestringYesChannel, group, or board picture: a URL on WhatsApp and Pinterest, a data: URI on Telegram (can be empty).
typestringYeschannel or group, or board for a Pinterest board. On Telegram, this decides where the post goes, because channel and supergroup IDs look the same.

Send the whole additionalInfo again

Update replaces additionalInfo as a whole. If you leave channel out, a WhatsApp or Telegram schedule that was going to a channel or group goes to the number's Status or the account's Story instead. A Pinterest schedule needs its board in channel every time, and its link too if it has one.

Example Request ​

bash
curl -X PUT "https://api.repliz.com/public/schedule/680affa5ce12f2f72916f67e" \
  -H "Authorization: Basic $(echo -n 'YOUR_ACCESS_KEY:YOUR_SECRET_KEY' | base64)" \
  -H "Content-Type: application/json" \
  -d '{"title":"Baju Baru","description":"Baju baru alhamdulillah","topic":"Fashion","type":"text","medias":[],"meta":{"title":"","description":"","url":"","thumbnail":""},"additionalInfo":{"isAiGenerated":false,"isDraft":false,"isAutoAddMusic":false,"isShareToFeed":false,"collaborators":[],"mentions":[],"music":{"id":"","artist":"","name":"","thumbnail":"","volume":{"video":50,"music":100}},"products":[],"tags":[],"targetCountries":[]},"replies":[],"scheduleAt":"2026-05-30T09:01:26.510Z"}'
javascript
import axios from 'axios';

const scheduleId = '680affa5ce12f2f72916f67e';

const response = await axios.put(
  `https://api.repliz.com/public/schedule/${scheduleId}`,
  {
    title: 'Baju Baru',
    description: 'Baju baru alhamdulillah',
    topic: 'Fashion',
    type: 'text',
    medias: [],
    meta: {
      title: '',
      description: '',
      url: '',
      thumbnail: '',
    },
    additionalInfo: {
      isAiGenerated: false,
      isDraft: false,
      isAutoAddMusic: false,
      isShareToFeed: false,
      collaborators: [],
      mentions: [],
      music: {
        id: '',
        artist: '',
        name: '',
        thumbnail: '',
        volume: { video: 50, music: 100 },
      },
      products: [],
      tags: [],
      targetCountries: [],
    },
    replies: [],
    scheduleAt: '2026-05-30T09:01:26.510Z',
  },
  {
    auth: {
      username: 'YOUR_ACCESS_KEY',
      password: 'YOUR_SECRET_KEY',
    },
  },
);

console.log(response.data);
javascript
const credentials = btoa('YOUR_ACCESS_KEY:YOUR_SECRET_KEY');

const scheduleId = '680affa5ce12f2f72916f67e';

const response = await fetch(
  `https://api.repliz.com/public/schedule/${scheduleId}`,
  {
    method: 'PUT',
    headers: {
      Authorization: `Basic ${credentials}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      title: 'Baju Baru',
      description: 'Baju baru alhamdulillah',
      topic: 'Fashion',
      type: 'text',
      medias: [],
      meta: {
        title: '',
        description: '',
        url: '',
        thumbnail: '',
      },
      additionalInfo: {
        isAiGenerated: false,
        isDraft: false,
        isAutoAddMusic: false,
        isShareToFeed: false,
        collaborators: [],
        mentions: [],
        music: {
          id: '',
          artist: '',
          name: '',
          thumbnail: '',
          volume: { video: 50, music: 100 },
        },
        products: [],
        tags: [],
        targetCountries: [],
      },
      replies: [],
      scheduleAt: '2026-05-30T09:01:26.510Z',
    }),
  },
);

const data = await response.json();
console.log(data);

Response ​

json
// No content returned on success
json
{
  "code": 404,
  "message": "schedule not found"
}
json
{
  "code": 401,
  "message": "unauthorized"
}