Conphora API Documentation
Everything you need to integrate with Conphora's compliance platform.
Overview
Conphora API is a RESTful JSON-based API that provides full access to the compliance platform. All requests and responses use application/json.
https://api.conphora.com/v1 /v1, /v2 etc.) Authentication
All API calls require a valid API key. You create an API key under Settings → API Keys in your Conphora Dashboard.
Permission Levels
- Read-only — can only read data (GET endpoints).
- Read-write — full access to all endpoints, including creation, updates and deletion.
Send your API key as a Bearer token in the Authorization header:
curl -X GET https://api.conphora.com/v1/products \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" Products
Manage products in the Conphora platform. Each product can have materials, markets and attributes associated with it.
| Method | Endpoint | Description |
|---|---|---|
| GET | /products | Get list of all products |
| GET | /products/{id} | Get a specific product |
| POST | /products | Create new product |
| PUT | /products/{id} | Update an existing product |
| DELETE | /products/{id} | Delete a product |
Example: Create product
POST /products – Request JSON {
"name": "Smart Sensor X1",
"sku": "SS-X1-2025",
"category": "electronics_iot",
"markets": ["EU", "UK"],
"materials": ["ABS plastic", "lithium battery", "PCB"],
"attributes": {
"voltage": "5V DC",
"wireless": true,
"battery_type": "Li-ion 3.7V 2000mAh"
}
}
POST /products – Response (201 Created) JSON {
"id": "prod_xyz789",
"name": "Smart Sensor X1",
"sku": "SS-X1-2025",
"status": "pending_validation",
"created_at": "2025-09-15T10:00:00Z"
}
Compliance
Get compliance status and validate products against applicable EU regulations.
| Method | Endpoint | Description |
|---|---|---|
| GET | /products/{id}/compliance | Get compliance status for a product |
| POST | /products/{id}/validate | Start validation of a product |
| GET | /products/{id}/compliance/details | Get detailed compliance report |
Example: Compliance status
GET /products/{id}/compliance – Response JSON {
"product_id": "prod_xyz789",
"overall_status": "partially_compliant",
"regulations": [
{
"regulation": "REACH",
"status": "compliant",
"last_checked": "2025-09-15T12:00:00Z"
},
{
"regulation": "RoHS",
"status": "action_required",
"issues": ["Lead content in solder exceeds threshold"],
"last_checked": "2025-09-15T12:00:00Z"
},
{
"regulation": "Battery Directive",
"status": "compliant",
"last_checked": "2025-09-15T12:00:00Z"
}
]
}
Documentation
Generate and retrieve compliance documents such as EU Declaration of Conformity, technical documentation and more.
| Method | Endpoint | Description |
|---|---|---|
| GET | /products/{id}/documents | Get list of documents for a product |
| POST | /products/{id}/documents/generate | Generate a new compliance document |
| GET | /documents/{doc_id}/download | Download a specific document |
Batch Operations
Perform operations on multiple products simultaneously. Maximum 100 products per batch request.
Method Endpoint Description POST /products/batch Create up to 100 products in one request POST /products/batch/validate Validate up to 100 products in one request
Webhooks
Receive real-time notifications when important events occur in your Conphora account. Webhooks are configured under Settings → Webhooks in your Dashboard.
Available events
product.validated — A product has been validated compliance.changed — Compliance status has changed for a product regulation.updated — A regulation has been updated
Webhook payload example
Webhook Payload JSON {
"event": "compliance.changed",
"timestamp": "2025-09-15T14:30:00Z",
"data": {
"product_id": "prod_xyz789",
"product_name": "Smart Sensor X1",
"previous_status": "compliant",
"new_status": "action_required",
"affected_regulations": ["RoHS"],
"details": "Lead content threshold updated in RoHS amendment."
}
}
Error Handling
Conphora API uses standard HTTP status codes to indicate success or failure.
Code Meaning 200OK — Request succeeded 201Created — Resource created 400Bad Request — Invalid request body or parameters 401Unauthorized — Missing or invalid API key 403Forbidden — API key does not have sufficient permissions 404Not Found — Resource was not found 429Too Many Requests — Rate limit exceeded 500Internal Server Error — Unexpected server error
Error response format
Error Response (400) JSON {
"error": {
"code": "validation_error",
"message": "The field 'sku' is required.",
"details": [
{
"field": "sku",
"issue": "required",
"message": "SKU must be specified for all products."
}
]
}
}
SDKs
Official SDKs are under development and will soon be available for the following languages:
Python In development Node.js In development PHP In development Example: Python with requests
Python SDK example Python import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.conphora.com/v1"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# Get all products
response = requests.get(f"{BASE_URL}/products", headers=headers)
products = response.json()
# Create new product
new_product = {
"name": "Smart Sensor X1",
"sku": "SS-X1-2025",
"category": "electronics_iot",
"markets": ["EU", "UK"],
"materials": ["ABS plastic", "lithium battery", "PCB"]
}
response = requests.post(
f"{BASE_URL}/products",
json=new_product,
headers=headers
)
created = response.json()
print(f"Product created: {created['id']}")