---
title: "Update post"
method: PATCH
path: "/v1/social/posts/{id}"
tags: ["Posts"]
---

# Update post

`PATCH /v1/social/posts/{id}`

## Request

- Base URL: `https://apihub.co.il`
- URL: `https://apihub.co.il/v1/social/posts/{id}`
- Auth: HTTP bearer

Updates an existing post. Only draft posts and scheduled posts (more than 5 minutes before their publish time) can be updated; omitted fields are left unchanged.

**Billing:** Request · **Rate limit:** 60/min

## Path parameters

- `id` string, required: Post id

## Headers

- `Idempotency-Key` string
- `X-Tag` string

## Request body

- object: Request body for updating a post. All parameters are optional — only send the fields you want to change. profiles, media, and thread are full replaces; post fields and platforms are merged.
  - `post` object: Merged with existing values — only the fields you include are changed
    - `body` string: Updated text content
    - `draft` boolean: Set or unset draft status
    - `scheduled_at` string, date-time: Updated ISO 8601 schedule timestamp
  - `media` string[]: Full replace: all existing media attachments are destroyed and replaced. Send an empty array to remove all media
  - `thread` object[]: Full replace: all existing thread children are destroyed and rebuilt from the new array. Send an empty array to remove all thread children. Thread children automatically inherit the parent's profiles, scheduling, and draft status
    - `body` string, required: Text content for this thread post
    - `media` string[]: Array of media URLs (same format as top-level media)
  - `profiles` string[]: Full replace: all existing profile assignments are removed and replaced with the new set (array of profile IDs or platform names)
  - `queue_id` string: Assign the post to a queue
  - `platforms` object: Merged with existing platform params. When sent together with profiles, platform params are applied to the new profile set (same as create)
  - `queue_priority` 'high' | 'medium' | 'low': Queue priority

## Response `200`

Completed

