{ "info": { "name": "hightrusted CAPTURE API", "description": "Forensische Web-Captures mit qualifiziertem Zeitstempel nach RFC 3161 / eIDAS Art. 41.\n\n**Authentifizierung:** Bearer-Token. Setze die Variable `api_key` im Environment.\n\n**API-Key holen:** https://capture.hightrusted.net/dashboard/api-keys\n\n**Doku:** https://capture.hightrusted.net/api/docs", "version": "1.0.0", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{api_key}}", "type": "string" } ] }, "variable": [ { "key": "base_url", "value": "https://capture.hightrusted.net/api/v1", "type": "string" } ], "item": [ { "name": "Captures", "item": [ { "name": "Capture erstellen — synchron", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status 200', () => pm.response.to.have.status(200));", "const json = pm.response.json();", "pm.test('Hat id und status', () => {", " pm.expect(json.id).to.be.a('string');", " pm.expect(json.status).to.equal('ready');", "});", "pm.test('Hat verify_url', () => {", " pm.expect(json.verify_url).to.match(/^https:\\/\\/verify\\.hightrusted\\.net/);", "});", "pm.collectionVariables.set('last_capture_id', json.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"url\": \"https://example.com\"\n}" }, "url": { "raw": "{{base_url}}/captures", "host": ["{{base_url}}"], "path": ["captures"] }, "description": "Erstellt eine Capture und wartet bis zu 30 s auf das fertige PDF." } }, { "name": "Capture erstellen — asynchron", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status 202', () => pm.response.to.have.status(202));", "const json = pm.response.json();", "pm.test('Status ist queued', () => pm.expect(json.status).to.equal('queued'));", "pm.collectionVariables.set('async_capture_id', json.id);" ] } } ], "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"url\": \"https://example.com\",\n \"mode\": \"async\",\n \"reference\": \"case-2026-001\"\n}" }, "url": { "raw": "{{base_url}}/captures", "host": ["{{base_url}}"], "path": ["captures"] } } }, { "name": "Capture erstellen — webhook", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"url\": \"https://example.com\",\n \"mode\": \"webhook\",\n \"webhook_url\": \"https://your-domain.tld/webhooks/capture\",\n \"reference\": \"case-2026-001\",\n \"viewport\": { \"width\": 1920, \"height\": 1080 }\n}" }, "url": { "raw": "{{base_url}}/captures", "host": ["{{base_url}}"], "path": ["captures"] }, "description": "Capture starten, Server liefert das fertige Ergebnis per HTTP-POST aus." } }, { "name": "Capture-Status abrufen", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status 200', () => pm.response.to.have.status(200));", "const json = pm.response.json();", "pm.test('Hat id', () => pm.expect(json.id).to.be.a('string'));" ] } } ], "request": { "method": "GET", "url": { "raw": "{{base_url}}/captures/{{last_capture_id}}", "host": ["{{base_url}}"], "path": ["captures", "{{last_capture_id}}"] } } }, { "name": "Captures auflisten", "request": { "method": "GET", "url": { "raw": "{{base_url}}/captures?limit=25&status=ready", "host": ["{{base_url}}"], "path": ["captures"], "query": [ { "key": "limit", "value": "25" }, { "key": "status", "value": "ready" } ] } } }, { "name": "PDF herunterladen", "request": { "method": "GET", "url": { "raw": "{{base_url}}/captures/{{last_capture_id}}/pdf", "host": ["{{base_url}}"], "path": ["captures", "{{last_capture_id}}", "pdf"] }, "description": "Liefert PDF/A-3 mit eingebettetem RFC-3161-Zeitstempel.\n\nIn Postman: \"Send and Download\" verwenden, um das PDF zu speichern." } } ] }, { "name": "Verify", "item": [ { "name": "Verifikation per Capture-ID", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status 200', () => pm.response.to.have.status(200));", "const json = pm.response.json();", "pm.test('valid ist Boolean', () => pm.expect(json.valid).to.be.a('boolean'));", "pm.test('Hat audit_log', () => pm.expect(json.audit_log).to.be.an('object'));" ] } } ], "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"source\": \"{{last_capture_id}}\"\n}" }, "url": { "raw": "{{base_url}}/verify", "host": ["{{base_url}}"], "path": ["verify"] }, "description": "Verifikation ist KOSTENLOS — keine Quota-Belastung." } }, { "name": "Verifikation per Verify-URL", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"source\": \"https://verify.hightrusted.net/c/REPLACE_ME\"\n}" }, "url": { "raw": "{{base_url}}/verify", "host": ["{{base_url}}"], "path": ["verify"] } } }, { "name": "Verifikation per PDF-Upload", "request": { "method": "POST", "body": { "mode": "formdata", "formdata": [ { "key": "pdf", "type": "file", "src": [] } ] }, "url": { "raw": "{{base_url}}/verify", "host": ["{{base_url}}"], "path": ["verify"] }, "description": "Lädt eine lokale PDF hoch und verifiziert sie. Funktioniert auch ohne API-Key (Verify ist öffentlich)." } } ] }, { "name": "Account", "item": [ { "name": "Eigenen Verbrauch abrufen", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status 200', () => pm.response.to.have.status(200));", "const json = pm.response.json();", "pm.test('Hat plan', () => pm.expect(json.plan).to.be.a('string'));", "pm.test('Hat used_calls', () => pm.expect(json.used_calls).to.be.a('number'));" ] } } ], "request": { "method": "GET", "url": { "raw": "{{base_url}}/usage", "host": ["{{base_url}}"], "path": ["usage"] } } } ] } ] }