n8n integration

Connect self-hosted workflows to PostUno using the HTTP Request node.

Step by step

  1. Create Header Auth credentials in n8n with Authorization=Bearer YOUR_API_KEY.
  2. Add an HTTP Request node: POST https://api.post-uno.com/v1/media/upload-url once per file, then a node that PUTs each file to its uploadUrl.
  3. Add a final HTTP Request node: POST https://api.post-uno.com/v1/posts with Content-Type JSON.
  4. For a carousel, collect the keys into s3Keys (plural) — Instagram takes 2–10 items, X takes up to 4.
  5. Store the returned jobId and poll https://api.post-uno.com/v1/posts/JOB_ID for per-platform results.

Sample payload

{
  "profileId": "={{ $json.profileId }}",
  "s3Keys": ["={{ $json.key1 }}", "={{ $json.key2 }}"],
  "postType": "carousel",
  "caption": "={{ $json.caption }}",
  "platforms": ["instagram", "x"]
}

profileId must be a profile UUID your API key owns — take it from the profile_id on any account returned by GET /v1/accounts. A profile belonging to another account, one that does not exist, or a value that is not a UUID all return the same 404 { "error": "Profile not found" }.