Documentation de l'API Renewly
Accès programmatique à vos données de contrats via une API REST simple
Pour commencer
1. Créer une clé API
Rendez-vous dans Paramètres → Clés API et créez une nouvelle clé API. Conservez-la en lieu sûr : elle ne sera affichée qu'une seule fois.
2. Effectuer votre première requête
Incluez votre clé API dans l'en-tête X-API-Key :
curl https://renewly.gg/api/v1/contracts \ -H "X-API-Key: rnwly_live_abc123..."
Authentification
Toutes les requêtes API doivent inclure votre clé API dans l'en-tête X-API-Key :
X-API-Key: rnwly_live_abc123...
Sécurité : Ne versionnez jamais vos clés API dans un dépôt de code source. Utilisez des variables d'environnement dans vos applications.
Limites de débit
60 requests/min10 requests/hourLes limites de débit s'appliquent par clé API. Si vous dépassez la limite, vous recevrez une réponse 429 Too Many Requests avec un en-tête Retry-After .
Codes d'erreur
401Non autoriséClé API invalide, manquante, expirée ou révoquée
403InterditVous n'avez pas la permission d'accéder à cette ressource
429Trop de requêtesLimite de débit dépassée. Consultez l'en-tête Retry-After
500Erreur interne du serveurUn problème est survenu de notre côté. Contactez le support si cela persiste
Points d'accès
/api/v1/contractsLister tous les contrats auxquels vous avez accès (contrats personnels et organisationnels).
Paramètres de requête
statusFiltrer par statut (par ex., completed, pending)organization_idFiltrer par UUID d'organisationlimitRésultats par page (par défaut : 50, max : 100)offsetDécalage de pagination (par défaut : 0)Exemple de requête
curl https://renewly.gg/api/v1/contracts?status=completed&limit=10 \ -H "X-API-Key: rnwly_live_abc123..."
Exemple de réponse
{
"success": true,
"data": {
"contracts": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "SaaS Subscription Agreement",
"status": "completed",
"file_name": "contract.pdf",
"file_size": 245678,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z",
"organization_id": null
}
],
"pagination": {
"limit": 10,
"offset": 0,
"total": 42
}
}
}/api/v1/contracts/:idObtenir des informations détaillées sur un contrat spécifique, y compris les données extraites.
Exemple de requête
curl https://renewly.gg/api/v1/contracts/550e8400-e29b-41d4-a716-446655440000 \ -H "X-API-Key: rnwly_live_abc123..."
Exemple de réponse
{
"success": true,
"data": {
"contract": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "SaaS Subscription Agreement",
"status": "completed",
"file_name": "contract.pdf",
"data": {
"expiration_date": "2025-12-31",
"renewal_date": "2025-11-01",
"auto_renewal": true,
"contract_value": 50000,
"currency": "USD",
"parties": {
"provider": "Acme Corp",
"client": "Example Inc"
},
"summary": "Annual SaaS subscription...",
"confidence_score": 0.95
}
}
}
}/api/v1/contracts/exportExporter les contrats au format CSV. Limité à 10 requêtes/heure.
Corps de la requête (facultatif)
{
"status": "completed",
"organization_id": "org-uuid"
}Exemple de requête
curl -X POST https://renewly.gg/api/v1/contracts/export \
-H "X-API-Key: rnwly_live_abc123..." \
-H "Content-Type: application/json" \
-d '{"status":"completed"}' \
--output contracts.csvRenvoie un fichier CSV avec les données des contrats. La réponse comportera l'en-tête Content-Type: text/csv.
Exemples de code
JavaScript / TypeScript
// List contracts
const response = await fetch('https://renewly.gg/api/v1/contracts', {
headers: {
'X-API-Key': process.env.RENEWLY_API_KEY
}
});
const { data } = await response.json();
console.log(`Found ${data.contracts.length} contracts`);
// Get contract details
const contract = await fetch(`https://renewly.gg/api/v1/contracts/${contractId}`, {
headers: {
'X-API-Key': process.env.RENEWLY_API_KEY
}
}).then(r => r.json());
console.log(`Expires: ${contract.data.contract.data.expiration_date}`);Python
import os
import requests
API_KEY = os.getenv('RENEWLY_API_KEY')
BASE_URL = 'https://renewly.gg/api/v1'
# List contracts
response = requests.get(
f'{BASE_URL}/contracts',
headers={'X-API-Key': API_KEY}
)
contracts = response.json()['data']['contracts']
print(f'Found {len(contracts)} contracts')
# Get contract details
contract_id = '550e8400-e29b-41d4-a716-446655440000'
response = requests.get(
f'{BASE_URL}/contracts/{contract_id}',
headers={'X-API-Key': API_KEY}
)
contract = response.json()['data']['contract']
print(f'Expires: {contract["data"]["expiration_date"]}')Besoin d'aide ?
Si vous avez des questions ou rencontrez des problèmes, nous sommes là pour vous aider.
Contacter le support