Postiz Posts API

Create, schedule, list, and delete posts.

Operations 28

GET /posts/{id}/statistics #
GET /posts/{id}/missing #
PUT /posts/{id}/release-id #
POST /posts/{id}/comments #
GET /posts/tags #
POST /posts/tags #
PUT /posts/tags/{id} #
DELETE /posts/tags/{id} #
GET /posts #
POST /posts #
GET /posts/find-slot #
GET /posts/find-slot/{id} #
GET /posts/list #
GET /posts/old #
GET /posts/group/{group}/debug-export #
GET /posts/group/{group} #
DELETE /posts/group/{group} Delete posts by group #
GET /posts/{id} #
DELETE /posts/{id} Delete a post #
POST /posts/valid #
POST /posts/generator/draft #
POST /posts/generator #
DELETE /posts/{group} #
PUT /posts/{id}/date #
POST /posts/separate-posts #
PUT /posts/{id}/status Change post status #
PUT /posts/{id}/settings Update post settings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/postiz-posts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

postiz-posts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Postiz Posts API
  version: '1.0'
  description: 'Operations tagged Posts across 3 of this provider''s published API definitions: postiz-platform-swagger-openapi.json, postiz-posts-api-openapi.yml, postiz-public-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.postiz.com/public/v1
  description: Postiz Cloud
- url: https://{your-domain}/api/public/v1
  description: Self-hosted
  variables:
    your-domain:
      default: localhost:5000
      description: Your Postiz instance domain
tags:
- name: Posts
paths:
  /posts/{id}/statistics:
    get:
      operationId: PostsController_getStatistics
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts/{id}/missing:
    get:
      operationId: PostsController_getMissingContent
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts/{id}/release-id:
    put:
      operationId: PostsController_updateReleaseId
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts/should-shortlink:
    post:
      operationId: PostsController_shouldShortlink
      parameters: []
      responses:
        '201':
          description: ''
      tags:
      - Posts
  /posts/{id}/comments:
    post:
      operationId: PostsController_createComment
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '201':
          description: ''
      tags:
      - Posts
  /posts/tags:
    get:
      operationId: PostsController_getTags
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Posts
    post:
      operationId: PostsController_createTag
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagDto'
      responses:
        '201':
          description: ''
      tags:
      - Posts
  /posts/tags/{id}:
    put:
      operationId: PostsController_editTag
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagDto'
      responses:
        '200':
          description: ''
      tags:
      - Posts
    delete:
      operationId: PostsController_deleteTag
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts:
    get:
      operationId: PostsController_getPosts
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Posts
    post:
      operationId: PostsController_createPost
      parameters: []
      responses:
        '201':
          description: ''
      tags:
      - Posts
  /posts/find-slot:
    get:
      operationId: PostsController_findSlot
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts/find-slot/{id}:
    get:
      operationId: PostsController_findSlotIntegration
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts/list:
    get:
      operationId: PostsController_getPostsList
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts/old:
    get:
      operationId: PostsController_oldPosts
      parameters:
      - name: date
        required: true
        in: query
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts/group/{group}/debug-export:
    get:
      operationId: PostsController_getPostGroupDebugExport
      parameters:
      - name: group
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts/group/{group}:
    get:
      operationId: PostsController_getPostsByGroup
      parameters:
      - name: group
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
    delete:
      tags:
      - Posts
      summary: Delete posts by group
      description: Deletes all posts that share the given group ID.
      operationId: deletePostByGroup
      parameters:
      - name: group
        in: path
        required: true
        description: Group ID
        schema:
          type: string
      responses:
        '200':
          description: Posts deleted
  /posts/{id}:
    get:
      operationId: PostsController_getPost
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
    delete:
      tags:
      - Posts
      summary: Delete a post
      description: Deletes a post by ID. A 404 means the post is already deleted and is safe to ignore.
      operationId: deletePost
      parameters:
      - name: id
        in: path
        required: true
        description: Post ID
        schema:
          type: string
      responses:
        '200':
          description: Post deleted
  /posts/valid:
    post:
      operationId: PostsController_validatePosts
      parameters: []
      responses:
        '201':
          description: ''
      tags:
      - Posts
  /posts/generator/draft:
    post:
      operationId: PostsController_generatePostsDraft
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGeneratedPostsDto'
      responses:
        '201':
          description: ''
      tags:
      - Posts
  /posts/generator:
    post:
      operationId: PostsController_generatePosts
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeneratorDto'
      responses:
        '201':
          description: ''
      tags:
      - Posts
  /posts/{group}:
    delete:
      operationId: PostsController_deletePost
      parameters:
      - name: group
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts/{id}/date:
    put:
      operationId: PostsController_changeDate
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Posts
  /posts/separate-posts:
    post:
      operationId: PostsController_separatePosts
      parameters: []
      responses:
        '201':
          description: ''
      tags:
      - Posts
  /posts/{id}/status:
    put:
      tags:
      - Posts
      summary: Change post status
      description: Changes a post's status between draft and schedule.
      operationId: changePostStatus
      parameters:
      - name: id
        in: path
        required: true
        description: Post ID
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  enum:
                  - draft
                  - schedule
      responses:
        '200':
          description: Status changed
      security:
      - ApiKeyAuth: []
    servers:
    - url: https://api.postiz.com/public/v1
      description: Postiz Cloud
    - url: https://{your-domain}/api/public/v1
      description: Self-hosted
      variables:
        your-domain:
          default: localhost:5000
          description: Your Postiz instance domain
  /posts/{id}/settings:
    put:
      tags:
      - Posts
      summary: Update post settings
      description: Merges the given keys into the post's existing provider settings. Only the keys you pass are changed; content and publish date are untouched, so a running publishing workflow is not restarted. The merged settings are re-validated. Works only on not-yet-published posts (scheduled or draft).
      operationId: updatePostSettings
      parameters:
      - name: id
        in: path
        required: true
        description: Post ID
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - settings
              properties:
                settings:
                  type: object
                  additionalProperties: true
                  description: Provider settings to merge into the post's existing settings. Only the keys you pass are changed; everything else stays. Keys depend on the channel's platform.
            example:
              settings:
                content_posting_method: DIRECT_POST
      responses:
        '200':
          description: Post settings updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  postId:
                    type: string
                  publishDate:
                    type: string
              example:
                postId: post-123
                publishDate: '2026-08-01T10:00:00'
        '400':
          description: The id belongs to a comment (pass the root post id), the post is already published or its publish time passed, or the merged settings failed validation
        '404':
          description: Post not found
      security:
      - ApiKeyAuth: []
    servers:
    - url: https://api.postiz.com/public/v1
      description: Postiz Cloud
    - url: https://{your-domain}/api/public/v1
      description: Self-hosted
      variables:
        your-domain:
          default: localhost:5000
          description: Your Postiz instance domain
