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.

Base URL https://api.conphora.com/v1
Authentication Bearer token (API key)
Format JSON (application/json)
Rate limit (Standard) 100 requests / minute
Rate limit (Enterprise) 1,000 requests / minute
Versioning URL-based (/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:

Authorization Header Bash
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']}")