Search

Search the docs…

Build

Automations

Publish from a new blog post, a product launch or a spreadsheet row. Any tool that can send an HTTP request can schedule posts with a project API key.

What you need
A project API key (ptk_…) from Connect AI → Project keys (Conectar IA → Claves de proyecto), and the channel IDs from GET /api/v1/channels. See the Quickstart.

Every recipe below sends the same request:

Method
POST
URL
https://postika.app/api/v1/posts
Header
Authorization: Bearer ptk_…
Body
JSON: content, channel_ids, when, mode
Body
{
  "content": "New on the blog: How we cut our build time in half",
  "channel_ids": [
    "8d0c6f8e-2b7a-4c1e-9f43-2f1d7a8b5c10"
  ],
  "when": "2026-11-12 09:30",
  "mode": "approval"
}

when is in the project's local time. Use approval while you test so nothing goes out without you.

n8n

HTTP Request node

  1. 1
    Add an HTTP Request node after your trigger (RSS, form, schedule…).
  2. 2
    Method POST, URL https://postika.app/api/v1/posts.
  3. 3
    Authentication: Generic credential type → Header Auth. Name Authorization, value Bearer ptk_….
  4. 4
    Turn on Send Body, content type JSON, and paste the body using expressions:
JSON body
{
  "content": "{{ $json.title }} {{ $json.link }}",
  "channel_ids": [
    "8d0c6f8e-2b7a-4c1e-9f43-2f1d7a8b5c10"
  ],
  "when": "{{ $now.plus({ days: 1 }).toFormat('yyyy-MM-dd HH:mm') }}",
  "mode": "approval"
}

AI Agent with MCP

To let an n8n AI Agent decide what to post, add an MCP Client Tool to the agent with endpoint https://postika.app/api/mcp, transport HTTP Streamable and Bearer authentication with your key. The agent gets the five Postika tools.

Make

  1. 1
    Add the HTTP → Make a request module to your scenario.
  2. 2
    URL https://postika.app/api/v1/posts, method POST.
  3. 3
    Headers: Authorization = Bearer ptk_….
  4. 4
    Body type Raw, content type JSON (application/json), and the request content below.
  5. 5
    Turn on Parse response to use data.id and data.status in later modules.
Request content
{
  "content": "{{1.title}}",
  "channel_ids": ["8d0c6f8e-2b7a-4c1e-9f43-2f1d7a8b5c10"],
  "when": "{{formatDate(addDays(now; 1); "YYYY-MM-DD HH:mm")}}",
  "mode": "approval"
}

Zapier

  1. 1
    Add an action step: Webhooks by Zapier → Custom Request.
  2. 2
    Method POST, URL https://postika.app/api/v1/posts.
  3. 3
    Data: paste the JSON body and insert fields from earlier steps. Use a Formatter → Date / Time step to produce YYYY-MM-DD HH:mm for when.
  4. 4
    Headers: Authorization = Bearer ptk_… and Content-Type = application/json.
  5. 5
    Test the step: a successful call returns the new post ID and status.
Errors come back as { "error": "…" } with a 4xx status, so failed runs show the reason in the tool's history. The full list is in Errors & limits.