Skip to content
Langue: Français

API pour les développeurs

Endpoints de l’API par domaine

Mis à jour le 1 novembre 2026 8 min de lecture

Tous les endpoints utilisables avec une clé API – classés par domaine, avec la méthode, le chemin, la portée requise et leur fonction.

Cette vue d’ensemble liste tous les endpoints qui fonctionnent avec un jeton issu d’une clé API. Tous les chemins commencent par https://dock.at-harbor.com. Les champs exacts de chaque endpoint figurent dans la description OpenAPI à l’adresse https://dock.at-harbor.com/openapi.yaml.

Authentification et endpoints publics

Méthode et cheminAuthentificationFonction
POST /v1/tokenAucune (ID et secret de la clé dans le corps)Échanger une clé API contre un jeton d’accès
GET /v1/plansAucuneOffres et prix
GET /v1/pages/available?handle=…AucuneVérifier si un handle est libre

Pages

Méthode et cheminPortéeFonction
GET /v1/pagesread:pagesToutes les pages de l’espace de travail avec ID, handle, titre, statut, version en ligne, visibilité et URL
POST /v1/pageswrite:pagesCréer une page ; obligatoires : handle (2–64 caractères, lettres, chiffres, trait d’union) et template_key ; facultatifs : title, domain_id, theme_config
GET /v1/pages/{id}read:pagesUne page ; contient aussi has_unpublished_changes (true si le brouillon diffère de la version publiée)
PATCH /v1/pages/{id}write:pagesModifier le titre, le handle ou discoverable (référencement dans l’annuaire)
PATCH /v1/pages/{id}/visibilitywrite:pagespublic, private ou password (avec password, 4–72 caractères) ; prend effet immédiatement
POST /v1/pages/{id}/publishwrite:pagesPublier le brouillon ; la réponse contient la nouvelle version
GET /v1/pages/{id}/versionsread:pagesVersions publiées
GET /v1/pages/{id}/versions/{version}read:pagesUne version
POST /v1/pages/{id}/versions/{version}/restorewrite:pagesRamener une version dans le brouillon ; current abandonne toutes les modifications du brouillon
GET /v1/pages/{id}/seoread:pagesTextes SEO et de partage
PATCH /v1/pages/{id}/seowrite:pagesseo_title, seo_description, og_title, og_description, og_image_asset_id, canonical_url, noindex
POST /v1/pages/{id}/invite-linkwrite:pagesLien d’invitation pour une page privée et publiée ; days 1–30, 7 par défaut. Sinon 409 page_not_private ou page_not_published
POST /v1/pages/{id}/invite-link/revokewrite:pagesRévoquer le lien d’invitation
POST /v1/pages/{id}/uploadswrite:assetsTéléverser un fichier pour une page

Brouillon

Méthode et cheminPortéeFonction
GET /v1/pages/{id}/draftread:pagesBrouillon actuel : template_key, config, theme_config, custom_css, seo, affectations d’images et liens
PATCH /v1/pages/{id}/draftwrite:pagesAu moins l’un de : config (64 Ko au maximum en JSON, chaque texte jusqu’à 5 000 caractères), theme_config, custom_css (jusqu’à 50 000 caractères et 65 535 octets), seo, template_key, template_asset_bindings
GET /v1/pages/{id}/draft/validateread:pagesVérifier si le brouillon peut être publié

Blocs

Méthode et cheminPortéeFonction
GET /v1/pages/{id}/blocksread:pagesLes blocs de la page
POST /v1/pages/{id}/blockswrite:pagesCréer un bloc ; obligatoires : type et config
PATCH /v1/pages/{id}/blocks/{blockId}write:pagesModifier un bloc
DELETE /v1/pages/{id}/blocks/{blockId}write:pagesSupprimer un bloc
POST /v1/pages/{id}/blocks/reorderwrite:pagesDéfinir l’ordre
GET /v1/blocks/schemasread:pagesTous les types de blocs avec le schéma de leur config

