1. Posts
swonkie.dev
  • Introduction
  • Quick Start
  • Changelog
  • Social Networks
    • Facebook
    • Instagram
    • LinkedIn
    • TikTok
    • Threads
  • Profiles
    • My Profiles
      GET
    • Competitors
      GET
  • Insights
    • Getting Started
    • My Profile Insights
      GET
    • My Profile Insights Posts
      GET
    • Competitor Insights
      GET
    • Competitor Insights Posts
      GET
  • Posts
    • Getting Started
    • List Posts
      GET
    • Get a Post
      GET
    • Create a Post
      POST
    • Update a Post
      PUT
    • Validate a Post
      GET
    • Delete a Post
      DELETE
    • Change Post Stage
      PATCH
  • Labels
    • Getting Started
    • List Labels
      GET
    • Create a Label
      POST
  • Media
    • Get a Media
    • Create a Media
    • Upload File to Media
    • Confirm Uploaded Media
    • Delete a Media
  • Examples
    • Publish
Back to Home
Back to Home
Login
  1. Posts

Update a Post

PUT
/posts/{postId}
Updates an existing post in your workspace. This endpoint allows you to modify post content, media, scheduling, profiles, labels, and network-specific settings. The post will be validated before updating to ensure all changes meet the requirements of the selected social networks. You can update any field of the post, and only the fields you provide will be modified.

Notes#

The post must belong to your workspace, otherwise a 404 error will be returned.
Only include the fields you want to update - all fields are optional.
Updating publishAt on an IDEA post will change its stage to DRAFT.
Posts that are already SCHEDULED or PUBLISHED may have restrictions on what can be updated.
The post will be validated before updating - if validation fails, you'll receive a 400 Bad Request with details about what needs to be corrected.
When updating arrays (captions, medias, links, labels), the entire array is replaced, not merged. Include all items you want to keep.
Media files must be uploaded first using the POST /media endpoint to obtain new mediaLibId values.
Network-specific settings (facebook, instagram, linkedIn, tiktok) are only applied to posts targeting those networks.
Changing the post type may require adding or removing certain fields (e.g., changing from MEDIA to LINK requires adding links and removing medias).

Request

Path Params

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request PUT 'https://api.swonkie.dev/v2/posts/UG9zdElkMTIzNDU2Nzg51352' \
--header 'X-API-ID: {{apiId}}' \
--header 'X-API-KEY: {{apiKey}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "MEDIA",
    "profileIds": [
        "Tjg3YjhSU2xZREFqM1RqOTRnZTdpZz09"
    ],
    "publishAt": "2026-01-31T11:30:00.000Z",
    "captions": [
        {
            "plainText": "A post caption!",
            "firstComment": {
                "plainText": "First comment gets a fix."
            },
            "net": "facebook"
        }
    ],
    "medias": [
        {
            "mediaFiles": [
                {
                    "mediaLibId": "RDlHZERwbitlK1lmQU0xNW0zWUhWZz09"
                }
            ],
            "net": "facebook"
        }
    ],
    "links": [
        {
            "link": "https://brinfer.com",
            "linkTitle": "Brinfer - Influencer Marketing",
            "linkDescription": "Brinfer is the best influencer marketing marketplace platform!",
            "mediaLibId": "RDlHZERwbitlK1lmQU0xNW0zWUhWZz09",
            "net": "facebook"
        }
    ],
    "briefing": {
        "markdown": "# A markdown briefing here!"
    },
    "facebook": {
        "carousels": [
            {
                "link": "https://brinfer.com",
                "title": "Brinfer - Influencer Marketing",
                "description": "Brinfer is the best influencer marketing marketplace platform!",
                "mediaLibId": "RDlHZERwbitlK1lmQU0xNW0zWUhWZz09",
                "callToAction": "NO_BUTTON"
            }
        ],
        "carouselEndCard": true
    },
    "instagram": {
        "shareToFeed": true
    },
    "linkedIn": {
        "documentTitle": "Brinfer Document Title"
    },
    "tiktok": {
        "autoAddMusic": true,
        "disableComments": true,
        "isBrandedContent": true,
        "isBrandOrganic": true,
        "title": "Brinfer TikTok Title",
        "disableDuet": true,
        "disableStitch": true,
        "isAiGenerated": true
    },
    "labelIds": [
        "RDlHZERwbitlK1lmQU0xNW0zWUhWZz09"
    ]
}'
Response Response Example
{
    "id": "UG9zdElkMTIzNDU2Nzg5",
    "type": "MEDIA",
    "stage": "DRAFT",
    "publishAt": "2026-02-01T15:00:00.000Z",
    "budget": 0,
    "profiles": [
        {
            "id": "Tjg3YjhSU2xZREFqM1RqOTRnZTdpZz09",
            "name": "Brand Official Page",
            "username": "brandofficial",
            "picture": "https://storage.example.com/profiles/abc123.jpg",
            "net": {
                "code": "facebook",
                "name": "Facebook"
            },
            "publishStatus": null
        }
    ],
    "captions": [
        {
            "plainText": "Updated: Excited to announce our new product! 🚀 Now with more features! #innovation #update",
            "net": null,
            "firstComment": null
        }
    ],
    "medias": [
        {
            "id": "TWVkaWFJZDk4NzY1NDMyMQ==",
            "url": "https://storage.example.com/media/product.jpg",
            "type": "image/jpeg",
            "net": null
        }
    ],
    "links": [],
    "labels": [
        {
            "id": "TGFiZWxJZDExMTExMTEx",
            "name": "Product Launch",
            "color": "#FF5733"
        },
        {
            "id": "VXBkYXRlTGFiZWw=",
            "name": "Updated",
            "color": "#00BFFF"
        }
    ],
    "briefing": null
}
Modified at 2026-03-12 17:27:31
Previous
Create a Post
Next
Validate a Post
Built with