- object
  - `id` string: Execution id — stable across internal retries; use it with GET /v1/executions/{id}
  - `status` 'pending' | 'processing' | 'completed' | 'partial' | 'failed' | 'cancelled' | 'timeout'
  - `operation` string
  - `tag` string, nullable: Your X-Tag, if sent
  - `created_at` string, date-time
  - `completed_at` string, date-time, nullable
  - `output` object: A social media post with per-platform posting results.
    - `id` string: Unique post identifier (id)
    - `body` string: Post body/text content
    - `draft` boolean: Whether the post is a draft
    - `media` object[]: Array of media attachment objects
      - `id` string: Unique attachment identifier (id)
      - `url` string, nullable: Hosted URL of the processed file (null if not yet processed)
      - `status` 'pending' | 'processed' | 'failed': Processing status
      - `platforms` object[]: Per-platform formatting/upload errors for this attachment. Only included when at least one platform had an error processing this specific media file; omitted when there are no platform-level errors
        - `error` string: Error summary for this attachment on this platform
        - `status` string: Per-platform attachment status
        - `platform` string: Network identifier (instagram, twitter, etc.)
        - `error_details` object, nullable: Structured platform error details.
          - `postproxy_note` string, nullable: Additional context from Postproxy about the error
          - `platform_error_code` string, nullable: Error code returned by the platform API
          - `platform_error_message` string, nullable: Error message returned by the platform API
          - `platform_error_subcode` string, nullable: Error subcode returned by the platform API
      - `source_url` string, nullable: Original source URL if media was provided as a URL
      - `content_type` string: MIME type (e.g. image/jpeg, video/mp4)
      - `error_message` string, nullable: Error details if processing failed
    - `source` 'postproxy' | 'imported': Origin of the post: postproxy (created via app or API) or imported (imported from a connected platform)
    - `status` 'draft' | 'processing' | 'processed' | 'scheduled' | 'media_processing_failed': Post-level status
    - `thread` object[]: Array of thread child posts (only present for thread posts). Each item carries its own platforms array.
      - `id` string: Unique identifier (id) of the child post
      - `body` string: Text content of the child post
      - `media` object[]: Array of media attachment objects
        - `id` string: Unique attachment identifier (id)
        - `url` string, nullable: Hosted URL of the processed file (null if not yet processed)
        - `status` 'pending' | 'processed' | 'failed': Processing status
        - `platforms` object[]: Per-platform formatting/upload errors for this attachment. Only included when at least one platform had an error processing this specific media file; omitted when there are no platform-level errors
          - `error` string: Error summary for this attachment on this platform
          - `status` string: Per-platform attachment status
          - `platform` string: Network identifier (instagram, twitter, etc.)
          - `error_details` object, nullable: Structured platform error details.
            - `postproxy_note` string, nullable: Additional context from Postproxy about the error
            - `platform_error_code` string, nullable: Error code returned by the platform API
            - `platform_error_message` string, nullable: Error message returned by the platform API
            - `platform_error_subcode` string, nullable: Error subcode returned by the platform API
        - `source_url` string, nullable: Original source URL if media was provided as a URL
        - `content_type` string: MIME type (e.g. image/jpeg, video/mp4)
        - `error_message` string, nullable: Error details if processing failed
      - `platforms` object[]: Per-platform delivery results for this thread item (status, permalink, error, error_details)
        - `error` string, nullable: Error summary (null on success)
        - `params` object, nullable: Platform-specific parameters used for this post
        - `status` string: Platform posting status: processing, published, failed, pending_deletion, deleted
        - `insights` object: Engagement metrics (when available)
          - `on` string, date-time: ISO 8601 timestamp when insights were captured
          - `impressions` integer: Number of impressions/views
        - `platform` 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'youtube' | 'twitter' | 'threads' | 'pinterest': Platform identifier
        - `permalink` string, nullable: Direct URL to the published post on the platform. Null if not published or permalink is unavailable
        - `profile_id` string: ID of the connected profile this platform entry was posted to
        - `attempted_at` string, date-time, nullable: ISO 8601 timestamp of posting attempt
        - `profile_name` string: Display name of the connected profile
        - `error_details` object, nullable: Structured platform error details.
          - `postproxy_note` string, nullable: Additional context from Postproxy about the error
          - `platform_error_code` string, nullable: Error code returned by the platform API
          - `platform_error_message` string, nullable: Error message returned by the platform API
          - `platform_error_subcode` string, nullable: Error subcode returned by the platform API
    - `queue_id` string, nullable: Queue ID if the post belongs to a queue
    - `platforms` object[]: Array of platform-specific posting results. For thread posts, this only describes the parent — each thread item carries its own platforms array.
      - `error` string, nullable: Error summary (null on success)
      - `params` object, nullable: Platform-specific parameters used for this post
      - `status` string: Platform posting status: processing, published, failed, pending_deletion, deleted
      - `insights` object: Engagement metrics (when available)
        - `on` string, date-time: ISO 8601 timestamp when insights were captured
        - `impressions` integer: Number of impressions/views
      - `platform` 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'youtube' | 'twitter' | 'threads' | 'pinterest': Platform identifier
      - `permalink` string, nullable: Direct URL to the published post on the platform. Null if not published or permalink is unavailable
      - `profile_id` string: ID of the connected profile this platform entry was posted to
      - `attempted_at` string, date-time, nullable: ISO 8601 timestamp of posting attempt
      - `profile_name` string: Display name of the connected profile
      - `error_details` object, nullable: Structured platform error details.
        - `postproxy_note` string, nullable: Additional context from Postproxy about the error
        - `platform_error_code` string, nullable: Error code returned by the platform API
        - `platform_error_message` string, nullable: Error message returned by the platform API
        - `platform_error_subcode` string, nullable: Error subcode returned by the platform API
    - `created_at` string, date-time: ISO 8601 timestamp of creation
    - `scheduled_at` string, date-time, nullable: ISO 8601 timestamp if scheduled, null otherwise
    - `queue_priority` 'high' | 'medium' | 'low' | 'null', nullable: Priority level if in a queue
  - `error` string, nullable
  - `usage` object
    - `credits_charged` number, nullable
    - `credits_reserved` number
    - `estimated_credits` number
    - `cost_source` 'provider_reported' | 'calculated' | 'estimated' | 'null', nullable
    - `provider_usage` object, nullable: Normalised consumption, e.g. { VIDEO_SECOND: 22.4 }
  - `balance` object
    - `available` number
    - `reserved` number

## Other responses

- `400`: Invalid input
- `402`: Insufficient credits / project budget
- `404`: Resource not found (or not yours)
- `429`: Rate limited
- `503`: Service temporarily paused

---

[API](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai.md) · [All operations](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/revisions/a8caa42835ce?raw)
