Renewly API-Dokumentation
Programmatischer Zugriff auf Ihre Vertragsdaten über eine einfache REST API
Erste Schritte
1. API-Schlüssel erstellen
Navigieren Sie zu Settings → API Keys und erstellen Sie einen neuen API-Schlüssel. Bewahren Sie ihn sicher auf - er wird nur einmal angezeigt.
2. Senden Sie Ihren ersten Request
Übergeben Sie Ihren API-Schlüssel im X-API-Key Header:
curl https://renewly.gg/api/v1/contracts \ -H "X-API-Key: rnwly_live_abc123..."
Authentifizierung
Alle API-Requests müssen Ihren API-Schlüssel im X-API-Key Header enthalten:
X-API-Key: rnwly_live_abc123...
Sicherheit: Committen Sie API-Schlüssel niemals in die Versionskontrolle. Verwenden Sie in Ihren Anwendungen Umgebungsvariablen.
Rate Limits
60 requests/min10 requests/hourRate Limits gelten pro API-Schlüssel. Wenn Sie das Limit überschreiten, erhalten Sie eine 429 Too Many Requests Response mit einem Retry-After Header.
Fehlercodes
401UnauthorizedUngültiger, fehlender, abgelaufener oder widerrufener API-Schlüssel
403ForbiddenSie haben keine Berechtigung für den Zugriff auf diese Ressource
429Too Many RequestsRate Limit überschritten. Prüfen Sie den Retry-After Header
500Internal Server ErrorBei uns ist etwas schiefgelaufen. Kontaktieren Sie den Support, wenn das Problem weiterhin besteht
Endpoints
/api/v1/contractsListet alle Verträge auf, auf die Sie Zugriff haben (persönliche + Organisationsverträge).
Query-Parameter
statusNach Status filtern (z. B. completed, pending)organization_idNach Organisations-UUID filternlimitErgebnisse pro Seite (Standard: 50, max: 100)offsetPaginierungs-Offset (Standard: 0)Beispiel-Request
curl https://renewly.gg/api/v1/contracts?status=completed&limit=10 \ -H "X-API-Key: rnwly_live_abc123..."
Beispiel-Response
{
"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/:idDetaillierte Informationen zu einem bestimmten Vertrag abrufen, einschließlich extrahierter Daten.
Beispiel-Request
curl https://renewly.gg/api/v1/contracts/550e8400-e29b-41d4-a716-446655440000 \ -H "X-API-Key: rnwly_live_abc123..."
Beispiel-Response
{
"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/exportVerträge im CSV-Format exportieren. Begrenzt auf 10 Requests pro Stunde.
Request Body (optional)
{
"status": "completed",
"organization_id": "org-uuid"
}Beispiel-Request
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.csvGibt eine CSV-Datei mit Vertragsdaten zurück. Die Response enthält Content-Type: text/csv.
Codebeispiele
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"]}')Brauchen Sie Hilfe?
Bei Fragen oder Problemen sind wir für Sie da.
Support kontaktieren