Update Posts

Modify an existing post—whether scheduled or already published—across your social networks. This endpoint handles network-specific constraints and supports advanced features like recycling and recurring schedules.

Requirements

  • Authentication: Bearer API token

  • Scope: posts

  • Headers:

    • Authorization: Bearer-API YOUR_API_KEY

    • Publer-Workspace-Id: YOUR_WORKSPACE_ID

Endpoint

Updates an existing post by ID. The behavior differs depending on whether the post is scheduled or already published.

PUT /api/v1/posts/:id

Parameter Reference

Parameter

Type

Required

Description

type

string

No

The type of post (e.g., 'text', 'photo', 'video', 'link', etc.)

text

string

No

The main content text of the post

url

string

No

URL for link posts

title

string

No

Title for the post (used in some networks)

excerpt

string

No

Excerpt for the post (used in some networks)

question

string

No

Question for poll posts

duration

integer

No

Duration for poll posts

Media Parameters

Parameter

Type

Required

Description

featured_media

object

No

Featured media information with path to the media file

media

array

No

Media files attached to the post

Each media object can include:

  • id (string): Media ID

  • path (string): Path to the media file

  • title (string): Title of the media

  • caption (string): Caption for the media

  • in_library (boolean): Whether to save the media in the library

  • default_thumbnail (string): Default thumbnail for videos

  • thumbnails (object): Thumbnail information with real and small sizes

  • user_tags (array): User tags in the media with position coordinates

  • collaborator_tags (array): Collaborator tags in the media with position coordinates

  • product_tags (array): Product tags in the media with position coordinates

Parameter

Type

Required

Description

link

object

No

Link information

The link object can include:

  • url (string): URL of the link

  • call_to_action (string): Call to action text

  • phone_number (string): Phone number for call to action

  • provider_display (string): Provider display information

  • original_description (string): Original description from the link

  • original_title (string): Original title from the link

  • description (string): Custom description for the link

  • title (string): Custom title for the link

  • default_image (string): Default image for the link

  • images (array): Images for the link

  • original_images (array): Original images from the link

Details Parameters

Parameter

Type

Required

Description

details

object

No

Additional details for the post

The details object can include:

  • type (string): Type of post details (e.g., 'story')

  • feed (boolean): Whether to share to feed (for Instagram reels)

  • reminder (boolean): Whether the post is a reminder

  • title (string): Title for event posts

  • start (string): Start time for event posts

  • end (string): End time for event posts

  • coupon (string): Coupon code for offer posts

  • terms (string): Terms for offer posts

  • audio (string): Audio information

  • privacy (string): Privacy setting

  • comment (boolean): Whether to allow comments

  • duet (boolean): Whether to allow duets (TikTok)

  • stitch (boolean): Whether to allow stitches (TikTok)

  • promotional (boolean): Whether the post is promotional

  • paid (boolean): Whether the post is paid

  • language (string): Language of the post

  • auto_add_music (boolean): Whether to automatically add music

  • text_format_preset_id (string): Text format preset ID

  • boost (boolean): Whether to boost the post

Recycling Parameters

Parameter

Type

Required

Description

recycling

object

No

Recycling settings

The recycling object can include:

  • solo (boolean): Whether to recycle as solo

  • gap (integer): Gap between recycling

  • gap_freq (string): Frequency of the gap (e.g., 'days', 'weeks')

  • label (string): Label for recycling

  • start_date (string): Start date for recycling

  • expire_date (string): Expiration date for recycling

  • expire_count (integer): Number of times to recycle before expiring

Recurring Parameters

Parameter

Type

Required

Description

recurring

object

No

Recurring settings

The recurring object can include:

  • start_date (string): Start date for recurring posts

  • end_date (string): End date for recurring posts

  • repeat (string): Repeat frequency (e.g., 'daily', 'weekly')

  • repeat_rate (integer): Rate of repetition

  • days_of_week (array): Days of the week for weekly recurring posts

Other Parameters

Parameter

Type

Required

Description

content

array

No

Content blocks for rich text posts

location

object

No

Location information with id and name

labels

array

No

Labels for the post with name and color

options

array

No

Options for poll posts

categories

array

No

Categories for the post

sublinks

array

No

Sub-links for the post (same structure as link)

Special Cases

When the post is published, you can only update network-specific params.

Network

Updatable Fields

LinkedIn

• Text content

• Labels

YouTube

• Title (limited to 100 characters)

• Text/description (limited to 5000 characters)

• Labels

Google Business

