Authentifiez-vous avec une clé API, créez des liens courts de marque, générez des mots de passe à usage unique et validez-les. D'autres points de terminaison seront ajoutés à mesure que la plateforme se développera.
Tous les points de terminaison sont servis à partir d'une seule URL de base. Chaque requête nécessite votre clé API dans l'en-tête clé x-api et les requêtes JSON utilisent Content-Type: application/json.
https://cpt.cx
x-api-key: YOUR_API_KEY Content-Type: application/json
curl -X POST "https://cpt.cx/shortlink/public-generate" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "BBC News",
"url": "https://www.bbc.com/news",
"domain": "cpt.cx",
"tags": ["News", "BBC"]
}'Chaque point de terminaison public est authentifié avec une clé API envoyée dans l'en-tête clé x-api. Les clés sont associées à votre compte, aux domaines qui y sont enregistrés et aux fournisseurs configurés pour vos canaux. Traitez les clés comme des secrets — ne les intégrez jamais dans le code côté client.
x-api-key: YOUR_API_KEY
Créez des liens courts URL de marque sur n'importe quel domaine enregistré sur votre compte. Utilisez le point de terminaison unique pour un seul lien, ou le point de terminaison de lot pour en générer plusieurs en une seule requête — idéal pour les campagnes SMS, RCS, WhatsApp et e-mail.
name — chaîne de caractères, requisurl — chaîne de caractères, requis, doit utiliser http ou httpsdomain — chaîne de caractères, requis, doit être un domaine enregistré sur votre comptetags — tableau de chaînes de caractères, facultatifusername / password — facultatif, doit être fourni par paire pour protéger le lien par mot de passe{
"name": "BBC News",
"url": "https://www.bbc.com/news",
"domain": "cpt.cx",
"tags": ["News", "BBC"]
}{
"name": "BBC News",
"shortUrl": "https://cpt.cx/RRRRRF",
"createdDate": "2025-07-02T15:38:02.95Z",
"expiryDate": "2025-08-01T15:38:02.95Z"
}L'expiration par défaut est de 30 jours à compter de la création.
Envoyez un tableau JSON d'objets de liens courts. Chaque élément utilise les mêmes champs et règles de validation que le point de terminaison de création unique. La réponse contient un résumé ainsi qu'un résultat pour chaque élément d'entrée.
[
{
"name": "BBC News",
"url": "https://www.bbc.com/news",
"domain": "cpt.cx"
},
{
"name": "Facebook",
"url": "https://www.facebook.com",
"domain": "cpt.cx",
"tags": ["News", "World"]
}
]{
"summary": { "successCount": 2, "failedCount": 0 },
"results": [
{
"name": "BBC News",
"shortUrl": "https://cpt.cx/RRRRRT",
"createdDate": "2025-07-02T15:42:05Z",
"expiryDate": "2025-08-01T15:42:05Z"
},
{
"name": "Facebook",
"shortUrl": "https://cpt.cx/RRRRRa",
"createdDate": "2025-07-02T15:42:05Z",
"expiryDate": "2025-08-01T15:42:05Z"
}
]
}Générez des mots de passe à usage unique pour la livraison par SMS ou e-mail et validez-les ultérieurement avec l'otpId renvoyé. La valeur OTP n'est jamais renvoyée par l'API — elle est livrée au destinataire et stockée uniquement sous forme de hachage avec un TTL.
channel — requis, email ou smsprovider — requis, le fournisseur configuré pour ce canal sur votre compte (par exemple, generic, twilio, sendgrid)destination — requis, adresse e-mail ou numéro de téléphone E.164type — requis, numeric ou alphanumericlength — requis, entre 4 et 12expiresInSeconds — requis, doit être supérieur à 0{
"channel": "email",
"provider": "generic",
"destination": "test@example.com",
"type": "alphanumeric",
"length": 8,
"expiresInSeconds": 300
}{
"otpId": "51a6fcc7-efc8-4e69-8bc1-ebb999befb2c",
"destination": "test@example.com",
"createdAt": "2025-09-10T14:05:41Z",
"expiresAt": "2025-09-10T14:10:41Z"
}Envoyez l'otpId renvoyé par /otp/generate ainsi que la valeur OTP fournie par l'utilisateur. Une validation réussie consomme l'OTP — les codes sont à usage unique.
{
"otpId": "c4f8814c-7a9d-4e13-b7d8-d4e66d272611",
"otp": "z4dGyBPQ"
}{
"success": true,
"message": "OTP validated successfully."
}Après des tentatives infructueuses répétées, la validation renverra Trop de tentatives infructueuses. Réessayez plus tard. jusqu'à l'expiration du verrouillage temporaire.
Les erreurs de validation sont renvoyées avec des messages descriptifs tels que Format d'URL invalide. ou Fournisseur introuvable pour ce client et ce canal.. Les détails suivants ne sont pas encore documentés publiquement — considérez-les comme des TODO et contactez-nous si vous avez besoin d'une réponse définitive pour une utilisation en production :
Fichiers pour les agents IA, les crawlers LLM, la génération de clients API et la découverte technique. Liés depuis l'en-tête HTML du site et robots.txt pour une découvrabilité fiable.
Nous vous fournirons les clés, enregistrerons vos domaines et configurerons vos fournisseurs — généralement en une journée.