REST APIGET

Espaces de travail

Listez les espaces de travail dans lesquels une clé API ou une connexion OAuth peut agir, avec le rôle et les possibilités dans chacun, et choisissez-en un par requête avec l'en-tête X-Workspace-Id.

GEThttps://post.adaptlypost.com/post/api/v1/workspaces

Liste les espaces de travail dans lesquels la clé ou la connexion OAuth qui appelle peut agir, avec votre rôle et ce que vous pouvez faire dans chacun. Toute clé valide peut l'appeler, quel que soit son rôle.

Cle API (jeton Bearer)
Permission:toute clé valideRôles et permissions

Quand l'appeler

Appelez-le au démarrage d'une intégration, avant qu'elle ne lise ou n'écrive quoi que ce soit. Une connexion OAuth, comme le connecteur Claude ou ChatGPT, atteint tous les espaces de travail dont son membre fait partie, dans toutes ses organisations. Une clé API n'atteint que son propre espace de travail, la liste n'a donc qu'une entrée.

Si vous êtes un agent : quand la liste contient plus d'un espace de travail et que l'utilisateur n'en a nommé aucun, demandez lequel utiliser. Envoyez ensuite son id dans X-Workspace-Id à chaque appel, et lisez son can avant de proposer de planifier ou de publier.

Champs de la réponse

ChampDescription
idL'ID de l'espace de travail. Envoyez-le dans l'en-tête X-Workspace-Id pour agir dans cet espace de travail.
nameLe nom de l'espace de travail.
organizationL'organisation propriétaire de l'espace de travail, avec son id et son name.
roleVotre rôle dans cet espace de travail : key vaut admin, editor, contributor ou viewer ; name est le libellé dans votre langue. Pour une clé API, le rôle de la clé.
isDefaultTrue pour l'espace de travail où arrive un appel qui n'envoie pas d'en-tête X-Workspace-Id.
currentTrue pour l'espace de travail où cet appel est arrivé.
canTrois booléens, draft, schedule et publish, pour ce que votre rôle permet de faire avec les publications dans cet espace de travail.

Choisir un espace de travail avec X-Workspace-Id

Chaque endpoint accepte un en-tête facultatif X-Workspace-Id. Donnez-lui un id de cette liste et l'appel s'exécute dans cet espace de travail, avec votre rôle dans celui-ci. Sans lui, l'appel arrive dans l'espace de travail par défaut.

En-tête de requête
X-Workspace-Id: ag_02k7m

Un espace de travail que l'appelant ne peut pas atteindre répond 403 avec le code workspace_access_denied et le workspaceId refusé. Une clé API appartient à un seul espace de travail, elle reçoit donc le même 403 pour l'id de tout autre espace de travail : envoyez l'id de son propre espace de travail ou omettez l'en-tête.

403 Interdit : accès à l'espace de travail refusé
{
  "statusCode": 403,
  "error": "Forbidden",
  "code": "workspace_access_denied",
  "workspaceId": "ag_03p4r",
  "message": "You have no access to workspace ag_03p4r. Call GET /workspaces to list the workspaces you can use, and send one of those ids in the X-Workspace-Id header."
}
Lister vos espaces de travail
curl --request GET \
  --url https://post.adaptlypost.com/post/api/v1/workspaces \
  --header 'Authorization: Bearer <api-key>'
Agir dans un autre espace de travail
curl --request GET \
  --url https://post.adaptlypost.com/post/api/v1/social-accounts \
  --header 'Authorization: Bearer <oauth-token>' \
  --header 'X-Workspace-Id: ag_02k7m'
200
{
  "workspaces": [
    {
      "id": "ag_01j9x",
      "name": "Acme",
      "organization": { "id": "org_01hzq", "name": "Acme Agency" },
      "role": { "key": "editor", "name": "Editor" },
      "isDefault": true,
      "current": true,
      "can": { "draft": true, "schedule": true, "publish": true }
    },
    {
      "id": "ag_02k7m",
      "name": "Client B",
      "organization": { "id": "org_02abc", "name": "Client B Inc" },
      "role": { "key": "contributor", "name": "Contributor" },
      "isDefault": false,
      "current": false,
      "can": { "draft": true, "schedule": false, "publish": false }
    }
  ]
}