Corddéveloppeurs

API Sharecord

Crée des liens courts vers des fichiers qui s'effacent tout seuls, depuis tes scripts et tes outils.

Authentification

Crée un jeton personnel sur share.cordsuite.app/dashboard/tokens (Compte Cord requis). Il commence par shc_pat_ et s'envoie dans Authorization: Bearer ….

PortéePermet de
links:readlister tes liens et lire leur état
links:writeenvoyer des fichiers, créer et révoquer des liens

Créer un lien

Un fichier part en morceaux d'au plus 4 000 000 octets, puis un seul appel crée le lien.

  1. POST /api/v1/chunks?index=N pour chaque morceau (application/octet-stream, index à partir de 0). La réponse contient un token opaque, valable 24 h.
  2. POST /api/v1/links avec les jetons de morceaux, dans l'ordre.
# 1. découper puis envoyer chaque morceau
split -b 4000000 rapport.pdf part_
i=0; tokens=""
for f in part_*; do
  t=$(curl -s -X POST "https://share.cordsuite.app/api/v1/chunks?index=$i" \
    -H "Authorization: Bearer $SHARECORD_TOKEN" \
    -H "Content-Type: application/octet-stream" \
    --data-binary @"$f" | jq -r .token)
  tokens="$tokens\"$t\","; i=$((i+1))
done

# 2. créer le lien
curl -X POST https://share.cordsuite.app/api/v1/links \
  -H "Authorization: Bearer $SHARECORD_TOKEN" -H "Content-Type: application/json" \
  -d "{\"expiration\":\"24h\",\"files\":[{\"name\":\"rapport.pdf\",\"mimeType\":\"application/pdf\",\"chunks\":[${tokens%,}]}]}"

Corps de POST /api/v1/links :

ChampTypeDétail
expiration"1h", "24h", "7d" ou "none""none" demande un maxDownloads
maxDownloadsentier, optionnel1 à 100 000
passwordtexte, optionnel1 à 200 caractères
filesliste de 1 à 20name, mimeType, chunks (jetons de l'étape 1)

Réponse 201 :

{ "slug": "x7k2pAB", "url": "https://share.cordsuite.app/x7k2pAB", "expiresAt": "2026-10-26T13:00:00.000Z" }

Lire et révoquer

Un lien qui n'est pas à toi répond 404, comme s'il n'existait pas.

Limites

Erreurs

Toujours { "error": { "code", "message", "requestId" } }. Le code est stable :

CodeHTTPSens
unauthenticated401pas d'en-tête Authorization
invalid_token401jeton inconnu, expiré ou révoqué
insufficient_scope403le jeton n'a pas la portée demandée
invalid_request400paramètres invalides
not_found404lien introuvable
payload_too_large413morceau, fichier ou lien trop gros
rate_limited429trop de requêtes
storage_rate_limited429Drivecord limite le débit, réessaie après Retry-After
storage_quota5xxquota d'envoi quotidien atteint
storage_error5xxerreur de stockage