Complete REST API

Integrate Terms Acceptance in Minutes

Complete and documented REST API. Integrate the acceptance record of terms of use and privacy policies into your system in just a few lines of code.

✓ RESTful • ✓ JSON • ✓ Autenticação via Token • ✓ Rate Limiting

Start in 3 Steps

Integrate in minutes, not in days

1

Obtain API Key

Create your account and obtain your API key on the dashboard.

# No dashboard, vá em Configurações → API API_KEY = "sk_live_..."
2

Fazer Primeira Requisição

Busque o documento ativo e exiba para o usuário.

import requests response = requests.get( "https://api.legaldocs.com/v1/documents/active/", headers={"Authorization": f"Bearer {API_KEY}"} )
3

Registrar Aceite

When the user accepts, register the acceptance via API.

requests.post( "https://api.legaldocs.com/v1/acceptances/", json={"document_id": 123}, headers={"Authorization": f"Bearer {API_KEY}"} )

Examples by Language

Code ready to copy and use

Python / Django

import requests from django.http import JsonResponse def get_active_document(request): # Buscar documento ativo response = requests.get( "https://api.legaldocs.com/v1/documents/active/?document_type=terms", headers={ "Authorization": f"Bearer {settings.LEGAL_DOCS_API_KEY}", "Content-Type": "application/json" } ) return JsonResponse(response.json()) def register_acceptance(request, document_id): # Registrar aceite do usuário response = requests.post( "https://api.legaldocs.com/v1/acceptances/", json={ "document_id": document_id, "user_id": request.user.id }, headers={ "Authorization": f"Bearer {settings.LEGAL_DOCS_API_KEY}" } ) return JsonResponse(response.json(), status=response.status_code)

Node.js / Express

const axios = require('axios'); // Buscar documento ativo async function getActiveDocument(documentType = 'terms') { const response = await axios.get( `https://api.legaldocs.com/v1/documents/active/?document_type=${documentType}`, { headers: { 'Authorization': `Bearer ${process.env.LEGAL_DOCS_API_KEY}` } } ); return response.data; } // Registrar aceite async function registerAcceptance(documentId, userId) { const response = await axios.post( 'https://api.legaldocs.com/v1/acceptances/', { document_id: documentId, user_id: userId }, { headers: { 'Authorization': `Bearer ${process.env.LEGAL_DOCS_API_KEY}` } } ); return response.data; }

PHP / Laravel

use Illuminate\Support\Facades\Http; // Buscar documento ativo function getActiveDocument($documentType = 'terms') { $response = Http::withHeaders([ 'Authorization' => 'Bearer ' . config('services.legal_docs.api_key') ])->get("https://api.legaldocs.com/v1/documents/active/", [ 'document_type' => $documentType ]); return $response->json(); } // Registrar aceite function registerAcceptance($documentId, $userId) { $response = Http::withHeaders([ 'Authorization' => 'Bearer ' . config('services.legal_docs.api_key') ])->post('https://api.legaldocs.com/v1/acceptances/', [ 'document_id' => $documentId, 'user_id' => $userId ]); return $response->json(); }

cURL

# Buscar documento ativo curl -X GET \ "https://api.legaldocs.com/v1/documents/active/?document_type=terms" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" # Registrar aceite curl -X POST \ "https://api.legaldocs.com/v1/acceptances/" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"document_id": 123, "user_id": 456}'

Endpoints Principais

Complete and RESTful API

GET

/api/v1/documents/active/

Returns the current active document (optionally filtered by type)

# Exemplo de resposta { "id": 123, "document_type": { "code": "terms", "name": "Termos de Uso" }, "version": "2.1", "content": "...", "is_active": true }
POST

/api/v1/acceptances/

Registra o aceite de um documento por um usuário

# Request body { "document_id": 123, "user_id": 456 } # Response { "id": 789, "accepted_at": "2024-01-15T10:30:00Z", "document": { ... }, "user": { ... } }
GET

/api/v1/acceptances/{user_id}/

Lists all the approvals of a specific user.

# Response { "count": 2, "results": [ { "document": { ... }, "accepted_at": "2024-01-15T10:30:00Z" } ] }

Por que escolher nossa API?

Fast and Reliable

99.9% uptime, response in less than 200ms, intelligent rate limiting.

Segura

Authentication via Bearer Token, HTTPS required, encrypted data.

Bem Documentada

Documentação completa, exemplos em múltiplas linguagens, suporte dedicado.

Webhooks

Receive real-time notifications when documents are accepted or updated.

RESTful

Standard REST API, easy to integrate, compatible with any language.

Rate Limiting

Generous limits (1000 req/min), with the possibility of increase for enterprise plans.

Pronto para integrar?

Obtain your API Key and start integrating in minutes. Technical support included.

✓ Integração em minutos • ✓ Suporte técnico • ✓ Documentação completa