Aller au contenu

Publiez depuis votre propre code, ou depuis votre agent IA.

Créez et programmez des publications, importez des médias, lisez les statistiques et utilisez l’IA depuis votre propre code, ou donnez à un agent IA les outils pour le faire à votre place. Commencez avec une clé pour un seul espace de travail et uniquement les autorisations nécessaires.

Tout ce que vous publiez, votre code peut le publier.

L’API applique les mêmes règles et les mêmes vérifications que l’application : une publication valide dans l’une l’est aussi dans l’autre.

  • Des clés avec des portées

    Une clé est créée pour un espace de travail et un ensemble d’autorisations. Une clé en lecture seule ne peut pas publier, et chaque appel est limité en débit et enregistré.

  • Un document OpenAPI

    Publications, import de médias, files d’attente, comptes sociaux, statistiques et IA : rédiger une légende, générer une image, suggérer et définir un texte alternatif. Toute l’API est décrite par une spécification à partir de laquelle vous pouvez générer un client.

  • Des webhooks signés

    Treize événements, de post.published à connection.revoked. Chaque envoi est signé, renvoyé en cas d’échec et peut être rejoué depuis l’application.

  • MCP pour les agents

    Connectez votre agent IA avec une seule URL. Les agents trouvent publications et médias par leur nom, rédigent, programment et lisent les résultats, et SPREVA demande votre accord avant toute action publique ou payante. Les agents ne voient jamais un jeton de réseau.

120 / minute
Par personne dans un espace de travail, avec le délai d’attente indiqué dans l’erreur.
10 secondes
Pour répondre à un webhook avant qu’il ne soit renvoyé.
Créer une publication pour deux comptes
curl -X POST https://app.spreva.ai/api/v1/posts \
  -H "Authorization: Bearer spreva_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "content": {
      "caption": "Ship day. New build is live.",
      "mediaIds": ["c47e2a90-0000-4000-8000-000000000004"]
    },
    "targets": [
      { "connectionId": "e81b3f52-...-005", "placement": "feed" },
      { "connectionId": "a31d9f07-...-006", "placement": "reel",
        "override": { "caption": "Ship day. Full notes in bio." } }
    ]
  }'
Lui donner une date
curl -X POST https://app.spreva.ai/api/v1/posts/$POST_ID/schedule \
  -H "Authorization: Bearer spreva_sk_..." \
  -d '{ "scheduledAt": "2026-10-01T09:00:00.000Z",
        "timezone": "Europe/Lisbon" }'
Être prévenu quand elle est en ligne
POST /hooks/spreva HTTP/1.1
x-spreva-event: target.published
x-spreva-event-id: 7f3c2d10-0000-4000-8000-000000000000
x-spreva-timestamp: 1790845202
x-spreva-signature: v1=6f1c…             # HMAC-SHA256 of "timestamp.body"

{
  "id": "7f3c2d10-0000-4000-8000-000000000000",
  "type": "target.published",
  "createdAt": "2026-10-01T09:00:02.412Z",
  "workspaceId": "0b9f6c1e-0000-4000-8000-000000000001",
  "data": {
    "type": "TargetPublished",
    "workspaceId": "0b9f6c1e-0000-4000-8000-000000000001",
    "postId": "5d2a7c3e-0000-4000-8000-000000000002",
    "targetId": "9a1f4b7d-0000-4000-8000-000000000003",
    "provider": "instagram",
    "remoteId": "17900000000000000",
    "remoteUrl": "https://www.instagram.com/p/EXAMPLE/"
  }
}

De votre prochaine idée à une vidéo publiée.