Posting APIAPI

Eén POST om overal te publiceren

Maak één keer een post, geef de accounts op die hij moet bereiken, en FoPost regelt de opmaak, media-upload en levering per netwerk. Sleutels met scopes, idempotente requests en een leveringsstatus die je kunt opvragen of via een webhook kunt ontvangen.

POST /v1/posts
curl -X POST https://api.fopost.com/v1/posts \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "9b2f6c1e-...",
    "content": [{ "text": "Shipped a new release today." }],
    "accounts": ["4a71d80b-...", "c30e9f12-..."]
  }'

curl -X POST https://api.fopost.com/v1/posts/7d3e0a52-.../publish \
  -H "X-API-Key: $API_KEY"

Elk netwerk, één formaat

Dezelfde requestbody publiceert op X, LinkedIn, Instagram en elk ander gekoppeld account.

Sleutels met scopes

Een sleutel met de scope publish kan posten en verder niets. Trek hem in zonder de andere aan te raken.

Levering per account

Elk account meldt zijn eigen status, externe id en permalink zodra de post live is.

Publiceren

Schrijf de post één keer, richt op elke set accounts

Geef de tekst, media en de accounts op die je wilt bereiken. FoPost past de limieten en conventies van elk netwerk toe, uploadt media in het formaat dat het platform wil en geeft een post-id terug die je kunt volgen. Threads, carrousels en lange teksten gebruiken allemaal dezelfde content-array.

Lees de posting-referentie
Response
{
  "post_status": "publishing",
  "deliveries": [
    { "id": "a3c5e7f9-...", "account_id": "4a71d80b-...", "status": "queued", "external_url": null, "posted_at": null, "attempts": 0 },
    { "id": "b4d6f8a0-...", "account_id": "c30e9f12-...", "status": "queued", "external_url": null, "posted_at": null, "attempts": 0 }
  ],
  "health_warnings": []
}

Contentblokken

Geordende blokken worden een thread, een carrousel of een tekst, afhankelijk van het netwerk.

Media via referentie

Upload één keer naar de mediabibliotheek en koppel via id aan zoveel posts als je wilt.

Idempotent

Stuur een idempotency-sleutel mee en een herhaald request post nooit dubbel.

Volgen

Weet precies waar elke post is aangekomen

Een post splitst zich op in één levering per account. Vraag het deliveries-endpoint op of abonneer je op een webhook en je krijgt de platformstatus, de externe id, de permalink en de fouttekst als een netwerk iets weigert.

Bekijk webhook-events
Gekoppelde accounts op elk netwerk in één werkruimte

Deliveries-endpoint

GET /v1/posts/:id/deliveries toont elk account met zijn eigen status.

Webhook-events

delivery.published en delivery.failed gaan af zodra een levering is afgerond.

Ingebouwde herhaalpogingen

Tijdelijke platformfouten worden met backoff opnieuw geprobeerd voordat ze als mislukt worden gemeld.

Beheren

Bewerk, annuleer en verwijder vanuit code

De hele levenscyclus zit in de API. Werk een ingeplande post bij voordat hij uitgaat, annuleer hem of verwijder een gepubliceerde post van het netwerk waarop hij staat. Labels en werkruimtes houden klantwerk gescheiden als je meer dan één merk beheert.

Begin met bouwen
PUT /v1/posts/:id
curl -X PUT https://api.fopost.com/v1/posts/7d3e0a52-... \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "content": [{ "text": "Updated copy." }] }'

Bewerken voor publicatie

Wijzig tekst, media of accounts van alles wat nog in de wachtrij staat.

Labels

Tag posts per campagne of klant en filter elk list-endpoint op label.

Werkruimtes

Sleutels gelden per werkruimte, dus de ene klant kan nooit bij de andere.

Vragen over Posting API, beantwoord

Hoe authenticeer ik?

Maak een API-sleutel aan in het dashboard onder Settings en stuur hem mee in een X-API-Key-header. Elke sleutel hoort bij één werkruimte en heeft alleen de scopes die jij toekent.

Op welke netwerken kan ik posten?

Elk account dat aan de werkruimte is gekoppeld, op elk netwerk dat FoPost ondersteunt. Het requestformaat is voor allemaal hetzelfde.

Kan ik afbeeldingen en video toevoegen?

Ja. Upload één keer via de Media API en verwijs daarna naar de media-id in de post. Limieten voor grootte en formaat per netwerk worden voor je toegepast.

Wat gebeurt er als een netwerk niet beschikbaar is?

De levering wordt met backoff opnieuw geprobeerd. Mislukt die toch, dan wordt de levering als mislukt gemarkeerd met de platformfout en gaat er een delivery.failed-webhook af.

Is er een rate limit?

Ja, 100 requests per minuut per sleutel. De limiet en het resterende aantal staan in de responsheaders.

Is er een SDK?

Een getypeerde TypeScript-SDK, een MCP-server voor AI-clients en gratis PHP-, Laravel- en WordPress-pakketten. Voor elke andere taal wordt de OpenAPI-specificatie vanuit de API aangeboden.

Bouw vandaag nog op de Posting API

Starten is gratis en de volledige API is inbegrepen. Maak een sleutel aan en doe binnen enkele minuten je eerste aanroep.

Haal je API-sleutel op