API Reference

Use these endpoints in your frontend to access the OEMline platform

Base URL & Authentication

Base URL

https://api-bsg4wgow80c8k4sc404ko00k.oemline.eu

Authentication

All endpoints (except /health) require the X-API-Key header.

Header: X-API-Key: your-api-key

Status

Checking...
GET
/health
System

System health check — no authentication required

RESPONSE

{ status, uptime, timestamp, checks: { postgres, redis, meilisearch }, queues: { sync, match, index }, circuits: { ... } }
GET
/api/search
Search

Search products across all suppliers and TecDoc cross-reference

PARAMETERS

NameTypeRequiredDescription
qstring
required
Search query (article number, OEM, EAN, or free text)
brandstring
optional
Filter by brand name
articleNostring
optional
Filter by article number
eanstring
optional
Filter by EAN barcode
tecdocIdstring
optional
Filter by TecDoc ID
oemstring
optional
Filter by OEM number
limitnumber
optional
Max results (default: 50, max: 200)

RESPONSE

{ query, results: [{ supplier, sku, brand, articleNo, ean, tecdocId, oem, description, price, stock, currency }], matches, errors, totalResults, cachedAt }

EXAMPLE

curl -H "X-API-Key: $API_KEY" "https://api-bsg4wgow80c8k4sc404ko00k.oemline.eu/api/search?q=04E115561H"
GET
/api/tecdoc/search
TecDoc

Search TecDoc catalog directly (article number, OEM, EAN)

PARAMETERS

NameTypeRequiredDescription
qstring
required
Search query
typestring
optional
Search type: article, oem, ean, free (default: free)
brandIdnumber
optional
Filter by TecDoc brand ID
pagenumber
optional
Page number (default: 1)
limitnumber
optional
Results per page (default: 25)

RESPONSE

{ articles: [{ articleNumber, brand, brandId, description, ean, oemNumbers, tecdocId }], total }

EXAMPLE

curl -H "X-API-Key: $API_KEY" "https://api-bsg4wgow80c8k4sc404ko00k.oemline.eu/api/tecdoc/search?q=04E115561H&type=oem"
GET
/api/suppliers
Suppliers

List all registered suppliers with product counts

PARAMETERS

NameTypeRequiredDescription
pagenumber
optional
Page number
limitnumber
optional
Items per page (max: 100)
activestring
optional
Filter: true, false, or all

RESPONSE

{ items: [{ id, name, code, adapterType, baseUrl, priority, active, _count: { productMaps, overrides, unmatched } }], total, page, limit, totalPages }
POST
/api/suppliers
Suppliers

Register a new supplier

PARAMETERS

NameTypeRequiredDescription
namestring
required
Supplier display name
codestring
required
Unique code (lowercase, a-z0-9_-)
adapterTypestring
required
Adapter: intercars, tecdoc, partspoint
baseUrlstring
required
API base URL
credentialsobject
required
Encrypted credentials (key-value pairs)
prioritynumber
optional
Sort order (lower = higher priority)
activeboolean
optional
Enable supplier (default: true)

RESPONSE

{ id, name, code, adapterType, baseUrl, priority, active, message }
PATCH
/api/suppliers/:id
Suppliers

Update supplier settings

PARAMETERS

NameTypeRequiredDescription
namestring
optional
Supplier name
activeboolean
optional
Enable/disable supplier
prioritynumber
optional
Sort priority
credentialsobject
optional
Update credentials

RESPONSE

{ id, name, code, active, priority, message }
POST
/api/suppliers/:id/sync
Suppliers

Trigger catalog sync for a supplier (BullMQ job)

RESPONSE

{ message, jobId, supplier }
GET
/api/overrides
Overrides

List manual product matching overrides

PARAMETERS

NameTypeRequiredDescription
pagenumber
optional
Page number
limitnumber
optional
Items per page
supplierCodestring
optional
Filter by supplier code

RESPONSE

{ items: [{ id, articleNo, sku, ean, tecdocId, oem, reason, createdBy, active, supplier, brand }], total, page, limit, totalPages }
POST
/api/override
Overrides

Create a manual product matching override

PARAMETERS

NameTypeRequiredDescription
supplierCodestring
required
Supplier code
brandCodestring
required
Brand code
articleNostring
required
Article number
skustring
required
Supplier SKU
eanstring
optional
EAN barcode
tecdocIdstring
optional
TecDoc ID
oemstring
optional
OEM number
reasonstring
optional
Override reason

RESPONSE

{ id, articleNo, sku, ean, tecdocId, oem, reason, active }
GET
/api/unmatched
Unmatched

List items that could not be matched automatically

PARAMETERS

NameTypeRequiredDescription
pagenumber
optional
Page number
limitnumber
optional
Items per page
resolvedstring
optional
Filter: true, false, all (default: false)

RESPONSE

{ items: [{ id, query, articleNo, ean, tecdocId, oem, attempts, resolvedAt, supplier, brand }], total, page, limit, totalPages }
GET
/api/trace/logs
Analytics

Match analytics and audit trail

PARAMETERS

NameTypeRequiredDescription
pagenumber
optional
Page number
limitnumber
optional
Items per page (max: 200)
matchedstring
optional
Filter: true, false, all
methodstring
optional
Match method: override, tecdocId, ean, brand_article, oem
supplierIdnumber
optional
Filter by supplier ID
fromstring
optional
Date from (ISO 8601)
tostring
optional
Date to (ISO 8601)

RESPONSE

{ items: [{ id, query, sku, method, confidence, matched, durationMs, createdAt, supplier, brand }], total, page, limit, totalPages, stats: [{ method, count, avgDurationMs, avgConfidence }] }
Quick Integration

Use these endpoints from your frontend to build a complete automotive parts e-commerce experience.

// JavaScript / TypeScript

const API_URL = "https://api-bsg4wgow80c8k4sc404ko00k.oemline.eu";

const API_KEY = "your-api-key";

const response = await fetch(`${API_URL}/api/search?q=04E115561H`, {

headers: { "X-API-Key": API_KEY }

});

const data = await response.json();

// data.results → [{ supplier, brand, articleNo, description, price, stock }]

Product Search

Search by OEM, article number, EAN, or free text. Returns results from all active suppliers + TecDoc cross-reference.

GET /api/search?q=...

TecDoc Catalog

Direct TecDoc search for article numbers, OEM cross-reference, and EAN lookups.

GET /api/tecdoc/search?q=...

Supplier Data

List suppliers, trigger catalog syncs, manage overrides.

GET /api/suppliers