Updating 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

text

string

Yes

The main content text of the post

title

string

No

Title for the post (used in some networks)

Special Cases

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

Network

Updatable Fields

LinkedIn

• Text content

YouTube

• Title (limited to 100 characters)

• Text/description (limited to 5000 characters)

Google Business

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

Facebook

• Text content (both description and message fields)

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

WordPress

• Title

• Content (HTML converted)

Telegram

• For status updates and links: Text content

Mastodon

• Text content

• Title

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

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
idstringRequired

ID of the post to update

Header parameters
Publer-Workspace-IdstringRequired

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
Publer-Workspace-Id: text
Content-Type: application/json
Accept: */*
Content-Length: 39

{
  "post": {
    "text": "text",
    "title": "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?