---
title: "Create a ephemeral post"
method: POST
path: "/api/v4/posts/ephemeral"
tags: ["posts"]
---

# Create a ephemeral post

`POST /api/v4/posts/ephemeral`

Create a new ephemeral post in a channel.
##### Permissions
Must have `create_post_ephemeral` permission (currently only given to system admin)

## Request body

- object
  - `user_id` string, required — The target user id for the ephemeral post
  - `post` object, required — Post object to create
    - `channel_id` string, required — The channel ID to post in
    - `message` string, required — The message contents, can be formatted with Markdown

## Response `201`

Post creation successful

- 38cb7293Post
  - `id` string
  - `create_at` integer — The time in milliseconds a post was created
  - `update_at` integer — The time in milliseconds a post was last updated
  - `delete_at` integer — The time in milliseconds a post was deleted
  - `edit_at` integer
  - `user_id` string
  - `channel_id` string
  - `root_id` string
  - `original_id` string
  - `message` string
  - `type` string
  - `props` object
  - `hashtag` string
  - `file_ids` string[]
  - `pending_post_id` string
  - `metadata` 38cb7293PostMetadata — Additional information used to display a post.
    - `embeds` object[] — Information about content embedded in the post including OpenGraph previews, image link previews, and message attachments. This field will be null if the post does not contain embedded content.
      - `type` 'image' | 'message_attachment' | 'opengraph' | 'link' — The type of content that is embedded in this point.
      - `url` string — The URL of the embedded content, if one exists.
      - `data` object — Any additional information about the embedded content. Only used at this time to store OpenGraph metadata. This field will be null for non-OpenGraph embeds.
    - `emojis` 38cb7293Emoji[] — The custom emojis that appear in this point or have been used in reactions to this post. This field will be null if the post does not contain custom emojis.
      - `id` string — The ID of the emoji
      - `creator_id` string — The ID of the user that made the emoji
      - `name` string — The name of the emoji
      - `create_at` integer — The time in milliseconds the emoji was made
      - `update_at` integer — The time in milliseconds the emoji was last updated
      - `delete_at` integer — The time in milliseconds the emoji was deleted
    - `files` 38cb7293FileInfo[] — The FileInfo objects for any files attached to the post. This field will be null if the post does not have any file attachments.
      - `id` string — The unique identifier for this file
      - `user_id` string — The ID of the user that uploaded this file
      - `post_id` string — If this file is attached to a post, the ID of that post
      - `create_at` integer — The time in milliseconds a file was created
      - `update_at` integer — The time in milliseconds a file was last updated
      - `delete_at` integer — The time in milliseconds a file was deleted
      - `name` string — The name of the file
      - `extension` string — The extension at the end of the file name
      - `size` integer — The size of the file in bytes
      - `mime_type` string — The MIME type of the file
      - `width` integer — If this file is an image, the width of the file
      - `height` integer — If this file is an image, the height of the file
      - `has_preview_image` boolean — If this file is an image, whether or not it has a preview-sized version
    - `images` object — An object mapping the URL of an external image to an object containing the dimensions of that image. This field will be null if the post or its embedded content does not reference any external images.
    - `reactions` 38cb7293Reaction[] — Any reactions made to this point. This field will be null if no reactions have been made to this post.
      - `user_id` string — The ID of the user that made this reaction
      - `post_id` string — The ID of the post to which this reaction was made
      - `emoji_name` string — The name of the emoji that was used for this reaction
      - `create_at` integer — The time in milliseconds this reaction was made

## Other responses

- `400` — Invalid or missing parameters in URL or request body
- `401` — No access token provided
- `403` — Do not have appropriate permissions

---

[API](https://skmtc.dev/infomaniak/apis/api-reference-developer-tools.md) · [All operations](https://skmtc.dev/infomaniak/apis/api-reference-developer-tools/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/infomaniak/api-reference-developer-tools/revisions/667aae28fec6/schema)
