Renewly API-Dokumentation

Programmatischer Zugriff auf Ihre Vertragsdaten über eine einfache REST API

60/min
Rate Limit
API Key
Authentifizierung
REST
API-Format

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

Allgemeine Endpoints60 requests/min
Export-Endpoint10 requests/hour

Rate 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

401Unauthorized

Ungültiger, fehlender, abgelaufener oder widerrufener API-Schlüssel

403Forbidden

Sie haben keine Berechtigung für den Zugriff auf diese Ressource

429Too Many Requests

Rate Limit überschritten. Prüfen Sie den Retry-After Header

500Internal Server Error

Bei uns ist etwas schiefgelaufen. Kontaktieren Sie den Support, wenn das Problem weiterhin besteht

Endpoints

GET/api/v1/contracts

Listet 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 filtern
limitErgebnisse 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
    }
  }
}
GET/api/v1/contracts/:id

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

Verträ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.csv

Gibt 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