components:
  schemas:
    CreateTagDto:
      type: object
      properties: {}
    CreateGeneratedPostsDto:
      type: object
      properties: {}
    GeneratorDto:
      type: object
      properties: {}
    Tag:
      type: object
      required:
      - value
      - label
      properties:
        value:
          type: string
        label:
          type: string
    CreatePostRequest:
      type: object
      required:
      - type
      - date
      - shortLink
      - tags
      properties:
        type:
          type: string
          enum:
          - draft
          - schedule
          - now
          description: Post type.
        date:
          type: string
          format: date-time
          description: Publish date in UTC ISO format.
        shortLink:
          type: boolean
          description: Whether to use short links.
        order:
          type: string
          description: Order of posts.
        inter:
          type: number
          description: Interval between posts.
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        posts:
          type: array
          description: Required if type is not 'draft'.
          items:
            $ref: '#/components/schemas/PostItem'
    PostItem:
      type: object
      required:
      - integration
      - value
      properties:
        integration:
          type: object
          required:
          - id
          properties:
            id:
              type: string
              description: Integration ID.
        value:
          type: array
          items:
            $ref: '#/components/schemas/PostContent'
        group:
          type: string
          description: Group ID for related posts.
        settings:
          type: object
          description: Platform-specific settings, selected by the __type discriminator (e.g. x, linkedin, instagram, youtube, tiktok, reddit, discord, slack, telegram, mastodon, bluesky, wordpress, medium, devto).
          properties:
            __type:
              type: string
    PostsResponse:
      type: object
      properties:
        posts:
          type: array
          items:
            $ref: '#/components/schemas/Post'
    PostContent:
      type: object
      required:
      - content
      properties:
        content:
          type: string
          description: Post text content.
        id:
          type: string
          description: Post ID (for updates).
        image:
          type: array
          items:
            $ref: '#/components/schemas/Media'
    Media:
      type: object
      required:
      - id
      - path
      properties:
        id:
          type: string
        path:
          type: string
    Post:
      type: object
      properties:
        id:
          type: string
        content:
          type: string
        publishDate:
          type: string
          format: date-time
        releaseURL:
          type: string
          description: URL of the published post.
        state:
          type: string
          enum:
          - QUEUE
          - PUBLISHED
          - ERROR
          - DRAFT
        integration:
          type: object
          properties:
            id:
              type: string
            providerIdentifier:
              type: string
            name:
              type: string
            picture:
              type: string
    MissingContentItem:
      type: object
      properties:
        id:
          type: string
          description: Platform-specific content ID
        url:
          type: string
          description: Thumbnail or preview URL for the content
    DevToSettings:
      title: Dev.to
      type: object
      required:
      - __type
      - title
      properties:
        __type:
          type: string
          enum:
          - devto
        title:
          type: string
          minLength: 2
          description: Article title
        main_image:
          $ref: '#/components/schemas/Media'
          description: Cover image
        canonical:
          type: string
          format: uri
          description: Original URL for SEO
        organization:
          type: string
          description: Organization ID
        tags:
          type: array
          maxItems: 4
          items:
            $ref: '#/components/schemas/Tag'
    MediumSettings:
      title: Medium
      type: object
      required:
      - __type
      - title
      - subtitle
      properties:
        __type:
          type: string
          enum:
          - medium
        title:
          type: string
          minLength: 2
          description: Article title
        subtitle:
          type: string
          minLength: 2
          description: Article subtitle
        canonical:
          type: string
          format: uri
          description: Original URL for SEO
        publication:
          type: string
          description: Publication ID to post to
        tags:
          type: array
          maxItems: 4
          items:
            $ref: '#/components/schemas/Tag'
    PostContent_2:
      type: object
      required:
      - content
      properties:
        content:
          type: string
          description: Post text content
        id:
          type: string
          description: Post ID (for updates)
        image:
          type: array
          items:
            $ref: '#/components/schemas/Media'
    WhopSettings:
      title: Whop
      type: object
      required:
      - __type
      - company
      - experience
      description: Whop post settings
      properties:
        __type:
          type: string
          enum:
          - whop
        company:
          type: string
          minLength: 1
          description: Company ID
        experience:
          type: string
          minLength: 1
          description: Experience/forum ID
        title:
          type: string
          description: Post title
    EmptySettings:
      title: Other Platforms (Threads, Mastodon, Bluesky, etc.)
      type: object
      required:
      - __type
      description: For platforms that don't require additional settings
      properties:
        __type:
          type: string
          enum:
          - threads
          - mastodon
          - bluesky
          - telegram
          - nostr
          - vk
          - kick
          description: Platform identifier
    DiscordSettings:
      title: Discord
      type: object
      required:
      - __type
      - channel
      properties:
        __type:
          type: string
          enum:
          - discord
        channel:
          type: string
          minLength: 1
          description: Discord channel ID
    RedditSettings:
      title: Reddit
      type: object
      required:
      - __type
      - subreddit
      properties:
        __type:
          type: string
          enum:
          - reddit
        subreddit:
          type: array
          minItems: 1
          items:
            type: object
            properties:
              value:
                type: object
                required:
                - subreddit
                - title
                - type
                - is_flair_required
                properties:
                  subreddit:
                    type: string
                    minLength: 2
                    description: Subreddit name without r/
                  title:
                    type: string
                    minLength: 2
                    description: Post title
                  type:
                    type: string
                    enum:
                    - self
                    - link
                    - image
                    - video
                    description: Post type
                  url:
                    type: string
                    description: URL for link posts
                  is_flair_required:
                    type: boolean
                  flair:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
    TwitchSettings:
      title: Twitch
      type: object
      required:
      - __type
      description: Twitch post settings
      properties:
        __type:
          type: string
          enum:
          - twitch
        messageType:
          type: string
          enum:
          - message
          - announcement
          description: Message type
        announcementColor:
          type: string
          enum:
          - primary
          - blue
          - green
          - orange
          - purple
          description: Announcement color (only for announcement type)
    YouTubeSettings:
      title: YouTube
      type: object
      required:
      - __type
      - title
      - type
      properties:
        __type:
          type: string
          enum:
          - youtube
        title:
          type: string
          minLength: 2
          maxLength: 100
          description: Video title
        type:
          type: string
          enum:
          - public
          - private
          - unlisted
          description: Video visibility
        selfDeclaredMadeForKids:
          type: string
          enum:
          - 'yes'
          - 'no'
          description: Made for kids declaration
        thumbnail:
          $ref: '#/components/schemas/Media'
          description: Custom thumbnail
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    MoltbookSettings:
      title: Moltbook
      type: object
      required:
      - __type
      - submolt
      description: Moltbook post settings
      properties:
        __type:
          type: string
          enum:
          - moltbook
        submolt:
          type: string
          minLength: 1
          description: Submolt (community) ID
    InstagramSettings:
      title: Instagram
      type: object
      required:
      - __type
      - post_type
      properties:
        __type:
          type: string
          enum:
          - instagram
          - instagram-standalone
          description: Use 'instagram' for FB-linked, 'instagram-standalone' for standalone
        post_type:
          type: string
          enum:
          - post
          - story
          description: Type of Instagram post
        is_trial_reel:
          type: boolean
          description: Whether to post as a trial reel
        graduation_strategy:
          type: string
          enum:
          - MANUAL
          - SS_PERFORMANCE
          description: Graduation strategy for trial reels
        collaborators:
          type: array
          items:
            type: object
            properties:
              label:
                type: string
                description: Collaborator username
    CreatePostRequest_2:
      type: object
      required:
      - type
      - date
      - shortLink
      - tags
      properties:
        type:
          type: string
          enum:
          - draft
          - schedule
          - now
          description: Post type
        date:
          type: string
          format: date-time
          description: Publish date in UTC ISO format
        shortLink:
          type: boolean
          description: Whether to use short links
        order:
          type: string
          description: Order of posts
        inter:
          type: number
          description: Interval between posts
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        posts:
          type: array
          items:
            $ref: '#/components/schemas/PostItem_2'
          description: Required if type is not 'draft'
    GmbSettings:
      title: Google My Business
      type: object
      required:
      - __type
      description: Google My Business post settings
      properties:
        __type:
          type: string
          enum:
          - gmb
        topicType:
          type: string
          enum:
          - STANDARD
          - EVENT
          - OFFER
          description: Post type
        callToActionType:
          type: string
          enum:
          - NONE
          - BOOK
          - ORDER
          - SHOP
          - LEARN_MORE
          - SIGN_UP
          - GET_OFFER
          - CALL
          description: Call-to-action button
        callToActionUrl:
          type: string
          format: uri
          description: URL for CTA (required if callToActionType is set)
        eventTitle:
          type: string
          description: Event title (required for EVENT type)
        eventStartDate:
          type: string
          description: Event start date
        eventEndDate:
          type: string
          description: Event end date
        eventStartTime:
          type: string
          description: Event start time
        eventEndTime:
          type: string
          description: Event end time
        offerCouponCode:
          type: string
          description: Coupon code (for OFFER type)
        offerRedeemUrl:
          type: string
          format: uri
          description: Redemption URL
        offerTerms:
          type: string
          description: Offer terms and conditions
    SkoolSettings:
      title: Skool
      type: object
      required:
      - __type
      - group
      - label
      - title
      description: Skool post settings
      properties:
        __type:
          type: string
          enum:
          - skool
        group:
          type: string
          minLength: 1
          description: Group ID
        label:
          type: string
          minLength: 1
          description: Label/category ID
        title:
          type: string
          minLength: 1
          description: Post title
    WarpcastSettings:
      title: Warpcast
      type: object
      required:
      - __type
      description: Warpcast (Farcaster) post settings
      properties:
        __type:
          type: string
          enum:
          - warpcast
        subreddit:
          type: array
          description: Farcaster channels to post to
          items:
            type: object
            properties:
              value:
                type: object
                required:
                - id
                properties:
                  id:
                    type: string
                    description: Channel ID
    ListmonkSettings:
      title: Listmonk
      type: object
      required:
      - __type
      - subject
      - preview
      - list
      properties:
        __type:
          type: string
          enum:
          - listmonk
        subject:
          type: string
          minLength: 1
          description: Email subject line
        preview:
          type: string
          description: Email preview text
        list:
          type: string
          description: List ID to send to
        template:
          type: string
          description: Template ID (optional)
    Post_2:
      type: object
      properties:
        id:
          type: string
        content:
          type: string
        settings:
          type: object
          additionalProperties: true
          description: The post's current provider-specific settings (the same shape used when creating the post). Keys depend on the channel's platform.
          example:
            content_posting_method: DIRECT_POST
        publishDate:
          type: string
          format: date-time
        releaseURL:
          type: string
          description: URL of the published post
        state:
          type: string
          enum:
          - QUEUE
          - PUBLISHED
          - ERROR
          - DRAFT
        integration:
          type: object
          properties:
            id:
              type: string
            providerIdentifier:
              type: string
            name:
              type: string
            picture:
              type: string
    FacebookSettings:
      title: Facebook
      type: object
      required:
      - __type
      description: Facebook post settings
      properties:
        __type:
          type: string
          enum:
          - facebook
        url:
          type: string
          format: uri
          description: Optional link URL to include in the post
    PostItem_2:
      type: object
      required:
      - integration
      - value
      properties:
        integration:
          type: object
          required:
          - id
          properties:
            id:
              type: string
              description: Integration ID
        value:
          type: array
          items:
            $ref: '#/components/schemas/PostContent_2'
        group:
          type: string
          description: Group ID for related posts
        settings:
          oneOf:
          - $ref: '#/components/schemas/XSettings'
          - $ref: '#/components/schemas/LinkedInSettings'
          - $ref: '#/components/schemas/InstagramSettings'
          - $ref: '#/components/schemas/FacebookSettings'
          - $ref: '#/components/schemas/YouTubeSettings'
          - $ref: '#/components/schemas/TikTokSettings'
          - $ref: '#/components/schemas/RedditSettings'
          - $ref: '#/components/schemas/LemmySettings'
          - $ref: '#/components/schemas/PinterestSettings'
          - $ref: '#/components/schemas/DiscordSettings'
          - $ref: '#/components/schemas/SlackSettings'
          - $ref: '#/components/schemas/TwitchSettings'
          - $ref: '#/components/schemas/DribbbleSettings'
          - $ref: '#/components/schemas/MediumSettings'
          - $ref: '#/components/schemas/DevToSettings'
          - $ref: '#/components/schemas/HashnodeSettings'
          - $ref: '#/components/schemas/WordpressSettings'
          - $ref: '#/components/schemas/ListmonkSettings'
          - $ref: '#/components/schemas/GmbSettings'
          - $ref: '#/components/schemas/WarpcastSettings'
          - $ref: '#/components/schemas/MoltbookSettings'
          - $ref: '#/components/schemas/SkoolSettings'
          - $ref: '#/components/schemas/WhopSettings'
          - $ref: '#/components/schemas/EmptySettings'
          description: Provider-specific settings
    LinkedInSettings:
      title: LinkedIn
      type: object
      required:
      - __type
      properties:
        __type:
          type: string
          enum:
          - linkedin
          - linkedin-page
          description: Use 'linkedin' for profiles, 'linkedin-page' for company pages
        post_as_images_carousel:
          type: boolean
          description: Display multiple images as a carousel
        carousel_name:
          type: string
          description: Name for the carousel document
    HashnodeSettings:
      title: Hashnode
      type: object
      required:
      - __type
      - title
      - tags
      properties:
        __type:
          type: string
          enum:
          - hashnode
        title:
          type: string
          minLength: 6
          description: Article title
        subtitle:
          type: string
          minLength: 2
          description: Article subtitle
        main_image:
          $ref: '#/components/schemas/Media'
          description: Cover image
        canonical:
          type: string
          format: uri
          description: Original URL for SEO
        publication:
          type: string
          description: Publication ID (required)
        tags:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/Tag'
    DribbbleSettings:
      title: Dribbble
      type: object
      required:
      - __type
      - title
      properties:
        __type:
          type: string
          enum:
          - dribbble
        title:
          type: string
          minLength: 1
          description: Shot title
        team:
          type: string
          format: uri
          description: Team URL
    PinterestSettings:
      title: Pinterest
      type: object
      required:
      - __type
      - board
      properties:
        __type:
          type: string
          enum:
          - pinterest
        board:
          type: string
          minLength: 1
          description: Board ID
        title:
          type: string
          maxLength: 100
        link:
          type: string
          format: uri
        dominant_color:
          type: string
    SlackSettings:
      title: Slack
      type: object
      required:
      - __type
      - channel
      properties:
        __type:
          type: string
          enum:
          - slack
        channel:
          type: string
          minLength: 1
          description: Slack channel ID
    XSettings:
      title: X (Twitter)
      type: object
      required:
      - __type
      - who_can_reply_post
      properties:
        __type:
          type: string
          enum:
          - x
          description: Must be 'x'
        who_can_reply_post:
          type: string
          enum:
          - everyone
          - following
          - mentionedUsers
          - subscribers
          - verified
          description: Who can reply to the post
        community:
          type: string
          description: 'X Community URL (format: https://x.com/i/communities/123)'
    LemmySettings:
      title: Lemmy
      type: object
      required:
      - __type
      - subreddit
      description: Lemmy uses 'subreddit' for communities (historical naming)
      properties:
        __type:
          type: string
          enum:
          - lemmy
        subreddit:
          type: array
          minIte

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/postiz/refs/heads/main/openapi/postiz-posts-api-openapi.yml