Skip to Content

NationalExpress Partner's API

Integration Documentation

Integrate PartnerPortal with your systems using our REST API. Find authentication details, endpoint references, examples, and troubleshooting in one place.

Overview


Use the PartnerPortal API to sync partners, orders, products, and status updates with your internal applications.

What you can do

  • Create and update partner records
  • Push orders and track fulfillment status
  • Fetch catalog and pricing data
  • Receive near real-time updates via webhooks

Request & response format

All requests and responses use JSON. Send Content-Type: application/json on write operations.

Tip: Keep your integration resilient by retrying safely on timeouts and 5xx responses.

Authentication


Authenticate using an API key passed in the request header.

Headers

Header Example Notes
Authorization Bearer YOUR_API_KEY Required on all endpoints
Content-Type application/json Required for POST/PUT/PATCH

Security best practices

  • Store keys securely (vault / secret manager)
  • Rotate keys regularly
  • Use HTTPS only

National Express Accounts API


Overview

Comprehensive account management API for customer account operations, ticket linking, and account-based ticket management for the National Express transportation system.

API Design Standards

  • Comprehensive Documentation: Structured API documentation with clear section headers and detailed account management descriptions
  • Standardized Error Handling: Flexible error handling with field-specific validation messages using ErrorTypeDef structure for account operations
  • HATEOAS Implementation: Dynamic navigation links for account-related resources and operations with flexible additional properties
  • Meta Standard Structure: Consistent metadata using Meta schema with timestamp, version, and optional tracing information for account queries
  • CDM Compliance: Full Common Data Model (CDM) compliance with enterprise-grade features

Response Code Standards

  • 100000: Success - Account information retrieved successfully
  • 100400: Validation Error - Invalid account parameters or query filters
  • 100401: Authentication Error - Invalid or missing bearer token for account access
  • 100403: Authorization Error - Access denied for account information or customer data access
  • 100404: Not Found - Account not found
  • 100429: Rate Limit Error - Too many account requests
  • 100500: Server Error - Account management system failure
  • 100503: Service Unavailable - Account service maintenance

AccountManagement

Account discovery and management operations with filtering and pagination

GET /accounts ---Get Accounts List

curl -X GET \
  https://api.partnerportal.example.com/v1/ping \
  -H "Authorization: Bearer YOUR_API_KEY"

2) Create a partner

POST /v1/partners

curl -X POST \
  https://api.partnerportal.example.com/v1/partners \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "ACME-001",
    "name": "ACME Supplies",
    "email": "ops@acme.example",
    "phone": "+91 98765 43210"
  }'

If you need sandbox access, use the Support section to request credentials.

Endpoints

Browse common resources. Each tab includes a quick summary and example payloads.

Webhooks


Receive events when something changes, so you don’t have to poll.

Common events

  • order.created
  • order.updated
  • partner.updated

Webhook payload

{
  "id": "evt_01HXYZ...",
  "type": "order.updated",
  "created_at": "2026-05-22T11:01:00+05:30",
  "data": {
    "order_id": "12345",
    "status": "shipped"
  }
}

You can validate webhook authenticity using a shared secret (available in your access request email).

Errors


We use standard HTTP status codes with a consistent error body.

Status Meaning What to do
400 Validation error Check required fields and formats
401 Unauthorized Verify API key and header
403 Forbidden Confirm your access scope
404 Not found Confirm the id and resource path
429 Rate limited Retry after a delay
5xx Server error Retry; contact support if persistent

Error body

{
  "error": {
    "code": "validation_error",
    "message": "email is not valid",
    "request_id": "req_01HXYZ..."
  }
}

Changelog


Date (IST) Version Changes
22 May 2026 v1 Initial partner-facing documentation page

Changelog


Date (IST) Version Changes
22 May 2026 v1 Initial partner-facing documentation page

FAQ

Quick answers to the most common integration questions.


Do you provide a sandbox?

Yes. Request sandbox access in the Support section, and we’ll share credentials and base URL details.

Is there a rate limit?

Yes. If you hit a limit you’ll receive a 429 response. Retry with a short delay and backoff.

How do I report an issue?

Share the request_id (from the error body) and a short description via Contact us.

Can I use external_id instead of id?

Where supported, external_id is recommended for stable mapping between systems.

Do you support webhooks?

Yes. Webhooks help you receive updates instantly instead of polling.

What regions/timezones do you use?

Timestamps are returned in ISO 8601. Examples on this page use India Standard Time (IST).

Need API access or help with integration?

Contact our team to request credentials, webhooks setup, or endpoint clarifications.