---
title: "Dashboard compose"
method: POST
path: "/v1/dashboard/compose"
tags: ["Dashboard Browser API"]
---

# Dashboard compose

`POST /v1/dashboard/compose`

## Request

- Base URL: `https://getsocialclaw.com`
- URL: `https://getsocialclaw.com/v1/dashboard/compose`
- Auth: API key in cookie `socialclaw_dash_session`

Creates a scheduled run from dashboard compose state and can publish immediately.

## Request body

- DashboardComposeRequest: Dashboard compose request. Supports one account or a targets array.
  - `title` string, nullable: Post title. Also accepted as name.
  - `text` string, nullable: Post body. Also accepted as description.
  - `account` string, nullable: Single account handle.
  - `accountHandle` string, nullable: Alias for account.
  - `targets` object[]: Multi-channel targets.
    - `account` string: Account handle.
    - `accountHandle` string, nullable: Alias for account.
    - `settings` object
  - `assets` AssetInput[]: Assets for the post.
    - `id` string, nullable: Client-side or SocialClaw asset id.
    - `url` string, required: Publicly reachable media URL.
    - `managed` boolean: True when this is a SocialClaw-managed asset.
    - `originalFilename` string, nullable: Original file name.
    - `mime` string, nullable: MIME type.
    - `kind` 'image' | 'video' | 'audio' | 'other' | 'null', nullable
    - `size` integer, nullable: File size in bytes.
    - `duration` number, nullable: Duration in seconds for video/audio.
    - `width` integer, nullable: Media width in pixels.
    - `height` integer, nullable: Media height in pixels.
    - `altText` string, nullable: Alt text where the provider supports it.
  - `timezone` string, nullable: IANA timezone. Defaults to UTC.
  - `publishAt` string, date-time, nullable: Scheduled publish time.
  - `publishNow` boolean: Publish immediately when true.
  - `campaignName` string, nullable: Campaign name for multi-target posts.

## Response `201`

Successful response.

- RunResponse: Run creation or detail response.
  - `ok` unknown, required
  - `duplicate` boolean: True when idempotency reused an existing run.
  - `mode` string, nullable: draft or scheduled.
  - `sourceModel` string, nullable: posts_v1 or campaigns_v2.
  - `run` Run: Publishing run.
    - `id` string, required: Run id.
    - `status` 'draft' | 'created' | 'processing' | 'completed' | 'partial_failed', required
    - `mode` string, nullable: draft or scheduled.
    - `source` string, nullable: api, dashboard, or system source.
    - `totalPosts` integer: Number of posts in the run.
    - `createdAt` string, date-time, nullable: Creation time.
    - `updatedAt` string, date-time, nullable: Last update time.
  - `posts` Post[]: Posts in the run.
    - `id` string, required: Post id.
    - `runId` string, nullable: Run id.
    - `provider` 'x' | 'threads' | 'meta' | 'facebook' | 'instagram_business' | 'instagram' | 'snapchat' | 'tiktok' | 'linkedin' | 'linkedin_page' | 'pinterest' | 'youtube' | 'reddit' | 'discord' | 'telegram' | 'wordpress', required
    - `account` string, required: Connected account handle.
    - `accountId` string, nullable: Connected account id.
    - `status` 'draft' | 'scheduled' | 'publishing' | 'published' | 'action_required' | 'retry_pending' | 'failed' | 'canceled', required
    - `name` string, nullable: Post name or title.
    - `description` string, nullable: Post body text.
    - `publishAtUtc` string, date-time, nullable: UTC publish time.
    - `providerPostId` string, nullable: Provider-side post id after publish.
    - `providerUrl` string, uri, nullable: Provider-side URL when available.
    - `error` string, nullable: Last error message.
    - `attempts` integer: Publish attempt count.
  - `summary` object, nullable

## Other responses

- `400`: Invalid request.
- `401`: Missing, invalid, or unauthorized credentials.
- `404`: Requested resource was not found.
- `422`: Request body or semantic validation failed.

---

[API](https://skmtc.dev/getsocialclaw/apis/socialclaw-api.md) · [All operations](https://skmtc.dev/getsocialclaw/apis/socialclaw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getsocialclaw/apis/socialclaw-api/revisions/a11a6a5b9bc6?raw)
