# EditPostInput

EditPostInput

Edit post's request input.

Note: `metadata.{service}.linkAttachment` is mutually exclusive with a non-empty `assets`
array. Input providing both is rejected.

**Fields:**
- `id`: `PostId!` - ID of the post to edit
- `aiAssisted`: `Boolean` - If this post was edited with the help of AI
- `approvalChange`: `PostApprovalChange` - Change the post's approval state alongside this edit. Leave unset to keep the
post's current approval state.

Only valid when your posting policy on the post's channel requires approval,
and only on your own drafts. Asking for the state the post is already in does
nothing.
- `assets`: `[AssetInput!]` - Ordered list of assets on this post. Omit to preserve the existing list,
pass an empty array to clear it
- `draftId`: `DraftId` - Is set when the Post is generated from a Draft
- `dueAt`: `DateTime` - Date when the post is scheduled to be published
- `ideaId`: `IdeaId` - Is set when the Post is generated from an Idea
- `metadata`: `PostInputMetaData` - Metadata of the post which differs based on the social network/service
- `mode`: `ShareMode` - How the post is being scheduled. Omit the field or pass null to make no
scheduling change — null does not clear or reset the schedule: a scheduled post
keeps its current share mode, queue slot, and any custom time, and the edit
applies only the other provided fields. Pass a non-null ShareMode to apply that
mode.
- `saveToDraft`: `Boolean` - If true, saves the post as a draft instead of keeping it scheduled.
When saving as draft:
- Post status will be 'draft' instead of 'buffer'
- The post will not be published until explicitly scheduled
- `schedulingType`: `SchedulingType` - Scheduling type to indicate notification publishing or automatic publishing.

Omit it, or send null, to leave the post publishing the way it already does.
- `source`: `String` - source where the composer was initiated from, used for tracking.
- `tagIds`: `[TagId!]` - tags
- `text`: `String` - Text content of the Post. Omit the field to keep the current text; pass an
empty string or null to clear it.

Note: for threaded posts, this needs to match the first item in the `thread` array.