Prewave Suppliers - Supplier Graph API
⚠️ **DEPRECATED** - This API is deprecated and will be removed at the end of December 2026.
⚠️ **DEPRECATED** - This API is deprecated and will be removed at the end of December 2026.
openapi: 3.0.1
info:
title: Public Prewave Actions Suppliers - Supplier Graph API
description: 'Documentation of the Public Prewave API.
## What''s New
### Q1 2026 — Supplier Management, User Management, Actions and Feed
This quarter introduces major v2 upgrades, expanded administrative capabilities, and the new Actions API.
- **Core Releases:** Deployed Supplier Management API v2 and Feed API v2, alongside the all-new Actions API.
- **Enhanced Functionality:** Added robust identifier management, granular user and role configuration, and endpoints for managing supplier connection contacts.
- ⚠️ **Required Migration:** Legacy v1 endpoints for Suppliers and Sites Upsert have been deprecated. Developers must migrate existing integrations to v2 by **May 31, 2027** (original deadline was December 31, 2026).
📖 **[Read the Q1 2026 changelog](https://docs.prewave.com/en/articles/699847-q1-2026-public-api-updates)**
### Q2 2026 — Supplier Screening and External Scores
We have expanded our v2 documentation to include comprehensive integration guidance for supplier screening and validation workflows and identifier-based external score ingestion.
- **New Capabilities:** Added support for optional post-onboarding screening and validation during the create event.
- **External Scores:** Batch POST for multiple supplier sites, per-site history GET, and event-type discovery GET (`/public/v1/scores/externals` and `/public/v1/scores/externals/event-types`). Documented in OpenAPI when enabled for your organization.
- **Developer Resources:** Published new integration examples and detailed identifier validation rules to streamline your implementation process.
📖 **[Read the Q2 2026 changelog](https://docs.prewave.com/en/articles/699849-q2-2026-public-api-updates)**
### Q3 2026 — Scores Webhooks
To support event-driven architectures and eliminate the need for continuous API polling, we are introducing webhooks for score state changes later this year.
- **Event-Driven Architecture:** Register webhook URLs to receive real-time HTTP payloads whenever a supplier''s score updates, so you can drive immediate mitigation responses without polling the API.
- **Availability:** Comprehensive OpenAPI specifications and payload schemas will be published closer to the release date.
- **Note:** Schemas and behaviors are subject to refinement prior to general availability.
Documentation updates will be provided prior to release.
### Q4 2026 — Feed V2
We are enhancing Feed API v2 with additional capabilities on top of the existing `GET /public/v2/feed` contract (see Q1 changelog and OpenAPI for the current Feed v2 integration).
- **Availability:** Details will be announced before release.
- **Note:** Schemas and behaviors are subject to refinement prior to the official release.
Documentation updates will be provided prior to release.
---
## Authentication
Prewave’s public api uses *API tokens* to authenticate against our RESTful service. We’ll provide you an *API-token* that each
endpoint needs present as a http header.
To pass the token in a request, simply add it as a header-parameter with
* key = X-Auth-Token
* value = api-token
See an example in curl below where the api-token would be 12345678-90ab-cdef-1234-567890abcdef
```
curl --request GET \
--url https://REPLACE_WITH_SERVER/public/v1/target/prewave/3975230/alerts \
--header ''X-Auth-Token: 12345678-90ab-cdef-1234-567890abcdef''
```
---
## Manage API Tokens
Before you can obtain your API token, you''ll need the credentials for your API user. These credentials will be
sent to you as part of the company-onboarding. If you haven''t got your credentials yet, please reach out to
your sales-contact at Prewave or contact us via info@prewave.ai
To generate an API Token, navigate to https://www.prewave.com/management/api and log in with the
credentials of your API user. Then click at the button "Create New" and use your new api-token authentication as a header parameter.
You can create multiple API tokens and also remove existing API tokens on https://www.prewave.com/management/api.
API tokens do not expire, therefore you have to maintain the list of API tokens you are using manually.
---
## Default Rate Limits
We have two types of default rate limits. For increased access, please contact customer success.
| Type | Requests per 10 seconds | Requests per Minute |
|-----------------------------------|-------------------------|---------------------|
| GET requests | 100 | 500 |
| POST, PUT, PATCH, DELETE requests | 20 | 100 |
'
version: '1.0'
servers:
- url: https://api.prewave.com
description: Production Environment
security:
- Token authentication: []
tags:
- name: Suppliers - Supplier Graph
description: ⚠️ **DEPRECATED** - This API is deprecated and will be removed at the end of December 2026.
paths:
/public/v2/suppliers/{systemId}/{targetId}/supplier-graph:
get:
tags:
- Suppliers - Supplier Graph
summary: Get a tree-structure of suppliers of the given target
description: "\n⚠️ **DEPRECATED** - This endpoint is deprecated and will be removed at the end of December 2026.\n\n---\n\n## Migration Required\n\nThis endpoint has been replaced by the v1 Collections Tier-N API. Please migrate to the new endpoint:\n\n### Replacement Endpoint\n\n| Old Endpoint | New Endpoint | Purpose |\n|--------------|--------------|---------|\n| `GET /public/v2/suppliers/{systemId}/{targetId}/supplier-graph` | `GET /public/v1/collections/{collectionId}/tier-n/data` | Get collection-based supplier graphs |\n\n---\n\n## Why Migrate?\n\nThe v1 Collections Tier-N API provides significant improvements:\n\n### 1. Collection-Based Approach\n- **v2**: Works with individual target IDs\n- **v1**: Works with collections, allowing you to analyze multiple suppliers together\n- **v1**: Better integration with collection management workflows\n- **v1**: Collection-level configuration for consistent analysis settings\n\n### 2. Enhanced Functionality\n- **v2**: Basic supplier graph with limited configuration\n- **v1**: Advanced filtering through collection settings\n- **v1**: Configurable data sources (customs, media, predictions)\n- **v1**: Better control over scope (private, shared, public targets)\n\n### 3. Improved Consistency\n- **v2**: Target-specific endpoint\n- **v1**: Aligned with collection-based API design\n- **v1**: Consistent with other collection management endpoints\n\n### 4. Better Documentation\n- Comprehensive examples for all endpoints\n- Detailed error response documentation\n- Clear parameter descriptions\n- Migration guidance and best practices\n\n---\n\n## Quick Migration Guide\n\n### Step 1: Identify Collection ID\n\n**Important**: The v1 endpoint requires a collection ID instead of a target ID. If you don't have a collection yet:\n\n1. Create a collection using `POST /public/v1/collections`\n2. Add your target to the collection using `POST /public/v1/collections/{collectionId}/targets`\n3. Ensure the collection has tier-n enabled (`tiersEnabled: true`)\n\n### Step 2: Update Endpoint Call\n\n**Before:**\n```http\nGET /public/v2/suppliers/prewave/102006215/supplier-graph?tierLevel=3&commodityIds=101,102&filter={...}\n```\n\n**After:**\n```http\nGET /public/v1/collections/123/tier-n/data?tierLevel=3&commodityIds=101,102\n```\n\n### Step 3: Update Request Parameters\n\n**v2 Parameters:**\n- `systemId`: System identifier (path parameter)\n- `targetId`: Target identifier (path parameter)\n- `tierLevel`: Maximum tier level (query parameter, max 4)\n- `commodityIds`: List of commodity IDs (query parameter)\n- `filter`: Complex filter object (query parameter)\n- `commodityTreeId`: Commodity tree ID (query parameter)\n- `fetchParents`: Include parents (query parameter, default: true)\n\n**v1 Parameters:**\n- `collectionId`: Collection identifier (path parameter)\n- `tierLevel`: Maximum tier level (query parameter, max 4)\n- `commodityIds`: List of commodity IDs (query parameter)\n- `commodityTreeId`: Commodity tree ID (query parameter)\n- `fetchParents`: Include parents (query parameter, default: true)\n- Filter options can be configured in collection settings using `PUT /public/v1/collections/{collectionId}/tier-n/settings`\n\n### Step 4: Configure Collection Settings (Optional)\n\nFor advanced filtering, configure collection settings:\n\n```http\nPUT /public/v1/collections/123/tier-n/settings\n{\n \"maxTier\": 3,\n \"scopePrivate\": true,\n \"scopeShared\": true,\n \"sourceCustoms\": true,\n \"sourceMedia\": true,\n \"minShipments\": 5,\n \"probability\": 75\n}\n```\n\n---\n\n## Breaking Changes\n\n1. **Endpoint Path**: Changed from `/public/v2/suppliers/{systemId}/{targetId}/supplier-graph` to `/public/v1/collections/{collectionId}/tier-n/data`\n2. **Path Parameters**:\n - **v2**: Requires `systemId` and `targetId`\n - **v1**: Requires `collectionId` (collection-based approach)\n3. **Filter Configuration**:\n - **v2**: Filter passed as query parameter object\n - **v1**: Filter options configured in collection settings or passed as separate query parameters\n4. **Response Structure**: May differ slightly - review response format\n5. **Collection Requirement**: v1 requires targets to be part of a collection\n\n---\n\n## Important Notes\n\n### Collection Requirement\n- The v1 endpoint requires targets to be part of a collection\n- If you're currently using this endpoint with individual targets, you'll need to:\n 1. Create or identify a collection containing your target\n 2. Ensure the collection has tier-n enabled (`tiersEnabled: true`)\n 3. Use the collection ID instead of target ID\n\n### Filter Migration\n- Complex filter objects from v2 should be migrated to collection settings\n- Use `GET /public/v1/collections/{collectionId}/tier-n/settings` to view current settings\n- Use `PUT /public/v1/collections/{collectionId}/tier-n/settings` to configure filters\n\n---\n\n**Performance Impact**: High\n\nFor detailed API reference and examples, see the v1 Collections Tier-N API documentation.\n"
operationId: findSupplierGraph_1
parameters:
- name: systemId
in: path
description: The system ID is an identifier to determine from which the targetId might originate from. Supported systemIds are "prewave", "customer", "supplier", "own".
required: true
schema:
type: string
example: prewave
- name: targetId
in: path
description: The target ID can be the target's prewaveId or an external id (edge number) representing the site in another system.
required: true
schema:
type: string
example: 10422185
- name: tierLevel
in: query
description: Defines the maximum limit of tiers that should be fetched. Must be <=4
required: false
schema:
maximum: 4
type: integer
format: int32
example: 3
- name: commodityIds
in: query
description: List of commodity ids to filter the supplier graph
required: false
schema:
type: array
items:
type: integer
format: int32
example: 101, 102, 103
- name: filter
in: query
description: "Filter object used for specifying limiting criteria for retrieving targets, affects both the targets and edge data in relation to the affected organization which queries the data.\n\n - **q** *[TARGET & EDGE]* - a query term by which target details (target name or existing edge details\n (edge number WITHOUT edge number source are used as condition)\n\n - **collections** *[TARGET]* - a list of collection ids to filter in any which the target needs to exist\n\n - **commodityIds** *[TARGET & EDGE]* - a list of commodity infotag ids by which the target needs to be associated with any\n\n - **tt** *[TARGET]* - a list of target types the target needs to be assigned\n\n - **tier** *[EDGE]* - a list of tiers by which to filter the targets by, in relation to the organization as a supplier\n\n - **scope** *[EDGE]* - defines the visibilities of edge connections to the affected target\n (if an edge is restricted to the affected customer it's 'Private',\n otherwise it's 'Shared' if the edge is shared to the organization by\n a different organization)\n\n - **source** *[EDGE]* - determines edge source that should be considered (either 'Customer', 'Customs', 'Media' or 'PrewavePrediction')\n\n - **country** *[TARGET]* - a list of infotag ids for countries which the target is assigned to any\n (`country_id` column in the target, generally only for POI targets)\n\n - **hscode** *[EDGE]* - a list of codes by which the target is associated to via an edge's HS code\n\n - **ods** *[TARGET]* - only direct suppliers (true/false)\n\n - **lastShipment** *[EDGE]* - a date which determines a cut-off point after which the latest shipment must have happened regardless of HS Codes\n (if `hscodes` are supplied it's already taken care of by the time this filter is applied, otherwise filters over all HS Codes)"
required: true
schema:
$ref: '#/components/schemas/TargetSuppliersFilter'
- name: commodityTreeId
in: query
description: Represents a collection of commodityIds
required: false
schema:
type: integer
format: int32
example: 456
- name: fetchParents
in: query
description: Defines whether the parents of the targets should be included in the result.
required: false
schema:
type: boolean
default: true
example: true
responses:
'200':
description: Successfully retrieved supplier graph
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PublicTreeTargetV2'
examples:
Supplier graph example:
summary: Sample supplier tree structure
description: Supplier graph example
value:
- target: 10422185
suppliers:
- target: 101641243
suppliers: []
targetInfo:
tier: 1
path:
- 10422185
collectionLevel: 1
collectionPath:
- 123
collectionPaths:
- - 123
edgeSource: Shared
edgeInfo:
hsCodes:
- code: '847330'
nShipments: 15
probability: 85.0
merged_targets: []
targetInfo:
tier: 0
path: []
collectionLevel: 0
collectionPath: []
collectionPaths: []
edgeSource: Public Media
edgeInfo: null
merged_targets: []
'400':
description: Invalid request parameters (e.g., tier level > 4)
content:
application/json: {}
'404':
description: Target not found or not accessible to the user
content:
application/json: {}
'403':
description: '403 Forbidden - Authentication or authorization failure. This status code is returned when: (1) the request lacks valid authentication credentials (missing or invalid X-Auth-Token header), or (2) the authenticated user does not have the required permission to access this resource.'
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedErrorDTO'
examples:
Access denied example:
summary: User lacks necessary permissions or authentication
value: "{\n \"loggedIn\": true,\n \"code\": \"access_denied\",\n \"message\": \"Access denied: you don't have necessary permissions to access this resource\",\n \"solution\": \"Contact support for appropriate permissions\"\n }"
'500':
description: 500 Internal Server Error - An unexpected error occurred on the server. The request may or may not have been processed.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
Error - Server Error:
summary: Unexpected server error
value: "{\n \"code\": \"internal_error\",\n \"message\": \"An unexpected error occurred\",\n \"solution\": \"Please try again later or contact support\"\n }"
'429':
description: '429 Too Many Requests - API rate limit exceeded. The request has been rejected because the rate limit for this endpoint has been exceeded. Default rate limits: GET requests - 100 per 10 seconds, 500 per minute; POST/PUT/PATCH/DELETE requests - 20 per 10 seconds, 100 per minute. For increased access, please contact customer success.'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRateLimitResponse'
examples:
Rate limit exceeded example:
summary: API rate limit exceeded
value: "{\n \"error\": \"API rate limit exceeded\",\n \"message\": \"You have reached the maximum allowed requests. Please try again later or upgrade your plan for increased access\",\n \"requestLimit\": 100,\n \"requestCount\": 100,\n \"limits\": [\n {\n \"requestLimit\": 100,\n \"timeInSeconds\": 10\n },\n {\n \"requestLimit\": 500,\n \"timeInSeconds\": 60\n }\n ],\n \"currentTime\": \"2026-01-15T10:30:00\",\n \"nextResetAt\": \"2026-01-15T10:30:10\"\n }"
deprecated: true
/public/v1/suppliers/{systemId}/{targetId}/supplier-graph:
get:
tags:
- Suppliers - Supplier Graph
summary: Get a tree-structure of suppliers of the given target
description: '
⚠️ **DEPRECATED** - This endpoint is deprecated and will be removed at the end of December 2026.
---
## Migration Required
This endpoint has been replaced by the v1 Collections Tier-N API. Please migrate to the new endpoint:
### Replacement Endpoint
| Old Endpoint | New Endpoint | Purpose |
|--------------|--------------|---------|
| `GET /public/v1/suppliers/{systemId}/{targetId}/supplier-graph` | `GET /public/v1/collections/{collectionId}/tier-n/data` | Get collection-based supplier graphs |
---
## Why Migrate?
The v1 Collections Tier-N API provides significant improvements:
### 1. Collection-Based Approach
- **v1**: Works with individual target IDs
- **v1 Tier-N**: Works with collections, allowing you to analyze multiple suppliers together
- **v1 Tier-N**: Better integration with collection management workflows
- **v1 Tier-N**: Collection-level configuration for consistent analysis settings
### 2. Enhanced Functionality
- **v1**: Basic supplier graph with limited configuration
- **v1 Tier-N**: Advanced filtering through collection settings
- **v1 Tier-N**: Configurable data sources (customs, media, predictions)
- **v1 Tier-N**: Better control over scope (private, shared, public targets)
### 3. Improved Consistency
- **v1**: Target-specific endpoint
- **v1 Tier-N**: Aligned with collection-based API design
- **v1 Tier-N**: Consistent with other collection management endpoints
### 4. Better Documentation
- Comprehensive examples for all endpoints
- Detailed error response documentation
- Clear parameter descriptions
- Migration guidance and best practices
---
## Quick Migration Guide
### Step 1: Identify Collection ID
**Important**: The v1 Tier-N endpoint requires a collection ID instead of a target ID. If you don''t have a collection yet:
1. Create a collection using `POST /public/v1/collections`
2. Add your target to the collection using `POST /public/v1/collections/{collectionId}/targets`
3. Ensure the collection has tier-n enabled (`tiersEnabled: true`)
### Step 2: Update Endpoint Call
**Before:**
```http
GET /public/v1/suppliers/prewave/102006215/supplier-graph?tierLevel=3&commodityIds=101,102&filter={...}
```
**After:**
```http
GET /public/v1/collections/123/tier-n/data?tierLevel=3&commodityIds=101,102
```
### Step 3: Update Request Parameters
**v1 Parameters**:
- `systemId`: System identifier (path parameter)
- `targetId`: Target identifier (path parameter)
- `tierLevel`: Maximum tier level (query parameter, max 4)
- `commodityIds`: List of commodity IDs (query parameter)
- `filter`: Complex filter object (query parameter)
- `commodityTreeId`: Commodity tree ID (query parameter)
- `fetchParents`: Include parents (query parameter, default: true)
**v1 Tier-N Parameters**:
- `collectionId`: Collection identifier (path parameter)
- `tierLevel`: Maximum tier level (query parameter, max 4)
- `commodityIds`: List of commodity IDs (query parameter)
- `commodityTreeId`: Commodity tree ID (query parameter)
- Filter options can be configured in collection settings using `PUT /public/v1/collections/{collectionId}/tier-n/settings`
### Step 4: Configure Collection Settings (Optional)
For advanced filtering, configure collection settings:
```http
PUT /public/v1/collections/123/tier-n/settings
{
"maxTier": 3,
"scopePrivate": true,
"scopeShared": true,
"sourceCustoms": true,
"sourceMedia": true,
"minShipments": 5,
"probability": 75
}
```
---
## Breaking Changes
1. **Endpoint Path**: Changed from `/public/v1/suppliers/{systemId}/{targetId}/supplier-graph` to `/public/v1/collections/{collectionId}/tier-n/data`
2. **Path Parameters**:
- **v1**: Requires `systemId` and `targetId`
- **v1 Tier-N**: Requires `collectionId` (collection-based approach)
3. **Filter Configuration**:
- **v1**: Filter passed as query parameter object
- **v1 Tier-N**: Filter options configured in collection settings or passed as separate query parameters
4. **Response Structure**: May differ slightly - review response format
5. **Collection Requirement**: v1 Tier-N requires targets to be part of a collection
---
## Important Notes
### Collection Requirement
- The v1 Tier-N endpoint requires targets to be part of a collection
- If you''re currently using this endpoint with individual targets, you''ll need to:
1. Create or identify a collection containing your target
2. Ensure the collection has tier-n enabled (`tiersEnabled: true`)
3. Use the collection ID instead of target ID
### Filter Migration
- Complex filter objects from v1 should be migrated to collection settings
- Use `GET /public/v1/collections/{collectionId}/tier-n/settings` to view current settings
- Use `PUT /public/v1/collections/{collectionId}/tier-n/settings` to configure filters
---
**Required Permission**: `ACCESS_PUBLIC_SUPPLIER_GRAPH`
**Performance Impact**: High
For detailed API reference and examples, see the v1 Collections Tier-N API documentation.
'
operationId: findSupplierGraph_2
parameters:
- name: systemId
in: path
description: The system ID is an identifier to determine from which the targetId might originate from. Supported systemIds are "prewave", "customer", "supplier", "own".
required: true
schema:
type: string
example: prewave
- name: targetId
in: path
description: The target ID can be the target's prewaveId or an external id (edge number) representing the site in another system.
required: true
schema:
type: string
example: 10422185
- name: tierLevel
in: query
description: Defines the maximum limit of tiers that should be fetched. Must be <=4
required: false
schema:
maximum: 4
type: integer
format: int32
example: 3
- name: commodityIds
in: query
description: List of commodity ids to filter the supplier graph
required: false
schema:
type: array
items:
type: integer
format: int32
example: 101, 102, 103
- name: commodityTreeId
in: query
description: Represents a collection of commodityIds
required: false
schema:
type: integer
format: int32
example: 456
- name: filter
in: query
description: "Filter object used for specifying limiting criteria for retrieving targets, affects both the targets and edge data in relation to the affected organization which queries the data.\n\n - **q** *[TARGET & EDGE]* - a query term by which target details (target name or existing edge details\n (edge number WITHOUT edge number source are used as condition)\n\n - **collections** *[TARGET]* - a list of collection ids to filter in any which the target needs to exist\n\n - **commodityIds** *[TARGET & EDGE]* - a list of commodity infotag ids by which the target needs to be associated with any\n\n - **tt** *[TARGET]* - a list of target types the target needs to be assigned\n\n - **tier** *[EDGE]* - a list of tiers by which to filter the targets by, in relation to the organization as a supplier\n\n - **scope** *[EDGE]* - defines the visibilities of edge connections to the affected target\n (if an edge is restricted to the affected customer it's 'Private',\n otherwise it's 'Shared' if the edge is shared to the organization by\n a different organization)\n\n - **source** *[EDGE]* - determines edge source that should be considered (either 'Customer', 'Customs', 'Media' or 'PrewavePrediction')\n\n - **country** *[TARGET]* - a list of infotag ids for countries which the target is assigned to any\n (`country_id` column in the target, generally only for POI targets)\n\n - **hscode** *[EDGE]* - a list of codes by which the target is associated to via an edge's HS code\n\n - **ods** *[TARGET]* - only direct suppliers (true/false)\n\n - **lastShipment** *[EDGE]* - a date which determines a cut-off point after which the latest shipment must have happened regardless of HS Codes\n (if `hscodes` are supplied it's already taken care of by the time this filter is applied, otherwise filters over all HS Codes)"
required: true
schema:
$ref: '#/components/schemas/TargetSuppliersFilter'
- name: fetchParents
in: query
description: Defines whether the parents of the targets should be included in the result.
required: false
schema:
type: boolean
default: true
example: true
responses:
'200':
description: Successfully retrieved supplier graph
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PublicTreeTargetV1'
examples:
Supplier graph example:
summary: Sample supplier tree structure
description: Supplier graph example
value:
- target: 10422185
suppliers:
- target: 101641243
suppliers: []
tier: 1
path:
- 10422185
edgeSource: Shared
merged_targets: []
tier: 0
path: []
edgeSource: Public Media
merged_targets: []
'400':
description: Invalid request parameters (e.g., tier level > 4)
content:
application/json: {}
'404':
description: Target not found or not accessible to the user
content:
application/json: {}
'403':
description: '403 Forbidden - Authentication or authorization failure. This status code is returned when: (1) the request lacks valid authentication credentials (missing or invalid X-Auth-Token header), or (2) the authenticated user does not have the required permission to access this resource.'
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedErrorDTO'
examples:
Access denied example:
summary: User lacks necessary permissions or authentication
value: "{\n \"loggedIn\": true,\n \"code\": \"access_denied\",\n \"message\": \"Access denied: you don't have necessary permissions to access this resource\",\n \"solution\": \"Contact support for appropriate permissions\"\n }"
'500':
description: 500 Internal Server Error - An unexpected error occurred on the server. The request may or may not have been processed.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
Error - Server Error:
summary: Unexpected server error
value: "{\n \"code\": \"internal_error\",\n \"message\": \"An unexpected error occurred\",\n \"solution\": \"Please try again later or contact support\"\n }"
'429':
description: '429 Too Many Requests - API rate limit exceeded. The request has been rejected because the rate limit for this endpoint has been exceeded. Default rate limits: GET requests - 100 per 10 seconds, 500 per minute; POST/PUT/PATCH/DELETE requests - 20 per 10 seconds, 100 per minute. For increased access, please contact customer success.'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRateLimitResponse'
examples:
Rate limit exceeded example:
summary: API rate limit exceeded
value: "{\n \"error\": \"API rate limit exceeded\",\n \"message\": \"You have reached the maximum allowed requests. Please try again later or upgrade your plan for increased access\",\n \"requestLimit\": 100,\n \"requestCount\": 100,\n \"limits\": [\n {\n
# --- truncated at 32 KB (104 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/prewave/refs/heads/main/openapi/prewave-suppliers-supplier-graph-api-openapi.yml