• Text content (called "summary" in Google's API, limited to 1500 characters)

• Labels

Facebook

• Text content (both description and message fields)

• Title (only for video posts, in the name field)

• Text format preset ID

• Labels

WordPress

• Title

• Content (HTML converted)

• Excerpt

• URL (slug)

• Featured media

• Categories

• Tags

• Labels

Telegram

• For status updates and links: Text content

• For other post types: Caption

• Labels

Mastodon

• Text content

• Title

• Language

• Poll attributes (options, duration)

• Labels

Networks Not Supporting Published Post Updates

For the following networks, only labels can be updated in Publer's database after a post is published:

  • Twitter/X (polls cannot be edited after publishing)

  • Pinterest

  • Instagram

  • Threads

  • Bluesky

Scheduled Posts

For scheduled posts, all fields can be updated regardless of the target social network.

Recurring Posts

If the post is a recurring post, the update will be applied to all future child posts in the recurring series. Already published child posts will not be affected.

Notes

  • When updating a post that requires approval, a notification will be sent to the appropriate workspace members.

  • Changes to published posts will be reflected both in Publer's database and on the social media platform (for supported networks).

Update Post

put

Updates an existing post. The behavior differs depending on whether the post is already published or not.

Authorizations
Path parameters
idanyRequired

ID of the post to update

Header parameters
Publer-Workspace-IdanyRequired

ID of the workspace containing the post

Body
Responses
200
Post updated successfully
application/json
put
PUT /api/v1/posts/{id} HTTP/1.1
Host: app.publer.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 1329

{
  "post": {
    "type": "text",
    "text": "text",
    "url": "text",
    "title": "text",
    "excerpt": "text",
    "question": "text",
    "duration": 1,
    "featured_media": {
      "path": "text"
    },
    "media": [
      {
        "id": "text",
        "path": "text",
        "title": "text",
        "caption": "text",
        "in_library": true,
        "default_thumbnail": "text",
        "thumbnails": {
          "real": "text",
          "small": "text"
        }
      }
    ],
    "link": {
      "url": "text",
      "call_to_action": "text",
      "phone_number": "text",
      "provider_display": "text",
      "original_description": "text",
      "original_title": "text",
      "description": "text",
      "title": "text",
      "default_image": "text",
      "images": [],
      "original_images": []
    },
    "details": {
      "type": "text",
      "feed": true,
      "reminder": true,
      "title": "text",
      "start": "text",
      "end": "text",
      "coupon": "text",
      "terms": "text",
      "audio": "text",
      "privacy": "text",
      "comment": true,
      "duet": true,
      "stitch": true,
      "promotional": true,
      "paid": true,
      "language": "text",
      "auto_add_music": true,
      "text_format_preset_id": "text",
      "sponsor": {
        "id": "text",
        "name": "text",
        "verified": true,
        "boost": true
      }
    },
    "recycling": {
      "solo": true,
      "gap": 1,
      "gap_freq": "text",
      "label": "text",
      "start_date": "text",
      "expire_date": "text",
      "expire_count": 1
    },
    "recurring": {
      "start_date": "text",
      "end_date": "text",
      "repeat": "text",
      "repeat_rate": 1,
      "days_of_week": []
    },
    "content": [
      {
        "type": "text",
        "data": {}
      }
    ],
    "location": {
      "id": "text",
      "name": "text"
    },
    "labels": [
      {
        "name": "text",
        "color": "text"
      }
    ],
    "options": [],
    "tags": [],
    "categories": [],
    "sublinks": [
      {
        "url": "text"
      }
    ]
  }
}
{
  "id": "68176f0e8bee9dc9b0ce3427",
  "text": "Check out our new product launch!",
  "state": "scheduled",
  "type": "photo",
  "account_id": "63c675b54e299e9cf2b667ea",
  "account": {
    "id": "63c675b54e299e9cf2b667ea",
    "type": "facebook_page",
    "name": "My Business Page",
    "picture": "https://graph.facebook.com/123456789/picture"
  },
  "user": {
    "id": "5b1ec026db27977424e8599e",
    "name": "ervintorra",
    "picture": "https://publer-dev.s3.amazonaws.com/uploads/photos/thumb_mini_magick20250123-28707-otuw0w.png"
  },
  "scheduled_at": "2025-05-15T14:30:00.000+02:00",
  "created_at": "2025-04-28T10:15:23.000+02:00",
  "updated_at": "2025-04-29T11:30:45.000+02:00",
  "post_link": "https://facebook.com/post/123456789",
  "media": [
    {
      "id": "66fba4234e299e531f5dc100",
      "type": "image",
      "url": "https://publer-media.s3.amazonaws.com/uploads/images/product-launch.jpg",
      "alt_text": "Product launch announcement image"
    }
  ],
  "link": {
    "url": "https://example.com/product-launch",
    "title": "New Product Launch",
    "description": "Check out our latest product innovation",
    "image_url": "https://example.com/images/product.jpg"
  },
  "labels": [
    {
      "id": "607c2f9a5e2c3d0789abcdef",
      "name": "Product Launch",
      "color": "#FF5733"
    }
  ],
  "auto": false,
  "recycling": {
    "solo": true,
    "gap": 2,
    "gap_freq": "Week",
    "start_date": "2025-06-01",
    "expire_count": 3
  },
  "recurring": {
    "frequency": "Week",
    "repeat_every": 1,
    "weekdays": [
      "Monday"
    ],
    "start_date": "2025-06-02T09:00:00.000Z"
  }
}

Last updated

Was this helpful?