FansquareAPI reference
Open the app

Publications

Create a publication

POST/v1/publications

Creates a post or story. With scheduled_at it is scheduled (a media is required); without it, a draft is created and the media can be attached later. The actual publishing to MYM is handled asynchronously by Fansquare.

Required scopewrite:publications
Rate limit60 requests per minute
curl -X POST 'https://api.fansquare.so/v1/publications' \
  -H "Authorization: Bearer $API_KEY" \
  -H "Fansquare-Version: Amethyste" \
  -H "Content-Type: application/json" \
  -d '{
  "creator_id": "m81IhLxdhzDGYs54rNp2",
  "type": "post",
  "media_uuid": "b12eacb2-afea-4959-a0d0-b685e6b49279",
  "caption": "New set tonight",
  "is_public": false,
  "playlists": [
    "dc858a1c-bfca-4ab8-a445-cc2d76e1b784"
  ],
  "scheduled_at": "2026-10-14T19:00:00.000Z"
}'
{
  "id": "6136681c-548b-4fca-a86b-8f73b2926652",
  "creator_id": "m81IhLxdhzDGYs54rNp2",
  "type": "post",
  "status": "scheduled",
  "scheduled_at": "2026-10-14T19:00:00.000Z",
  "published_at": null,
  "media_uuid": "b12eacb2-afea-4959-a0d0-b685e6b49279",
  "caption": "New set tonight",
  "is_public": false,
  "audiences": [],
  "playlists": [
    "dc858a1c-bfca-4ab8-a445-cc2d76e1b784"
  ],
  "auto_action": "none",
  "auto_action_seconds": null,
  "failure_reason": null,
  "created_at": "2026-10-12T21:14:00.000Z"
}

Parameters

Headers

  • Fansquare-Versionstringrequired

    API version to pin. Accepts the mineral name or the release date of a version.

Body

application/json

  • creator_idstringrequired

    Fansquare creator id (see GET /v1/creators).

    min length 1
  • typestringrequired

    post or story.

    Valuespoststory
  • media_uuidstring

    MYM media uuid. Optional: omit to create a draft, attach later.

    format uuid
  • captionstring

    Post caption (posts only).

    max length 1500
  • is_publicboolean

    Post visibility (posts only). Defaults to private.

  • audiencesarray of strings

    Story audiences (stories only). Required to schedule a story.

    Valuessubscribersinterestedex_subscriberseveryone
  • playlistsarray of strings

    MYM playlist uuids (posts only).

    format uuid
  • scheduled_atstring

    Set to schedule the publication (requires a media). Omit to create a draft.

    format date-time
  • auto_actionstring

    Automatic action after publish.

    Valuesnonedeletepass_private
  • auto_action_secondsinteger

    Delay before the auto action (seconds).

    > 0max 2592000

Response

Created, application/json

  • idstringrequired

    Fansquare publication id. Path parameter of the /v1/publications/{publication_id} routes.

  • creator_idstringrequired

    Fansquare creator id (see GET /v1/creators).

  • typestringrequired

    A feed post or a story.

    Valuespoststory
  • statusstringrequired

    draft (no date yet), scheduled, published, failed (see failure_reason) or cancelled.

    Valuesscheduledpublisheddraftfailedcancelled
  • scheduled_atstringrequired

    When the publication is scheduled (ISO 8601). A draft carries a placeholder value.

    format date-time
  • published_atstring | nullrequired

    When it was actually published (ISO 8601), or null.

    format date-time
  • media_uuidstring | nullrequired

    MYM media uuid attached to the publication. null for a draft without media yet.

  • captionstring | nullrequired

    Post caption. null for stories.

  • is_publicboolean | nullrequired

    Post visibility. null for stories.

  • audiencesarray of stringsrequired

    Story audiences. Empty for posts.

    Valuessubscribersinterestedex_subscriberseveryone
  • playlistsarray of stringsrequired

    MYM playlist uuids the post is added to. Empty for stories.

  • auto_actionstringrequired

    Automatic action after publishing: none, delete (remove it) or pass_private (make it private).

    Valuesnonedeletepass_private
  • auto_action_secondsinteger | nullrequired

    Delay in seconds between publishing and the automatic action, or null without one.

  • failure_reasonstring | nullrequired

    Why publishing failed, when status is failed; null otherwise.

  • created_atstringrequired

    When the publication was created (ISO 8601).

    format date-time
curl -X POST 'https://api.fansquare.so/v1/publications' \
  -H "Authorization: Bearer $API_KEY" \
  -H "Fansquare-Version: Amethyste" \
  -H "Content-Type: application/json" \
  -d '{
  "creator_id": "m81IhLxdhzDGYs54rNp2",
  "type": "post",
  "media_uuid": "b12eacb2-afea-4959-a0d0-b685e6b49279",
  "caption": "New set tonight",
  "is_public": false,
  "playlists": [
    "dc858a1c-bfca-4ab8-a445-cc2d76e1b784"
  ],
  "scheduled_at": "2026-10-14T19:00:00.000Z"
}'
{
  "id": "6136681c-548b-4fca-a86b-8f73b2926652",
  "creator_id": "m81IhLxdhzDGYs54rNp2",
  "type": "post",
  "status": "scheduled",
  "scheduled_at": "2026-10-14T19:00:00.000Z",
  "published_at": null,
  "media_uuid": "b12eacb2-afea-4959-a0d0-b685e6b49279",
  "caption": "New set tonight",
  "is_public": false,
  "audiences": [],
  "playlists": [
    "dc858a1c-bfca-4ab8-a445-cc2d76e1b784"
  ],
  "auto_action": "none",
  "auto_action_seconds": null,
  "failure_reason": null,
  "created_at": "2026-10-12T21:14:00.000Z"
}