API & Developer Reference
Integrate your ERP, procurement, or finance system directly with SupplierGATEWAY. All endpoints require a bearer token — generate one before making any other request.
Authorization: Bearer [TOKEN] in the header.
Generate your token using POST /token with your provided credentials. Tokens expire after 24 hours.
Your API base URL is available in the API Config Console inside the platform.
Obtain a bearer token using your SupplierGATEWAY-provided credentials. Include this token in the Authorization header of all subsequent requests.
| Parameter | Required | Value |
|---|---|---|
| grant_type | Yes | password |
| Username | Yes | Provided by SupplierGATEWAY |
| Password | Yes | Provided by SupplierGATEWAY |
curl -X POST '[APIURL]/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=password' \ --data-urlencode 'Username=YOURUSER' \ --data-urlencode 'Password=YOURPASSWORD'
{
"access_token": "eyJ...",
"token_type": "bearer",
"expires_in": 86399,
"userName": "myusername",
".issued": "Fri, 24 May 2024 17:44:59 GMT",
".expires": "Sat, 25 May 2024 17:44:59 GMT"
}
Adds a new supplier to your SupplierGATEWAY portal, or updates an existing one if the record already exists. A "supplier" here is an entity you currently do business with — at minimum you need their name, address, and your internal supplier number.
| Parameter | Required | Description |
|---|---|---|
| CompanyName | Yes | Legal company name |
| EIN | Yes | Tax ID / Employer Identification Number |
| SupplierNumber | Yes | Your internal supplier identifier |
| Address | Yes | Primary street address |
| City | Yes | |
| State | Yes | |
| Country | Yes | |
| Zip | Yes | |
| ContactFirstName | Yes | Primary contact's first name |
| ContactEmail | Yes | Primary contact's email address |
| Parameter | Required | Description |
|---|---|---|
| Address2 | No | Unit number or suite |
| Phone | No | Primary phone number |
| Status | No | Active, Suspended, Terminated, Supplier Entry |
| Category | No | Ownership category IDs, pipe-separated (e.g. "1|2"). See lookup below. |
| Ethnicity | No | Ethnicity IDs, pipe-separated. See lookup below. |
| ContactLastName | No | |
| RequiredtoReport | No | "1" = required to report Tier-2 spend, "0" = not required |
| YearEstablished | No | |
| NumberOfEmployee | No | |
| Capabilities | No | Free-text description of capabilities |
| Duns | No | DUNS number |
| Naics | No | NAICS code(s), semicolon-separated (e.g. "444123;112244") |
| ProductListing | No | Products description |
| ServiceListing | No | Services description |
| Certificates | No | Array of certification objects (CertID, CertNo, CertifiedDate, ExpirationDate, Attachment) |
| Code | Meaning |
|---|---|
| 1, 2 | Supplier added successfully |
| 3 | EIN matched but supplier number did not |
| 4 | EIN not matched; possible duplicate found |
| 7 | No EIN provided; supplier number matched |
| 8 | Supplier number already in use by another supplier |
| 9, 10 | Tax ID already used by an existing (or terminated) record |
curl -X POST '[APIURL]/v1/api/suppliers' \
-H 'Authorization: Bearer [TOKEN]' \
-H 'Content-Type: application/json' \
-d '{
"CompanyName": "Acme Corp",
"EIN": "999009993",
"SupplierNumber": "VND-001",
"Address": "123 Main St",
"City": "Philadelphia",
"State": "PA",
"Country": "US",
"Zip": "19103",
"ContactFirstName": "Jane",
"ContactLastName": "Smith",
"ContactEmail": "jane@acmecorp.com",
"Status": "Active",
"Category": "1|2",
"Naics": "541511;541512"
}'
Retrieves full company, contact, demographic, certification, and banking data for a specific supplier. Typically used to refresh your internal systems before processing a payment or issuing a purchase order.
| Parameter | Required | Description |
|---|---|---|
| SupplierNumber | Yes | Your internal supplier number (in the URL path) |
curl -X GET '[APIURL]/v1/api/Supplier/VND-001' \ -H 'Authorization: Bearer [TOKEN]'
{
"Code": "200",
"Message": "Success",
"Suppliers": [{
"UniqueID": "ABEA0A64-...",
"TaxID": "999009993",
"CompanyName": "Acme Corp",
"ContactName": "Jane Smith",
"Address": "123 Main St",
"City": "Philadelphia",
"State": "PA",
"Country": "United States",
"Zip": "19103",
"Phone": "2155551234",
"Email": "jane@acmecorp.com",
"Status": "Active",
"Ethnicities": [...],
"Categories": [...],
"Certifications": [...],
"Banks": [...]
}]
}
Returns all suppliers that have completed the onboarding workflow but have not yet been acknowledged. Records are returned repeatedly until you confirm receipt using the Update Onboard Status endpoint. Use this to create new vendor records in your ERP or AP system.
curl -X GET '[APIURL]/v1/api/Supplier/Onboard' \ -H 'Authorization: Bearer [TOKEN]'
Confirms that a supplier record retrieved from the Onboard endpoint has been processed and should not be returned again. You can also supply master supplier numbers and source system details at the time of confirmation.
| Parameter | Required | Description |
|---|---|---|
| UniqueID | Yes | Onboard unique ID (in URL path) |
| IsOnboarded | Yes | Pass "YES" to mark as processed and remove from the queue |
| MasterSupplierNumber | No | Object with suppliernumber, sourcesystem, address details |
| SupplierNumbers | No | Array of additional supplier number objects |
| RemoveSupplierNumbers | No | Array of supplier numbers to remove |
curl -X PUT '[APIURL]/v1/api/Supplier/Onboard/[UNIQUEID]' \
-H 'Authorization: Bearer [TOKEN]' \
-H 'Content-Type: application/json' \
-d '{
"IsOnboarded": "YES",
"MasterSupplierNumber": {
"suppliernumber": "MasterNo1",
"sourcesystem": "SAP",
"address": "123 Ample Ln",
"city": "San Diego",
"state": "CA",
"zip": "92933",
"country": "US"
}
}'
{
"Code": "200",
"Message": "Success",
"Status": "Onboard status updated successfully"
}
Returns a before/after change log for supplier profiles. Three variants: all changed suppliers, changes for a specific profile section, or changes for a specific supplier within a date range.
| Endpoint | Returns |
|---|---|
| GET /v1/api/Supplier/changes | All suppliers with any changes (latest change per section) |
| GET /v1/api/Supplier/changes/{ProfileSection} | All suppliers with changes in a specific section |
| GET /v1/api/Supplier/changes/{supplierNumber}/{startDate}/{endDate} | Changes for one supplier within a date range |
Push updates to a supplier's profile record in SupplierGATEWAY by supplier number.
Submit a purchase order record associated with a supplier.
Retrieve purchase order records from SupplierGATEWAY.
Submit spend transaction data for suppliers. Used to track and report on spending with diverse, small, and other classified suppliers.
Retrieve Tier 2 spend reporting data for a specific report period. Used by prime suppliers to report sub-tier spending to their customers.
| Parameter | Required | Description |
|---|---|---|
| REPORTPERIOD | Yes | The reporting period identifier (in URL path) |
Initiate a data enrichment job to validate, verify, and enhance supplier records with third-party data sources.
Add supplier records to an existing enrichment job for processing.
Submit a completed enrichment job for processing.
| Parameter | Required | Description |
|---|---|---|
| JOBID | Yes | The job ID returned when the job was created |
Look up and verify a supplier's diversity certification by certificate number.
| Parameter | Required | Description |
|---|---|---|
| CertificateNo | Yes | The certification number to verify (in URL path) |
Submit compliance documents (e.g. insurance certificates, W-9s, certifications) associated with a supplier.
Submit business size classification data for a supplier.
Create a posting for supplier opportunities or procurement notices.
SupplierGATEWAY connects to your existing enterprise systems via the REST API above. The same endpoints work regardless of which ERP you use — your integration team maps the fields to your system's data model.
Need help with your integration? Email our developer support team →







