Locations
POST /api/external/v1/import/locations
Requires either legalName or operatingName.
Use this guide to connect customer ERP, HR, payroll, logistics, compliance, and operational systems to SmartWay Applications.
The SmartWay API provides secure integration services for customer ERP, HR, logistics, compliance, and operational systems.
Business Partners and Business Partner Contacts are staged for validation, partner resolution, duplicate detection, and automated relationship creation. All remaining services perform validated direct imports into customer-owned data.
https://api.smartwayapplications.com
application/json
x-smartway-api-key
All requests require a SmartWay-issued API key. API keys are generated and managed in SmartWay Atlas under Administration → Integrations → API Management.
x-smartway-api-key: YOUR_API_KEY
Content-Type: application/json
Current SmartWay API v1 integration services.
POST /api/external/v1/import/business-partnersPOST /api/external/v1/import/business-partner-contactsPOST /api/external/v1/import/locationsPOST /api/external/v1/import/team-membersPOST /api/external/v1/import/jobsPOST /api/external/v1/import/departmentsPOST /api/external/v1/import/equipmentPOST /api/external/v1/import/catalogPOST /api/external/v1/import/sealsPOST /api/external/v1/import/packagingBusiness Partner records are staged before processing. During processing, SmartWay resolves the partner, creates role assignments, and creates customer relationships.
POST /api/external/v1/import/business-partners
partnerNametaxIDtaxTypeIDwebsiterelationshipDirection — Source or TargetrelationshipTypeIDrelationshipStatusIDpartnerRoleIDs
Use Source when the imported Business Partner is the source of the relationship.
Use Target when the imported Business Partner is the target of the relationship.
{
"sourceSystem": "TestERP",
"externalBatchID": "BP-REL-001",
"records": [
{
"externalPartnerID": "VEND-1001",
"partnerName": "ABC Industrial Supply",
"addressLine1": "123 Main St",
"city": "Laredo",
"stateProvince": "TX",
"postalCode": "78040",
"country": "USA",
"taxID": "123456789",
"taxTypeID": 1,
"website": "abcindustrial.com",
"accountNum": "ABC-1001",
"scopeDescription": "Primary warehouse supplier",
"relationshipDirection": "Target",
"relationshipTypeID": 7,
"relationshipStatusID": 1,
"relationshipStartDate": "2026-06-29T00:00:00",
"relationshipEndDate": null,
"cxInternalTrackingID": "ERP-VEND-1001",
"isCriticalRelationship": true,
"isOnSiteAccessGranted": false,
"isLimitedDataAccessGranted": true,
"isSensitiveDataAccessGranted": false,
"isSubjectToCerts": true,
"isSubjectToRegulatedControl": true,
"isPermitControls": false,
"isEscalated": false,
"escalatedAt": null,
"isIndirect": false,
"isCustomer": false,
"isSubjectToContractRenewal": false,
"lastContractRenewalAt": null,
"partnerRoleIDs": [2, 5, 7]
}
]
}
Business Partner Contacts are staged after Business Partners. These records must include
externalPartnerID so SmartWay can link the contact to the resolved Business Partner.
POST /api/external/v1/import/business-partner-contacts
externalPartnerIDpartnerContactTypeIDfirstName, lastName, or emailPrimaryexternalContactIDparentExternalContactIDtitleemailOtherphoneMobilephoneOfficephoneOtherphoneOtherDescisPrimaryacceptedAt
{
"sourceSystem": "TestERP",
"externalBatchID": "BP-CON-001",
"records": [
{
"externalPartnerID": "VEND-1001",
"externalContactID": "CONT-2001",
"partnerContactTypeID": 1,
"title": "Export Manager",
"emailPrimary": "maria.garcia@vendor.com",
"phoneOffice": "956-555-4000",
"firstName": "Maria",
"lastName": "Garcia",
"isPrimary": true,
"acceptedAt": "2026-06-29T00:00:00"
}
]
}
Business Partner API
│
▼
SWPartnerImportStage
│
▼
Partner Validation
│
▼
Partner Resolution
│
▼
SWPartners
│
▼
Partner Role Assignments
│
▼
Customer Relationships
Business Partner Contact API
│
▼
SWPartnerContactImportStage
│
▼
Partner Resolution
│
▼
SWPartnerContacts
│
▼
CXPartnerContacts
Business Partner and Business Partner Contact imports are asynchronous. Records are staged first and then processed by SmartWay to perform validation, duplicate detection, partner resolution, and relationship creation.
Direct import endpoints insert records after API key validation and basic payload checks. These records belong to the customer identified by the API key. Equipment, Catalog, Seals, and Packaging may also be linked to an existing Business Partner relationship.
POST /api/external/v1/import/locations
Requires either legalName or operatingName.
POST /api/external/v1/import/team-members
Requires emailPrimary and either firstName or lastName.
POST /api/external/v1/import/jobs
Requires jobCode and jobTitle.
POST /api/external/v1/import/departments
Requires deptCode and deptName.
POST /api/external/v1/import/equipment
Optional partnerInternalTrackingID links each record to an existing Business Partner relationship. See Business Partner relationship linking.
Requires equipmentName.
POST /api/external/v1/import/catalog
Optional partnerInternalTrackingID links each record to an existing Business Partner relationship. See Business Partner relationship linking.
Requires productName.
POST /api/external/v1/import/seals
Optional partnerInternalTrackingID links each record to an existing Business Partner relationship. See Business Partner relationship linking.
Requires sealName.
POST /api/external/v1/import/packaging
Optional partnerInternalTrackingID links each record to an existing Business Partner relationship. See Business Partner relationship linking.
Imports packaging specifications and labeling data.
Catalog, Equipment, Seals, and Packaging use the same optional partnerInternalTrackingID field in API records and CSV rows.
partnerInternalTrackingIDQB-VEND-10025This customer-defined Business Partner tracking ID links the imported record to the matching Business Partner relationship belonging to the customer identified by the API key.
partnerInternalTrackingID as the first column in the examples. Leave its cell empty for a row that does not need a Business Partner link.productName.partnerInternalTrackingID imports the item for the customer without a Business Partner relationship.Each example is sent to its service endpoint. To import a customer-owned record without a relationship link, omit partnerInternalTrackingID or set it to an empty string.
POST /api/external/v1/import/catalog
{
"sourceSystem": "TestERP",
"externalBatchID": "CATALOG-001",
"records": [
{
"partnerInternalTrackingID": "QB-VEND-10025",
"sku": "SKU-1001",
"productName": "Steel Bracket"
}
]
}
POST /api/external/v1/import/equipment
{
"sourceSystem": "TestERP",
"externalBatchID": "EQUIPMENT-001",
"records": [
{
"partnerInternalTrackingID": "QB-VEND-10025",
"equipmentName": "Trailer 1001",
"assetTagID": "AT1001"
}
]
}
POST /api/external/v1/import/seals
{
"sourceSystem": "TestERP",
"externalBatchID": "SEALS-001",
"records": [
{
"partnerInternalTrackingID": "QB-VEND-10025",
"sealName": "Bolt Seal Blue",
"sealType": "Bolt Seal"
}
]
}
POST /api/external/v1/import/packaging
{
"sourceSystem": "TestERP",
"externalBatchID": "PACKAGING-001",
"records": [
{
"partnerInternalTrackingID": "QB-VEND-10025",
"packagingSpecID": "PKG-1001",
"packagingMaterial": "Corrugated cardboard"
}
]
}
See CSV Imports for field definitions and CSV examples for all four services.
{
"status": "Completed",
"recordsImported": 1,
"insertedIds": [1001],
"sourceSystem": "TestERP",
"externalBatchId": "TEST-001",
"message": "Records imported successfully."
}
{
"status": "Staged",
"recordsStaged": 1,
"stagedIds": [101],
"sourceSystem": "TestERP",
"externalBatchId": "BP-001",
"message": "Records staged for SmartWay validation and relationship processing."
}
400401500