ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

PostThatLater

Schedule and manage social media posts across multiple social platforms. Query analytics, manage your queue, and publish immediately — all via natural language. Call GET /api/v1/platforms for the list of platforms active on this instance.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/col000r/postthatlater
Or

PostThatLater Skill

Schedule and manage social media posts from Claude Code or any AI assistant.

Setup

1. Create an account

Sign up at https://postthatlater.com — a subscription is required to use the API.

2. Generate an API key

In PostThatLater: Account Settings → API Keys → Create new key

Copy the sk_ptl_... key — it's shown only once.

3. Set the environment variable

export PTL_API_KEY=sk_ptl_your_key_here

Add to ~/.zshrc or ~/.bashrc to persist across sessions.

4. Verify

curl https://postthatlater.com/api/v1/accounts \
  -H "Authorization: Bearer $PTL_API_KEY"

You should see your connected social media accounts.


Base URL

https://postthatlater.com

All API requests require:

Authorization: Bearer $PTL_API_KEY
Content-Type: application/json   (for POST/PATCH)

Critical Tips for Agents

  1. Call GET /api/v1/accounts first — you need numeric account IDs to schedule posts. Never guess them.
  2. Ask for timezone once per session — all scheduled_at values must be ISO 8601 UTC (e.g. 2026-03-10T09:00:00Z). Convert from the user's local time.
  3. Confirm before publish_now — publishing is immediate and irreversible. Always confirm with the user before calling the publish-now endpoint.
  4. Use Idempotency-Key on every POST/PATCH — generate a UUID per request to prevent duplicate posts on retry. Example: Idempotency-Key: $(uuidgen | tr '[:upper:]' '[:lower:]').
  5. Check platform limits — always call GET /api/v1/platforms to get the live list of available platforms and their limits. Never hardcode a platform list or assume a platform is available.
  6. Cross-posting — pass multiple IDs in account_ids to post the same content everywhere at once. The API creates one post record per account and links them via group_id.
  7. All times are UTC in responses — convert to the user's timezone when displaying scheduled times.
  8. Posting with an image — first POST /api/v1/images with the image URL to get a filename, then pass that filename in the images array of POST /api/v1/posts. Use GET /api/v1/images to list already-stored images that can be reused without re-uploading.

Accounts

List all connected accounts

curl https://postthatlater.com/api/v1/accounts \
  -H "Authorization: Bearer $PTL_API_KEY"

Response:

{
  "data": [
    {
      "id": 12,
      "platform": "bluesky",
      "handle": "you.bsky.social",
      "display_name": "you.bsky.social",
      "status": "connected",
      "created_at": "2026-01-10T08:30:00.000Z",
      "updated_at": "2026-01-10T08:30:00.000Z"
    }
  ],
  "meta": { "request_id": "..." }
}

status is "connected" (healthy) or "error" (needs reconnecting in dashboard).

Get a single account

curl https://postthatlater.com/api/v1/accounts/12 \
  -H "Authorization: Bearer $PTL_API_KEY"

Posts

List posts

Metadata

Author@col000r
Stars3409
Views1
Updated2026-03-25
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-col000r-postthatlater": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.