Types que vous pouvez créer : text, image, embed, spacer, social_links, form, integration, donation, modal, heading, notice, coupon, contact, opening_hours, tour, file, vcard, countdown et gallery. Le bloc Liens est fixe et n’est pas créé via cet endpoint. L’API refuse les types de blocs hors de votre offre avec 403 block_type_requires_plan. La config d’un bloc peut faire au maximum 128 Ko en JSON, et chaque texte qu’elle contient au maximum 10 000 caractères ; dans la modale d’info, modal_body_html peut compter jusqu’à 50 000 caractères et au maximum 65 535 octets.

Liens

Méthode et cheminPortéeFonction
GET /v1/pages/{id}/linksread:linksLes liens de la page
POST /v1/pages/{id}/linkswrite:linksCréer un lien ; obligatoires : title (1–200) et target_url_template (8–2048)
GET /v1/pages/{id}/links/{linkId}read:linksUn lien
PATCH /v1/pages/{id}/links/{linkId}write:linksModifier un lien
DELETE /v1/pages/{id}/links/{linkId}write:linksSupprimer un lien
POST /v1/pages/{id}/links/reorderwrite:linksDéfinir l’ordre : {"order":[IDs]}

Champs facultatifs à la création et à la modification : enabled, geo (règle par pays avec mode allowlist ou denylist et countries), device (cibles distinctes par appareil), starts_at et ends_at (planification), protection_tier (protection anti-bots) et age_restriction. La planification et les règles par pays et par appareil sont disponibles à partir de Creator Pro. Pour réordonner, il suffit d’envoyer les ID qui doivent passer en tête – tous les autres liens suivent dans leur ordre précédent. L’API refuse les ID qui n’appartiennent pas à la page avec 422 validation_failed ; details.missing_link_ids les liste.

Liens courts

Méthode et cheminPortéeFonction
GET /v1/short-linksread:short_linksLiens courts avec limit, offset, sort et recherche q ; la réponse contient total
POST /v1/short-linkswrite:short_linksCréer ; obligatoire : target_url (http ou https, 8–2048) ; facultatifs : title (jusqu’à 120) et custom_slug (3–32, lettres minuscules, chiffres, traits d’union)
GET /v1/short-links/{id}read:short_linksUn lien court
PATCH /v1/short-links/{id}write:short_linksModifier target_url ou title
DELETE /v1/short-links/{id}write:short_linksSupprimer un lien court

Si la limite de liens courts de l’offre est atteinte, l’API répond 402 plan_limit_reached.

Ressources

Méthode et cheminPortéeFonction
GET /v1/assetsread:assetsLes ressources de l’espace de travail
POST /v1/assetswrite:assetsTéléverser un fichier (multipart/form-data, champ file ; facultatifs : page_id, kind, title, alt_text)
DELETE /v1/assets/{assetId}write:assetsSupprimer une ressource

Formulaires

Méthode et cheminPortéeFonction
GET /v1/formsread:formsFormulaires
POST /v1/formswrite:formsCréer un formulaire ; obligatoires : name et fields (1–100 champs)
GET /v1/forms/{id}read:formsUn formulaire
PATCH /v1/forms/{id}write:formsModifier un formulaire
DELETE /v1/forms/{id}write:formsSupprimer un formulaire
GET /v1/forms/{id}/summaryread:formsRésumé
GET /v1/forms/{id}/submissionsread:formsEnvois, les plus récents d’abord (limit 1–500, 100 par défaut ; pages suivantes via cursor = next_cursor)
GET /v1/forms/{id}/submissions/exportread:formsTous les envois dans un fichier CSV, les plus récents d’abord, jusqu’à la limite d’export de l’offre (à partir de Creator Pro) ; l’en-tête X-Export-Truncated indique si le fichier a été tronqué

Statistiques

