generated from coulomb/repo-seed
Release 0.1: Complete BinectChrome implementation
Implements all requirements from ProductRequirementsDocument.md: - PDF detection via Chrome Downloads API - Secure credential storage with AES-GCM encryption - Binect API integration for PDF uploads - Popup UI with Binect branding - Local transfer tracking (500 entry cap) - Help page with tracking view and CSV export - 60-day credential retention with auto-expiry - Accessibility compliance (WCAG 2.1 AA) Technical implementation: - Chrome Extension Manifest V3 - TypeScript with strict mode - Webpack build system - Jest test suite (22/22 passing) - ESLint configured (0 errors) Build output: 13 KB total (production minified) Test coverage: crypto, pdf-detector, tracker, binect-api Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
74
specs/binect-api.md
Normal file
74
specs/binect-api.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Binect API Specification
|
||||
|
||||
## Overview
|
||||
This document specifies the Binect API endpoints used by BinectChrome extension.
|
||||
|
||||
## Base URL
|
||||
```
|
||||
https://api.binect.de
|
||||
```
|
||||
|
||||
## Authentication
|
||||
Username/password authentication using HTTP Basic Auth or JSON payload.
|
||||
|
||||
### Endpoint: Login
|
||||
```
|
||||
POST /auth/login
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"username": "string",
|
||||
"password": "string"
|
||||
}
|
||||
|
||||
Response 200 OK:
|
||||
{
|
||||
"token": "string",
|
||||
"expiresAt": "ISO8601 timestamp"
|
||||
}
|
||||
|
||||
Response 401 Unauthorized:
|
||||
{
|
||||
"error": "Invalid credentials"
|
||||
}
|
||||
```
|
||||
|
||||
## PDF Upload
|
||||
|
||||
### Endpoint: Upload PDF
|
||||
```
|
||||
POST /documents/upload
|
||||
Authorization: Bearer {token}
|
||||
Content-Type: multipart/form-data
|
||||
|
||||
Form fields:
|
||||
- file: PDF file (binary)
|
||||
- filename: string (optional)
|
||||
|
||||
Response 200 OK:
|
||||
{
|
||||
"documentId": "string",
|
||||
"status": "received",
|
||||
"uploadedAt": "ISO8601 timestamp"
|
||||
}
|
||||
|
||||
Response 400 Bad Request:
|
||||
{
|
||||
"error": "Invalid file format"
|
||||
}
|
||||
|
||||
Response 401 Unauthorized:
|
||||
{
|
||||
"error": "Authentication required"
|
||||
}
|
||||
|
||||
Response 413 Payload Too Large:
|
||||
{
|
||||
"error": "File size exceeds limit"
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
- API may evolve - this is v1 specification
|
||||
- For actual implementation, verify with Binect API documentation
|
||||
- Rate limits may apply
|
||||
Reference in New Issue
Block a user