Skip to main content

2026.01: Public API Updates

Tim Latala avatar
Written by Tim Latala
Updated over 2 weeks ago

Public API Changelog

This document contains the changelog and release notes for the Prewave Public API.


πŸš€ January 2026 β€” Public API Updates

πŸ“‘ Table of Contents


We're excited to announce significant improvements to the Prewave Public API. This release introduces a new Supplier Management v2 API that dramatically simplifies supplier onboarding and identifier management, alongside improved documentation across all endpoints.

What's in this release:

  • ✨ New Supplier Management v2 β€” Simplified supplier creation replacing the complex Sites-Upsert API

  • πŸ”— Supplier Identifier Management β€” Link suppliers to your external systems (SAP, Coupa, D&B, etc.) using multiple identifier types

  • ⚠️ Deprecations β€” Legacy v1 endpoints sunset scheduled for December 2026


✨ What's New

πŸ“¦ Supplier Management API v2

The problem we solved: The legacy Sites-Upsert API (/public/v1/sites-upsert) required complex batch operations with FULL/DELTA load semantics, large nested payloads, and asynchronous request tracking. Many customers found it difficult to integrate and debug.

The new approach: The Supplier Management v2 API (/public/v2/suppliers/sites) replaces this complexity with simple, RESTful operations. Create suppliers with immediate feedback and track their processing status easily.

🎯 Key Benefits

Benefit

Description

Simpler integration

Standard REST patternsβ€”just POST to create, GET to read, DELETE to remove

Immediate feedback

Synchronous responses with clear HTTP status codes and validation errors

Smaller payloads

60-80% smaller response payloads with only essential fields

Flexible identification

Find or deactivate suppliers using your own system IDs or Prewave IDs

Better error handling

Errors returned immediately with actionable messages, not buried in async reports

πŸ”„ Before & After Comparison

Before (Sites-Upsert v1): Complex batch with nested arrays, async processing, status polling

# Step 1: Submit a batch request with all suppliers curl -X POST "https://api.prewave.ai/public/v1/sites-upsert/full" \   -H "X-Auth-Token: YOUR_API_TOKEN" \   -H "Content-Type: application/json" \   -d '{     "siteData": [       {         "yourReference": { "id": "SUP-001", "source": "SAP" },         "name": "Acme Corp",         "countryCode": "AT",         "locality": "Vienna",         "addressLine": "123 Main St"       }     ],     "dryRun": false   }'  # Response: { "requestId": "550e8400-e29b-41d4-a716-446655440000" }  # Step 2: Poll for status curl "https://api.prewave.ai/public/v1/sites-upsert/full/550e8400-e29b-41d4-a716-446655440000" \   -H "X-Auth-Token: YOUR_API_TOKEN"

After (Supplier Management v2): Simple POST, immediate response with tracking

# Create a supplier β€” one call, immediate result curl -i -X POST "https://api.prewave.ai/public/v2/suppliers/sites" \   -H "X-Auth-Token: YOUR_API_TOKEN" \   -H "Content-Type: application/json" \   -d '{     "name": "Acme Corp",     "countryCode": "AT",     "locality": "Vienna",     "addressLine": "123 Main St",     "supplierId": {       "id": "SUP-001",       "source": "SAP"     }   }'

Response:

HTTP/1.1 202 Accepted Location: /public/v2/suppliers/sites/pending?uuid=550e8400-e29b-41d4-a716-446655440000 Content-Type: application/json  {   "uuid": "550e8400-e29b-41d4-a716-446655440000",   "status": "PENDING",   "pendingEndpoint": "GET /public/v2/suppliers/sites/pending" }

πŸ“ Note the Location header β€” It points to /public/v2/suppliers/sites/pending where you can track the creation status of your supplier.


⏳ Tracking Supplier Creation Status

When you create a supplier, it enters a pending state while Prewave processes the request (matching, enrichment, screening).

Key points:

  • ⏱️ Processing time: Typically takes a few hours.

  • πŸ“‹ While pending: The supplier appears in GET /public/v2/suppliers/sites/pending. Use the uuid query parameter to track a specific request: GET /public/v2/suppliers/sites/pending?uuid={UUID}.

  • βœ… Once created: The supplier is removed from /pending and appears in GET /public/v2/suppliers/sites.

Example: Check creation status

curl "https://api.prewave.ai/public/v2/suppliers/sites/pending?uuid=550e8400-e29b-41d4-a716-446655440000" \   -H "X-Auth-Token: YOUR_API_TOKEN"

πŸ”— Supplier Identifier Management

What are Identifiers? Identifiers are external keys that link Prewave suppliers to records in your other systemsβ€”SAP vendor numbers, Coupa customer IDs, D&B DUNS numbers, etc.

πŸ“‹ Available v2 Endpoints

Method

Endpoint

Description

GET

/public/v2/suppliers/sites

