SmartWay

SmartWay™ API Docs

v1 Customer Integration Guide
● SmartWay API v1

Developer Documentation

Use this guide to connect customer ERP, HR, payroll, logistics, compliance, and operational systems to SmartWay Applications.

API Key Required JSON Request Format 10 Integration Services

Overview

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.

v1
https://api.smartwayapplications.com
application/json
x-smartway-api-key

Authentication

All requests require a SmartWay-issued API key. API keys are generated and managed in SmartWay Atlas under Administration → Integrations → API Management.

Required

Required Header

x-smartway-api-key: YOUR_API_KEY
Content-Type: application/json
Important: API keys are shown only once when generated. If a key is lost, regenerate it in SmartWay Atlas. Regenerating a key disables the previous key.

Endpoint Directory

Current SmartWay API v1 integration services.

10 Services
Service
Endpoint
Processing
Business Partners
POST /api/external/v1/import/business-partners
Staged
Business Partner Contacts
POST /api/external/v1/import/business-partner-contacts
Staged
Locations
POST /api/external/v1/import/locations
Direct
Team Members
POST /api/external/v1/import/team-members
Direct
Jobs
POST /api/external/v1/import/jobs
Direct
Departments
POST /api/external/v1/import/departments
Direct
Equipment
POST /api/external/v1/import/equipment
Direct
Catalog
POST /api/external/v1/import/catalog
Direct
Seals
POST /api/external/v1/import/seals
Direct
Packaging
POST /api/external/v1/import/packaging
Direct

Business Partners

Business Partner records are staged before processing. During processing, SmartWay resolves the partner, creates role assignments, and creates customer relationships.

Endpoint

POST /api/external/v1/import/business-partners

Required Fields

Relationship Direction

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.

Sample Request

{
  "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

Business Partner Contacts are staged after Business Partners. These records must include externalPartnerID so SmartWay can link the contact to the resolved Business Partner.

Endpoint

POST /api/external/v1/import/business-partner-contacts

Required Fields

Optional Fields

Sample Request


    {
    "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 Processing

Business Partner Flow

Business Partner API
        │
        ▼
SWPartnerImportStage
        │
        ▼
Partner Validation
        │
        ▼
Partner Resolution
        │
        ▼
SWPartners
        │
        ▼
Partner Role Assignments
        │
        ▼
Customer Relationships

Business Partner Contact Flow

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 Services

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.

Direct

Locations

POST /api/external/v1/import/locations

Requires either legalName or operatingName.

Direct

Team Members

POST /api/external/v1/import/team-members

Requires emailPrimary and either firstName or lastName.

Direct

Jobs

POST /api/external/v1/import/jobs

Requires jobCode and jobTitle.

Direct

Departments

POST /api/external/v1/import/departments

Requires deptCode and deptName.

Direct

Equipment

POST /api/external/v1/import/equipment

Optional partnerInternalTrackingID links each record to an existing Business Partner relationship. See Business Partner relationship linking.

Requires equipmentName.

Direct

Catalog

POST /api/external/v1/import/catalog

Optional partnerInternalTrackingID links each record to an existing Business Partner relationship. See Business Partner relationship linking.

Requires productName.

Direct

Seals

POST /api/external/v1/import/seals

Optional partnerInternalTrackingID links each record to an existing Business Partner relationship. See Business Partner relationship linking.

Requires sealName.

Direct

Packaging

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.

Business Partner Relationship Linking

Catalog, Equipment, Seals, and Packaging use the same optional partnerInternalTrackingID field in API records and CSV rows.

Field
Type / Status
Example
partnerInternalTrackingID
Text / Optional
QB-VEND-10025

This 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.

Catalog Import Process

  1. SmartWay validates the API key and identifies the customer account.
  2. Each record must include productName.
  3. A blank or omitted partnerInternalTrackingID imports the item for the customer without a Business Partner relationship.
  4. A supplied ID is resolved to an existing Business Partner relationship within that customer account and the catalog item is linked to it.
  5. The batch completes only when all records succeed; an unmatched supplied ID rejects the whole batch.

API Request Examples

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.

Catalog

POST /api/external/v1/import/catalog

{
  "sourceSystem": "TestERP",
  "externalBatchID": "CATALOG-001",
  "records": [
    {
      "partnerInternalTrackingID": "QB-VEND-10025",
      "sku": "SKU-1001",
      "productName": "Steel Bracket"
    }
  ]
}

Equipment

POST /api/external/v1/import/equipment

{
  "sourceSystem": "TestERP",
  "externalBatchID": "EQUIPMENT-001",
  "records": [
    {
      "partnerInternalTrackingID": "QB-VEND-10025",
      "equipmentName": "Trailer 1001",
      "assetTagID": "AT1001"
    }
  ]
}

Seals

POST /api/external/v1/import/seals

{
  "sourceSystem": "TestERP",
  "externalBatchID": "SEALS-001",
  "records": [
    {
      "partnerInternalTrackingID": "QB-VEND-10025",
      "sealName": "Bolt Seal Blue",
      "sealType": "Bolt Seal"
    }
  ]
}

Packaging

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.

Standard Success Responses

Direct Import Response

{
  "status": "Completed",
  "recordsImported": 1,
  "insertedIds": [1001],
  "sourceSystem": "TestERP",
  "externalBatchId": "TEST-001",
  "message": "Records imported successfully."
}

Staged Import Response

{
  "status": "Staged",
  "recordsStaged": 1,
  "stagedIds": [101],
  "sourceSystem": "TestERP",
  "externalBatchId": "BP-001",
  "message": "Records staged for SmartWay validation and relationship processing."
}

Error Responses

Status
Meaning
Common Cause
400
Bad Request
Missing required fields, an empty records array, or an unmatched supplied partnerInternalTrackingID for Catalog, Equipment, Seals, or Packaging.
401
Unauthorized
Missing or invalid API key.
500
Server Error
Unexpected system or database error.