Download OpenAPI specification:Download
Comprehensive API for Soshiaconnect shipping and maritime data platform.
This API uses Bearer token authentication for protected endpoints and API Key authentication for external integrations.
Include the token in the Authorization header: Authorization: Bearer {token}
Include these headers:
X-API-Key: Your API keyX-Username: Your usernameCreates a new user account in the Soshiaconnect system. Email verification is required before the account can be used.
Process Flow:
User registration information
| email required | string <email> User's email address (must be unique) |
| password required | string <password> >= 8 characters Password (minimum 8 characters, must include uppercase, lowercase, and number) |
| firstName required | string [ 2 .. 50 ] characters User's first name |
| lastName required | string [ 2 .. 50 ] characters User's last name |
| userType required | string Enum: "partner" "admin" "viewer" Type of user account |
| company | string <= 100 characters Company name (optional) |
| phoneNumber | string^\+?[1-9]\d{1,14}$ Phone number in E.164 format |
{- "email": "john.doe@example.com",
- "password": "SecurePass123!",
- "firstName": "John",
- "lastName": "Doe",
- "userType": "partner",
- "company": "Acme Shipping Co.",
- "phoneNumber": "+12025551234"
}{- "success": true,
- "message": "Registration successful. Please check your email to verify your account.",
- "data": {
- "userId": "usr_1a2b3c4d5e6f",
- "email": "john.doe@example.com",
- "firstName": "John",
- "lastName": "Doe",
- "userType": "partner",
- "status": "pending_verification",
- "createdAt": "2024-11-24T10:30:00Z"
}
}Authenticates a user with email and password credentials. Returns an access token for subsequent API calls.
Token Usage:
Bearer {token}Login credentials
| email required | string <email> Registered email address |
| password required | string <password> User password |
| rememberMe | boolean Default: false Extend session duration to 30 days |
{- "email": "john.doe@example.com",
- "password": "SecurePass123!",
- "rememberMe": true
}{- "success": true,
- "message": "Login successful",
- "data": {
- "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "tokenType": "Bearer",
- "expiresIn": 86400,
- "user": {
- "id": "usr_1a2b3c4d5e6f",
- "email": "john.doe@example.com",
- "firstName": "John",
- "lastName": "Doe",
- "userType": "partner",
- "status": "active"
}
}
}Invalidates the current user session and access token. The token cannot be used for subsequent requests after logout.
Best Practice:
{- "success": true,
- "message": "Logout successful"
}Retrieves the list of available user types for registration. Use this endpoint to populate user type dropdowns in registration forms.
User Types:
{- "success": true,
- "data": [
- {
- "id": "partner",
- "name": "Partner",
- "description": "Full platform access with subscription",
- "features": [
- "Access to all routes",
- "API access",
- "Advanced analytics"
]
}, - {
- "id": "admin",
- "name": "Administrator",
- "description": "Administrative access to manage users and settings",
- "features": [
- "User management",
- "System configuration",
- "Full data access"
]
}, - {
- "id": "viewer",
- "name": "Viewer",
- "description": "Read-only access to public data",
- "features": [
- "View public routes",
- "Basic analytics"
]
}
]
}Retrieves available SaaS subscription plans with pricing and feature information.
Plans Include:
| X-API-Key | string Example: sk_live_1a2b3c4d5e6f7g8h9i0j Optional API key for external access |
{- "success": true,
- "data": [
- {
- "id": "plan_starter",
- "name": "Starter Plan",
- "description": "Perfect for small shipping companies",
- "price": 99,
- "currency": "USD",
- "billingPeriod": "monthly",
- "features": [
- "Up to 10 routes",
- "1000 API calls/month",
- "Email support",
- "Basic analytics"
], - "limits": {
- "routes": 10,
- "apiCalls": 1000,
- "users": 2
}
}, - {
- "id": "plan_professional",
- "name": "Professional Plan",
- "description": "For growing businesses",
- "price": 299,
- "currency": "USD",
- "billingPeriod": "monthly",
- "features": [
- "Up to 50 routes",
- "10000 API calls/month",
- "Priority support",
- "Advanced analytics",
- "Custom reports"
], - "limits": {
- "routes": 50,
- "apiCalls": 10000,
- "users": 10
}
}, - {
- "id": "plan_enterprise",
- "name": "Enterprise Plan",
- "description": "Unlimited access for large organizations",
- "price": 999,
- "currency": "USD",
- "billingPeriod": "monthly",
- "features": [
- "Unlimited routes",
- "Unlimited API calls",
- "24/7 phone support",
- "White-label options",
- "Dedicated account manager"
], - "limits": {
- "routes": -1,
- "apiCalls": -1,
- "users": -1
}
}
]
}Retrieves a complete list of all available shipping routes in the system.
Response includes:
Authentication:
| status | string Enum: "active" "inactive" "scheduled" Example: status=active Filter by route status |
| origin | string Example: origin=USNYC Filter by origin port code |
| destination | string Example: destination=CNSHA Filter by destination port code |
| page | integer >= 1 Default: 1 Example: page=1 Page number for pagination |
| limit | integer [ 1 .. 100 ] Default: 20 Example: limit=20 Number of results per page |
| X-API-Key | string Example: sk_live_1a2b3c4d5e6f7g8h9i0j API key for external consumption |
| X-Username | string Example: john.doe@example.com Username associated with API key |
{- "success": true,
- "data": [
- {
- "id": "route_001",
- "name": "US East Coast to China",
- "originPort": {
- "code": "USNYC",
- "name": "New York",
- "country": "United States"
}, - "destinationPort": {
- "code": "CNSHA",
- "name": "Shanghai",
- "country": "China"
}, - "distance": 11540,
- "distanceUnit": "nautical miles",
- "status": "active",
- "averageTransitDays": 28,
- "vessels": 12
}, - {
- "id": "route_002",
- "name": "Europe to Southeast Asia",
- "originPort": {
- "code": "NLRTM",
- "name": "Rotterdam",
- "country": "Netherlands"
}, - "destinationPort": {
- "code": "SGSIN",
- "name": "Singapore",
- "country": "Singapore"
}, - "distance": 8350,
- "distanceUnit": "nautical miles",
- "status": "active",
- "averageTransitDays": 21,
- "vessels": 8
}
], - "pagination": {
- "page": 1,
- "limit": 20,
- "totalPages": 5,
- "totalResults": 95
}
}Retrieves hierarchical structure of shipping routes with access limitations based on user subscription level.
Hierarchy Levels:
Access Control:
{- "success": true,
- "data": {
- "regions": [
- {
- "id": "asia_pacific",
- "name": "Asia-Pacific",
- "description": "Routes within Asia-Pacific region",
- "subRegions": [
- {
- "id": "east_asia",
- "name": "East Asia",
- "countries": [
- "China",
- "Japan",
- "South Korea"
], - "routeCount": 45,
- "accessible": true
}, - {
- "id": "southeast_asia",
- "name": "Southeast Asia",
- "countries": [
- "Singapore",
- "Malaysia",
- "Thailand",
- "Vietnam"
], - "routeCount": 32,
- "accessible": true
}
]
}, - {
- "id": "europe",
- "name": "Europe",
- "description": "European shipping routes",
- "subRegions": [
- {
- "id": "northern_europe",
- "name": "Northern Europe",
- "countries": [
- "Netherlands",
- "Germany",
- "Belgium",
- "UK"
], - "routeCount": 38,
- "accessible": true
}, - {
- "id": "mediterranean",
- "name": "Mediterranean",
- "countries": [
- "Spain",
- "Italy",
- "Greece",
- "Turkey"
], - "routeCount": 28,
- "accessible": false,
- "upgradeRequired": true,
- "requiredPlan": "professional"
}
]
}
]
}
}Retrieves detailed shipping schedule and period information for a specific time period.
Information Includes:
| period_id required | string Example: period_2024_q4 Unique identifier for the shipping period |
{- "success": true,
- "data": {
- "id": "period_2024_q4",
- "name": "Q4 2024",
- "startDate": "2024-10-01T00:00:00Z",
- "endDate": "2024-12-31T23:59:59Z",
- "status": "active",
- "schedules": [
- {
- "id": "schedule_001",
- "routeId": "route_001",
- "vesselName": "MSC Oscar",
- "vesselIMO": "9794720",
- "departureDate": "2024-11-15T08:00:00Z",
- "arrivalDate": "2024-12-13T14:00:00Z",
- "capacity": 19224,
- "capacityUnit": "TEU",
- "availableCapacity": 4850,
- "bookingStatus": "open"
}, - {
- "id": "schedule_002",
- "routeId": "route_001",
- "vesselName": "CSCL Globe",
- "vesselIMO": "9729843",
- "departureDate": "2024-11-22T10:00:00Z",
- "arrivalDate": "2024-12-20T16:00:00Z",
- "capacity": 19100,
- "capacityUnit": "TEU",
- "availableCapacity": 2340,
- "bookingStatus": "open"
}
]
}
}Retrieves available subscription duration options for dropdown selection in subscription forms.
Common Options:
Includes:
{- "success": true,
- "data": [
- {
- "id": "monthly",
- "label": "Monthly",
- "months": 1,
- "discount": 0,
- "recommended": false
}, - {
- "id": "quarterly",
- "label": "Quarterly (3 months)",
- "months": 3,
- "discount": 5,
- "discountLabel": "Save 5%",
- "recommended": false
}, - {
- "id": "semi_annual",
- "label": "Semi-Annual (6 months)",
- "months": 6,
- "discount": 10,
- "discountLabel": "Save 10%",
- "recommended": false
}, - {
- "id": "annual",
- "label": "Annual (12 months)",
- "months": 12,
- "discount": 20,
- "discountLabel": "Save 20%",
- "recommended": true,
- "badge": "Best Value"
}
]
}External API endpoint for retrieving detailed data for a specific shipping route using API key authentication.
Use Cases:
Rate Limits:
Response Includes:
| id required | string Example: id=route_001 Unique route identifier |
| includeVessels | boolean Default: false Example: includeVessels=true Include detailed vessel information |
| includeSchedule | boolean Default: false Example: includeSchedule=true Include upcoming schedule |
| includePricing | boolean Default: false Example: includePricing=true Include pricing information (requires premium plan) |
| X-API-Key required | string Example: sk_live_1a2b3c4d5e6f7g8h9i0j Your API key for authentication |
| X-Username required | string Example: john.doe@example.com Username associated with the API key |
{- "success": true,
- "data": {
- "id": "route_001",
- "name": "US East Coast to China",
- "description": "Major trade route connecting US East Coast ports to major Chinese ports",
- "originPort": {
- "code": "USNYC",
- "name": "New York",
- "country": "United States",
- "coordinates": {
- "latitude": 40.6895,
- "longitude": -74.0447
}
}, - "destinationPort": {
- "code": "CNSHA",
- "name": "Shanghai",
- "country": "China",
- "coordinates": {
- "latitude": 31.2304,
- "longitude": 121.4737
}
}, - "distance": 11540,
- "distanceUnit": "nautical miles",
- "averageTransitDays": 28,
- "status": "active",
- "vessels": [
- {
- "id": "vessel_001",
- "name": "MSC Oscar",
- "imo": "9794720",
- "flag": "Panama",
- "capacity": 19224,
- "capacityUnit": "TEU",
- "currentPosition": {
- "latitude": 35.4532,
- "longitude": -45.2341,
- "timestamp": "2024-11-24T12:00:00Z"
}, - "status": "in_transit"
}
], - "upcomingSchedule": [
- {
- "departureDate": "2024-11-15T08:00:00Z",
- "arrivalDate": "2024-12-13T14:00:00Z",
- "vesselName": "MSC Oscar",
- "availableCapacity": 4850
}, - {
- "departureDate": "2024-11-22T10:00:00Z",
- "arrivalDate": "2024-12-20T16:00:00Z",
- "vesselName": "CSCL Globe",
- "availableCapacity": 2340
}
], - "pricing": {
- "currency": "USD",
- "baseRate": 2500,
- "rateUnit": "per_container_20ft",
- "surcharges": {
- "fuelSurcharge": 350,
- "peakSeasonSurcharge": 200
}, - "totalEstimate": 3050
}
}
}