Méthode et cheminPortéeFonction
GET /v1/stats/pages/{id}/summaryread:statsChiffres clés d’une page
GET /v1/stats/pages/{id}/timeseriesread:statsSérie temporelle d’une page
GET /v1/stats/pages/{id}/compareread:statsComparaison avec la période précédente
GET /v1/stats/pages/{id}/linksread:statsClics par lien
GET /v1/stats/pages/{id}/widgetsread:statsClics sur les widgets
GET /v1/stats/pages/{id}/conversions/breakdownread:statsConversions d’une page
GET /v1/stats/workspaces/me/summaryread:statsChiffres clés de toutes les pages
GET /v1/stats/workspaces/me/timeseriesread:statsSérie temporelle de toutes les pages
GET /v1/stats/workspaces/me/compareread:statsComparaison avec la période précédente
GET /v1/stats/workspaces/me/top-pagesread:statsMeilleures pages
GET /v1/stats/workspaces/me/conversions/breakdownread:statsConversions de l’espace de travail
GET /v1/stats/workspaces/me/donationsread:donationsTotaux des paiements des soutiens

Vous choisissez la période comme décrit sous Pagination, avec period ou avec from et to. La profondeur disponible dépend de l’offre : 365 jours avec Creator Pro et Agency, 730 jours avec Enterprise. Les périodes plus anciennes sont ramenées à cette limite.

Push (lecture seule)

Méthode et cheminPortéeFonction
GET /v1/push/historyread:statsHistorique push (limit, offset)
GET /v1/push/usageread:statsUtilisation de la limite hebdomadaire

L’envoi de notifications push et la gestion des règles push ne sont possibles que dans le tableau de bord.

Espace de travail, modèles et domaines

Méthode et cheminPortéeFonction
GET /v1/workspaces/me/entitlementsread:workspacesFonctions et limites de l’offre
GET /v1/workspaces/me/usageread:workspacesUtilisation actuelle
GET /v1/workspaces/me/usage/meteringread:workspacesHistorique d’utilisation
GET /v1/workspaces/me/membersread:workspacesListe des membres
GET /v1/workspaces/me/settingsread:workspacesRéglages de l’espace de travail
GET /v1/workspaces/me/callback-secretsread:workspacesSecrets de callback (sans le secret en clair)
GET /v1/workspaces/me/callback-secrets/{id}read:workspacesUn secret de callback (sans le secret en clair)
GET /v1/templatesread:workspacesTous les modèles
GET /v1/templates/availableread:workspacesModèles intégrés et modèles d’espace de travail actifs avec des valeurs template_key valides ; les modèles d’espace de travail ont la clé ws:<key> et le type workspace
GET /v1/templates/{key}read:workspacesUn modèle
GET /v1/workspaces/me/templatesread:workspacesVos propres modèles d’espace de travail
GET /v1/workspaces/me/templates/{id}read:workspacesUn modèle d’espace de travail
POST, PATCH, DELETE /v1/workspaces/me/templates[/{id}]write:templatesCréer, modifier, supprimer des modèles d’espace de travail ; html au maximum 60 000 octets (sinon 422 validation_failed avec details.reason maxBytes), jusqu’à 32 asset_slots
GET /v1/domainsread:workspacesDomaines personnalisés
GET /v1/domains/availableread:workspacesDomaines disponibles pour les pages

Non disponible avec les clés API

Les webhooks, les intégrations, l’envoi de notifications push, la gestion des domaines, les membres, la facturation et la suppression de pages ne sont disponibles que dans le tableau de bord. Les secrets de callback se créent et se gèrent aussi uniquement dans le tableau de bord ; avec read:workspaces, vous pouvez seulement les lister et les lire (sans le secret en clair). La liste complète figure dans Les portées en détail. Les données entrantes – ventes et vos propres données en direct – s’envoient avec des secrets distincts aux endpoints décrits dans Callbacks.

Vous n’avez rien trouvé ?

Dites-nous ce dont vous avez besoin, et notre équipe support vous aidera personnellement.

Contacter le support