πŸ“‹ List all suppliers with pagination

POST

/public/v2/suppliers/sites

βž• Create a new supplier

DELETE

/public/v2/suppliers/sites

πŸ—‘οΈ Deactivate a supplier by identifier (query params)

POST

/public/v2/suppliers/sites/identifiers

βž• Create a new identifier for a supplier

DELETE

/public/v2/suppliers/sites/identifiers

πŸ—‘οΈ Delete an identifier for a supplier

GET

/public/v2/suppliers/sites/pending

⏳ Get pending suppliers (use ?uuid=UUID to track specific requests)

GET

/public/v2/suppliers/sites/find-by-identifier

πŸ” Find suppliers by any identifier (ID or system ID)

πŸ’‘ Common Use Cases

Find a supplier using your internal ID:

# "I have SAP vendor VENDOR-12345, what's the Prewave supplier?" curl "https://api.prewave.ai/public/v2/suppliers/sites/find-by-identifier?supplierId=VENDOR-12345&source=SAP" \   -H "X-Auth-Token: YOUR_API_TOKEN"

Add an additional identifier to an existing supplier:

curl -X POST "https://api.prewave.ai/public/v2/suppliers/sites/identifiers?prewaveId=102006215" \   -H "X-Auth-Token: YOUR_API_TOKEN" \   -H "Content-Type: application/json" \   -d '{     "type": "SUPPLIER_ID",     "id": "SUP-12345",     "source": "SAP"   }'

Delete an identifier for a supplier:

curl -X DELETE "https://api.prewave.ai/public/v2/suppliers/sites/identifiers?prewaveId=102006215" \   -H "X-Auth-Token: YOUR_API_TOKEN" \   -H "Content-Type: application/json" \   -d '{     "type": "SUPPLIER_ID",     "id": "SUP-12345",     "source": "SAP"   }'

Deactivate a supplier by your external ID:

curl -X DELETE "https://api.prewave.ai/public/v2/suppliers/sites?supplierId=VENDOR-12345&source=SAP" \   -H "X-Auth-Token: YOUR_API_TOKEN"

⚠️ Deprecations

πŸ—“οΈ Migration deadline: December 31, 2026

The following endpoints are deprecated and will be removed at the end of December 2026. We strongly recommend migrating to v2 as soon as possible.

πŸ“‘ Sunset Header

All deprecated endpoints include a Sunset HTTP header (RFC 8594) indicating when the endpoint will be removed.

πŸ”€ Migration Guide

Suppliers β€” Management

Deprecated Endpoint

➑️ Replacement

Notes

GET /public/v1/suppliers

GET /public/v2/suppliers/sites

Paginated list of suppliers

GET /public/v1/target/{systemId}/{targetId}

GET /public/v2/suppliers/sites/find-by-identifier

Resolve identifier to details

Suppliers β€” Sites Upsert

Deprecated Endpoint

➑️ Replacement

Notes

POST /public/v1/sites-upsert/full

POST /public/v2/suppliers/sites

Create suppliers individually

POST /public/v1/sites-upsert/delta

POST /public/v2/suppliers/sites

Create suppliers individually

GET /public/v1/sites-upsert/full

GET /public/v2/suppliers/sites/pending

Simplified pending tracking

GET /public/v1/sites-upsert/requests

GET /public/v2/suppliers/sites/pending

β€”

GET /public/v1/sites-upsert/{requestId}/matched-targets

GET /public/v2/suppliers/sites

List all active sites


πŸ—‘οΈ Removed Endpoints

The following endpoints have been permanently removed:

Endpoint

Reason

Alternative

POST /public/v1/auth

Legacy authentication

Use API tokens (see Authentication Guide)

POST /public/v1/target/.../connect

Legacy target connection

Use Supplier Management v2 POST

DELETE /public/v1/target/.../disconnect

Legacy target disconnection

Use Supplier Management v2 DELETE

POST /public/v1/batch-request/get-requests

Legacy batch system

Use /v2/suppliers/sites/pending

POST /public/v1/batch-request/create-request

Legacy batch system

Use POST /v2/suppliers/sites

PUT /public/v3/alpha/suppliers/.../supplier-graph/csv

Migration to collections

Use /public/v1/collections/{collectionId}/tier-n/data


πŸ“š Improved Documentation

We've reorganized the API documentation to make endpoints easier to find:

Category

What's included

πŸ“‚ Collections

Management, Network, Targets, Tier-N β€” Organize suppliers into collections

🌍 EUDR

Customers, Suppliers, Shared β€” EU Deforestation Regulation compliance

🏭 Suppliers

Sites (v2), Sites Upsert (⚠️)

πŸ“Š Scores

Enterprise Export, Target (⚠️) β€” Risk scores and assessments

πŸ”§ Other

Alerts, Exposure, Infotags, Roles Management


πŸ’¬ Questions?

For questions or support with these changes:

Did this answer your question?