Documentation de l'API Renewly

Accès programmatique à vos données de contrats via une API REST simple

60/min
Limite de débit
API Key
Authentification
REST
Format de l'API

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

Points d'accès généraux60 requests/min
Point d'accès d'export10 requests/hour

Les 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

403Interdit

Vous n'avez pas la permission d'accéder à cette ressource

429Trop de requêtes

Limite de débit dépassée. Consultez l'en-tête Retry-After

500Erreur interne du serveur

Un problème est survenu de notre côté. Contactez le support si cela persiste

Points d'accès

GET/api/v1/contracts

Lister 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'organisation
limitRé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
    }
  }
}
GET/api/v1/contracts/:id

Obtenir 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
      }
    }
  }
}
POST/api/v1/contracts/export

Exporter 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.csv

Renvoie 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