nShift Go Documentation ## Sections • [Introduction](https://docs.nshiftgo.com/getting-started.md): OpenAPI specifications OpenAPI specifications are available for the Production environment: Production nShift Go is a headless, API-first shipping platform designed to simplify delivery management for e-commerce platforms and marketplaces. With a single integration, you gain access to thousands of compliant carrier services across Europe and beyond. Why nShift Go? Unified API for shipping, returns, and tracking Access to the world’s largest carrier network Modular architecture for flexible integration Scales with merchants of all sizes Built for seamless platform integration Read more about the guidelines we follow when implementing our API. Process overview Understand how each layer contributes to the end-to-end shipping experience—spanning from the end consumer to merchant actions, through your platform, and finally to nShift Go. • [Sign-up](https://docs.nshiftgo.com/getting-started/signup.md): To start using nShift Go, submit a request through our our contact form . A member of the nShift team will contact you to guide you through the setup, for either direct integrations or affiliate use on behalf of other merchants. During the sign-up process, you’ll be asked to provide basic company information and choose your preferred billing method. Read more about how billing works and how usage is charged on the Billing page. Once your request is approved, you’ll receive access credentials and a ​ company-id ​, which are required to authenticate and begin using the API. For a guided setup, follow the ​ Next step ​ journey through key pages — from sign-up to your first shipment. Next step: ​Learn how to authenticate and issue Company and Account tokens on the Authentication page. Read our Terms and conditions for more details. • [Billing](https://docs.nshiftgo.com/getting-started/billing.md): API usage in nShift Go follows a usage-based (pay-as-you-go) billing model. This ensures you only pay for what you use, in a transparent and predictable way. Billing is managed through Stripe Subscriptions, which automatically charge for your accumulated usage at the end of each month. For tailored agreements or enterprise pricing, please contact us through the contact form . How billing works Each billable feature generates an internal event that is recorded as a ​ metered event in Stripe ​. You can track your usage via dedicated ​ Report ​ endpoints at both Company and Account level. These reports allow you to monitor consumption and cost trends in real time. Flow The diagram below shows the complete billing flow in nShift Go. Billing flow Charged events The features we currently charge for are tied to specific events that can also be captured through an Event Channel. Each event consists of an operation and an entity. The entity name also defines the topic used in the Event Channel. See Event Channels for details on how to set up event channels. Below is a list of events that currently generate usage charges. Your price will be shown during sign-up. Operation Topic Description CONSUME PARCEL Triggered whenever a Parcel entity is used in a Shipment Booking, including Inline Shipment Bookings. QUERY PUDO_POINT Triggered whenever PUDO Points are queried. Note: ​ We reserve the right to modify this list of chargeable events. Any changes will not affect active subscriptions. Tracking usage You can monitor API usage and related costs through the ​ Reports ​ endpoints. Reports are available for both ​ Company ​ and ​ Account ​ levels, allowing you to align billing data with your organizational or customer structure. Company reports ​ provide an overview of aggregated API usage for all accounts under a company. Use these for centralized billing and reconciliation. Account reports ​ provide detailed usage and charge information per account. Use these to track consumption or costs for specific customers or integrations. See Reports for endpoint details and available report types. • [Authentication](https://docs.nshiftgo.com/authentication.md): nShift Go uses two access levels — ​ Company ​and ​ Account ​ — each issuing its own token. All identifiers such as ​ company-id ​ and ​ account-id ​ are UUIDs and should be treated as strings. Prerequisites Client credentials ​ – ​ clientId ​ and ​ clientSecret ​ obtained from ​ nShift Portal. Company ID ​ – issued during signup. Account ID ​ – required for account-level operations; created under your company. Important: ​ Keep client credentials and IDs confidential. Never embed them in client-side code. Token types Company token ​ – for organization-level setup and metadata, such as creating and managing accounts or discovering carriers and services. Account token ​– for operational flows such as addresses, quotes, parcels, bookings, documents, and events. 1 Issue a Company token Issue a company-scoped token using your ​ company-id ​ and Basic Auth with ​ clientId:clientSecret ​. Endpoint POST /v1/companies/{company-id}/tokens Headers Authorization: Basic base64(clientId:clientSecret) Expected response ​ Returns a Bearer token (valid for 4 hours). 2 Create an Account Use the company token to create accounts under your company. Representative endpoints POST /v1/accounts ​ – create an account. The response includes the ​ account-id ​, which is required to issue account tokens. GET /v1/accounts ​ – list existing accounts to confirm creation or retrieve account IDs. 3 Issue an Account token Issue an account-scoped token using your ​ account-id ​ and Basic Auth with ​ clientId:clientSecret ​. Endpoint POST /v1/accounts/{account-id}/tokens Headers ​ ​ Authorization: Basic base64(clientId:clientSecret) Expected response ​ Returns a Bearer token valid for 4 hours. 4 Authenticate requests Include the token in all subsequent API calls. Header Authorization: Bearer {token} Important ​: Do not send ​ clientId ​ or ​ clientSecret ​ with API requests after you’ve issued a token. Each account should issue and use its own token. Token scope See [Access scopes] for the full list of endpoints available to each token type. Security notes Never share ​ clientId ​, ​ clientSecret ​, ​ company-id ​, or ​ account-id ​. Store tokens securely and rotate them regularly based on your risk model. Use HTTPS for all requests. For complete endpoint definitions and security models, view the nShift Go OpenAPI specification. • [Access scopes](https://docs.nshiftgo.com/authentication/access-scopes.md): Each token in nShift Go grants access to a specific set of API resources. Use this page to understand which endpoints are available with a ​ Company token ​ and which require an ​ Account token ​. Note: ​ See Authentication for how to issue tokens. When to use each token Company token ​ – for organization-level setup and metadata, such as creating accounts and discovering carriers or services. Account token ​ – for operational use, including shipments, addresses, quotes, bookings, documents, and events. Company-level token These endpoints can be accessed with a valid Company token. Path Methods /v1/accounts POST, GET /v1/accounts/{account-id} PUT, DELETE, GET /v1/carriers GET /v1/carriers/{carrier-id} GET /v1/carriers/{carrier-id}/services GET /v1/services GET /v1/services/{service-id} GET /v1/customs-declaration-types GET /v1/customs-declaration-types/{customs-declaration-type-id} GET /v1/serial-types GET /v1/serial-types/{serial-type-id} GET /v1/packing-types GET /v1/packing-types/{packing-type-id} GET Account-level token These endpoints can be accessed with a valid Account token. Path Method /v1/addresses POST, GET /v1/addresses/{address-id} PUT, DELETE, GET /v1/customs-declarations POST, GET /v1/customs-declarations/{customs-declaration-id} PUT, DELETE, GET /v1/carriers GET /v1/carriers/{carrier-id} GET /v1/carriers/{carrier-id}/services GET /v1/services GET /v1/services/{service-id} GET /v1/customs-declaration-types GET /v1/customs-declaration-types/{customs-declaration-type-id} GET /v1/serial-types GET /v1/serial-types/{serial-type-id} GET /v1/packing-types GET /v1/packing-types/{packing-type-id} GET /v1/parcels POST , GET /v1/parcels/{parcel-id} PUT, DELETE, GET /v1/parcels/items POST, GET /v1/parcels/items/{item-id} PUT, DELETE, GET /v1/event-channels POST, GET /v1/event-channels/{event-channel-id} PUT, DELETE, GET /v1/event-channels/events POST /v1/shipment-channels POST, GET /v1/shipment-channels/{shipmen-channel-id} PUT, DELETE, GET /v1/shipment-bookings POST, GET /v1/shipment-bookings/{shipment-booking-id} GET /v1/shipment-bookings/inline POST /v1/shipment-dispatches POST, GET /v1/shipment-dispatches/{shipment-dispatch-id} PUT, DELETE, GET /v1/shipment-dispatches/{shipment-dispatch-id}/shipment-manifests POST /v1/shipment-manifests GET /v1/shipment-manifests/{shipment-manifest-id} GET /v1/documents GET /v1/documents/{document-id} GET /v1/documents/{document-id}/data GET /v1/documents/{document-id}/meta-data GET /v1/pudo-points/{pudo-point-id} GET /v1/pudo-points/queries POST /v1/reports GET • [REST API guidelines](https://docs.nshiftgo.com/rest-api-guideline.md): The nShift Go API follows REST principles and standard HTTP behavior. Each request represents a complete operation. The API is stateless, predictable, and consistent across all endpoints. HTTP methods We use standard HTTP methods for all resources: Method Description GET Fetch resource data POST Create new resources PUT Update existing resources DELETE Delete resources All requests must include the required authentication headers and complete context for the operation. No server-side sessions are used. OpenAPI contract The OAS 3.0 acts as a formal contract between the API integrator and the API provider. It defines the expected request formats and response behaviors, ensuring a mutual understanding of the API’s capabilities and limitations. This contract promotes seamless integration and reliable operation. The API is defined using the OpenAPI 3.0 Specification , which serves as the official contract between client and service. This ensures: predictable request and response formats consistent use of status codes defined authentication and validation rules OpenAPI specifications OpenAPI specifications are available for the Production environment: Production Error handling Errors follow the RFC 7807 standard, using structured problem details for all 4xx and 5xx responses. Example JSON { "type": "/problems/bad-request", "title": "Bad Request", "status": 400, "detail": "Invalid request parameters.", "instance": "/shipment-bookings", "properties": { "violations": [ { "field": "shipmentChannelId", "message": "Missing Shipment Channel configuration." } ] } } Field Description type URI identifier for the error type title Short, human-readable summary status HTTP status code detail Detailed explanation for developers instance Request URI where the error occurred properties Additional context such as field-level validation errors Tip: ​ Always log ​ type ​ and ​ instance ​ for faster troubleshooting. JSON schema validation All requests and responses are validated against predefined ​ JSON Schemas ​ to ensure data integrity. Validation applies to both top-level objects and nested collections, ensuring structural consistency throughout. Example of a valid document list payload JSON { "items": [ { "id": "412c53b4-6b55-4b93-9b65-92c7244aa257", "type": "LABEL", "description": "Parcel label", "mediaType": "thermo-250", "contentType": "pdf" } ] } Note: ​ Required fields must be included, and enum values must match exactly, such as ​ LABEL ​, ​ INVOICE ​, or ​ pdf ​. URL and payload design URLs Use plural resource names and kebab-case: ​ /shipment-bookings ​, ​ /carrier-definitions ​ Resource identifiers are UUIDs: ​ /accounts/3fa85f64-5717-4562-b3fc-2c963f66afa6 ​ Query parameters use ​ snake_case ​: ​ ?route_from=SE&route_to=DE Payloads Aspect Convention Example Property names camelCase "firstName": "Alice" Array names Plural, ​ camelCase "phoneNumbers": [] Enum values UPPER_SNAKE_CASE "status": "ACTIVE_PENDING" Timestamps Suffix ​ At ​, ISO 8601 "createdAt": "2025-10-01T00:13:37.000Z" Empty arrays Omit entirely — Nullable values May be omitted — Example JSON { "carrierId": "dhl", "createdAt": "2025-11-11T10:00:00Z", "status": "ACTIVE_PENDING" } Note: ​ This example shows ​ camelCase ​ property names, ISO 8601 timestamp formatting, and ​ UPPER_SNAKE_CASE ​ enum values. Pagination The API uses ​ cursor-based pagination ​ for consistent data retrieval, even when datasets change between requests. HTTP GET /addresses?limit=20&sort=ASC&cursor=e01e077b-a5c7-45bc-9bf9-30e2fd85ce2c Tip: ​ Use the ​ nextCursor ​ value from the response to retrieve the next page of results. Summary These standards ensure predictable request and response behavior, high data integrity through schema validation, consistent, self-descriptive error handling, and scalable, stateless integrations. Together, they make the nShift Go API reliable, maintainable, and developer-friendly across all modern platforms. By following these principles, the API remains predictable and scalable, supporting consistent integrations across platforms. • [Key concepts](https://docs.nshiftgo.com/terminology.md): These definitions describe core entities and terms used throughout the nShift Go API. They are intended to provide a consistent understanding of how data and relationships are structured across endpoints. Title Description Concept Meaning Access Token A token used to authenticate API requests on behalf of a specific Company or Account. Tokens are generated using client credentials together with the identifier of the Company or Account to which the token grants access. Account A data-isolated entity created for each merchant, store, or warehouse. Accounts are required to issue access tokens and authenticate API requests. All API activity is scoped to a specific account and identified by its unique account-id . Account token An Access token issued for an Account. Used for operational actions such as creating shipments or managing configuration data. Address Represents a physical location for a business or individual, including contact details and identifiers. Addresses do not define carrier-specific data or the party’s role in the shipment. Booking flow Describes the full lifecycle of a shipment, from creation and validation to confirmation and handover to the carrier. The booking flow includes shipment booking, dispatch, and manifest generation, ensuring each shipment is confirmed and ready for pickup or delivery. Carrier A supported shipping provider. Carrier data includes requirements, capabilities, and credentials needed to enable shipping through that provider. Each carrier has a unique identifier used across Carrier Data and configuration endpoints. Carrier Definition Represents the connection between your company and a carrier. Includes the credentials and configuration settings required to enable bookings with that carrier. Each Carrier Definition is created in STAGING mode by default and must be switched to PRODUCTION before sending live data. Company The organization or individual with a formal agreement with nShift that covers subscription, billing, and contractual terms. Each company has a unique company-id , used when issuing Company tokens. Company token An Access token issued for a Company. Used for organization-level actions such as managing Accounts or retrieving shared data. Configuration A structured setup connecting accounts to carriers, services, and communication channels. Configurations ensure shipments are created and transmitted correctly to carriers. Customs Declaration Contains information required for international and dutiable shipments, such as content descriptions, values, and HS codes. Customs Declarations are linked to shipment bookings and required only when applicable based on service rules. Dispatch A collection of booked shipments grouped for carrier pickup or reporting purposes. Dispatches simplify tracking, manifest creation, and communication with the carrier before collection. Document A file or digital output produced during shipment processing, such as a shipping label, manifest, or customs form. Documents are generated automatically by the API and can be downloaded or printed as part of the shipment workflow. Event An occurrence in the shipping lifecycle that triggers notifications, updates, or document creation. Events represent key milestones, such as shipment confirmation, label generation, or delivery. Event Channel Captures system events when objects change. Each channel subscribes to one or more topics and forwards those events to a user-specified webhook. Event Channels can be used to monitor shipments, bookings, or other entities for status changes in near real time. Manifest A document generated from a dispatch that confirms which shipments are included in a pickup or handover. Manifests serve as the official proof of transfer between sender and carrier. Parcel Contains the physical shipment details such as weight, dimensions, and packaging. Parcels are used in shipment bookings to ensure correct handling and delivery. Each parcel is assigned a tracking number or serial type when the shipment is booked. Parcel Item Represents an item inside a parcel, including details such as quantity, value, and description of the goods. This information is forwarded to carriers only when required, for example by customs or dangerous goods regulations. Party An entity involved in a shipment that combines a role such as sender or receiver, an entity type such as ADDRESS or PUDO , and an identifier. PUDO Point A pickup or drop-off point used for handing over or collecting shipments, including returns. Service A specific shipping option offered by a Carrier. Each Service defines its configuration, available add-ons, and operational rules. Services are linked to carriers and can be queried dynamically through Carrier Data. Service Definition Defines the configuration for a particular service, including add-ons and optional parameters. Service Definitions are independent of Carrier Definitions, allowing flexible combinations. Shipment Booking A finalized shipment that has been confirmed by the carrier and submitted electronically through the API. The term “booking” distinguishes confirmed shipments from those still in preparation. Shipment Channel Holds contextual configuration used during shipment processing, such as routing, document rendering, and unit settings. Shipment Channels reference specific Carrier and Service Definitions and determine how bookings are transmitted to carriers. • [Authorization](https://docs.nshiftgo.com/authorize.md): Authorization in nShift Go is based on authenticated client credentials. Developers autheticate with a ​ clientId ​ and ​ clientSecret ​ from ​ nShift Portal ​ to request access tokens that determine which API resources they can use. There are two token levels: ​ Company ​and ​ Account ​, each granting a different scope of access. Important: ​ Keep client credentials and IDs confidential. Never embed them in client-side code. All identifiers such as ​ company-id ​ and ​ account-id ​ are UUIDs and should be treated as strings. The ​ company-id ​ is issued during signup in nShift Portal. Flow The diagram below shows the complete Authorization flow in nShift Go. Authorization flow How it works 1 Authorize Company Use your ​ company-id ​ together with your client credentials to issue a Company token. This token provides organization-level access for creating and managing accounts and retrieving shared configuration data. See Authorize Company 2 Create an Account With the Company token, create an account under your company. The response includes an ​ account-id ​, which is required for account-level authorization See Create Account 3 Authorize Account Use the ​ account-id ​ with the same client credentials to issue an ​ Account token ​. This token provides access to operational endpoints such as shipments, addresses, and reports. See Authorize Account 4 Call the API Include the token in the ​ Authorization: Bearer {token} ​ header for all subsequent requests. Tokens are valid for 4 hours and can be refreshed as needed. Important ​: Do not send ​ clientId ​ or ​ clientSecret ​ with API requests after you’ve issued a token. Each account should issue and use its own token. Token scope The two token types grant different permissions across the API. See Access scopes for a complete list of endpoints available for each token type. Security notes Keep ​ clientId ​, ​ clientSecret ​, ​ company-id ​, and ​ account-id ​ confidential. Always use HTTPS for all API calls. Rotate credentials and tokens regularly according to your security policy. OpenAPI specifications OpenAPI specifications are available for the Production environment: Production Next step: ​ See how accounts work and how they’re used to organize and isolate data within a company on the Account Management page. • [Access scopes](https://docs.nshiftgo.com/authorize/access-scopes.md): Each token in nShift Go grants access to a specific set of API resources. Use this page to understand which endpoints are available with a ​ Company token ​ and which require an ​ Account token ​. When to use each token Company token: ​ for organization-level setup and metadata, such as creating accounts and discovering carriers or services. Account token: ​ for operational use, including shipments, addresses, quotes, bookings, documents, and events. To learn how to issue tokens, see Authorization . Company-level token These endpoints can be accessed with a valid Company token. Path Methods /v1/accounts POST, GET /v1/accounts/{account-id} PUT, DELETE, GET /v1/carriers GET /v1/carriers/{carrier-id} GET /v1/carriers/{carrier-id}/services GET /v1/services GET /v1/services/{service-id} GET /v1/customs-declaration-types GET /v1/customs-declaration-types/{customs-declaration-type-id} GET /v1/serial-types GET /v1/serial-types/{serial-type-id} GET /v1/packing-types GET /v1/packing-types/{packing-type-id} GET Account-level token These endpoints can be accessed with a valid Account token. Path Method /v1/addresses POST, GET /v1/addresses/{address-id} PUT, DELETE, GET /v1/customs-declarations POST, GET /v1/customs-declarations/{customs-declaration-id} PUT, DELETE, GET /v1/carriers GET /v1/carriers/{carrier-id} GET /v1/carriers/{carrier-id}/services GET /v1/services GET /v1/services/{service-id} GET /v1/customs-declaration-types GET /v1/customs-declaration-types/{customs-declaration-type-id} GET /v1/serial-types GET /v1/serial-types/{serial-type-id} GET /v1/packing-types GET /v1/packing-types/{packing-type-id} GET /v1/parcels POST , GET /v1/parcels/{parcel-id} PUT, DELETE, GET /v1/parcels/items POST, GET /v1/parcels/items/{item-id} PUT, DELETE, GET /v1/event-channels POST, GET /v1/event-channels/{event-channel-id} PUT, DELETE, GET /v1/event-channels/events POST /v1/shipment-channels POST, GET /v1/shipment-channels/{shipmen-channel-id} PUT, DELETE, GET /v1/shipment-bookings POST, GET /v1/shipment-bookings/{shipment-booking-id} GET /v1/shipment-bookings/inline POST /v1/shipment-dispatches POST, GET /v1/shipment-dispatches/{shipment-dispatch-id} PUT, DELETE, GET /v1/shipment-dispatches/{shipment-dispatch-id}/shipment-manifests POST /v1/shipment-manifests GET /v1/shipment-manifests/{shipment-manifest-id} GET /v1/documents GET /v1/documents/{document-id} GET /v1/documents/{document-id}/data GET /v1/documents/{document-id}/meta-data GET /v1/pudo-points/{pudo-point-id} GET /v1/pudo-points/queries POST /v1/reports GET • [Authorize Account](https://docs.nshiftgo.com/authorize/authorize-account.md): Issues an Access Token for the specified Account. Provide `account-id` and `grantType`. Returns an Access Token valid for 4 hours. **Note:** The token must be renewed by calling this endpoint again after expiration. • [Authorize Affiliate](https://docs.nshiftgo.com/authorize/authorize-affiliate.md): Issues an Access Token for the authenticated Affiliate. Provide `grantType`. Returns an Access Token valid for 4 hours. **Note:** The token must be renewed by calling this endpoint again after expiration. • [Authorize Company](https://docs.nshiftgo.com/authorize/authorize-company.md): Issues an Access Token for the specified Company. Provide `company-id` issued during signup and `grantType`. Returns an Access Token valid for 4 hours. **Note:** The token must be renewed by calling this endpoint again after expiration. • [Account Management](https://docs.nshiftgo.com/account-management.md): Accounts in nShift Go are used to ​ partition and isolate data ​ within a company. This makes it possible to separate shipments, configurations, and reports by merchant, warehouse, or business unit. Each account acts as its own environment, ensuring data and access remain contained. Flow The diagram below shows how accounts fit into the overall authorization structure in nShift Go. Account setup flow How accounts work A single account may be sufficient for smaller operations, while larger organizations often use multiple accounts to represent different entities or workflows. Each account has its own ​ account-id ​ and ​ Account token ​, which must be used when creating or accessing data for that specific account. A token issued for one account cannot be used to access data from another. To learn how to issue tokens, see Authorization . The integrating system only needs to track the relevant ​ account-id ​ values and map them to its own internal structure, such as merchants, users, or business units. Use multiple accounts if you need to: Keep customer, merchant, or warehouse data strictly separated. Manage reporting, configuration, or billing independently for each entity. Provide isolated access for different integrations or external partners. Next step: ​ Use the endpoints under the Configurations page to create at least one Carrier Definition and one Shipment Channel. • [Accounts](https://docs.nshiftgo.com/account-management/accounts.md): Represents an isolated data environment for managing shipments, configurations, and reports. Each account has unique credentials and is used to segment operations for different merchants, warehouses, or business units. • [Create Account](https://docs.nshiftgo.com/account-management/accounts/create-account.md): Creates a new Account. Provide `company.name`, `company.vatNumber`, `company.countryCode`, `company.city`, `company.postalCode`, `company.address`, `contact.name`, `contact.email`, and `contact.phone`. Returns the `account-id`. **Note:** Clients must create at least one Account before creating other resources via the API. The `account-id` is confidential and is required for issuing Access Tokens. • [Update Account](https://docs.nshiftgo.com/account-management/accounts/update-account.md): Updates an existing Account. Provide `account-id`, `company.name`, `company.vatNumber`, `company.countryCode`, `company.city`, `company.postalCode`, `company.address`, `contact.name`, `contact.email`, and `contact.phone`, along with updated values. Returns confirmation (`204 No Content`). • [Fetch Account](https://docs.nshiftgo.com/account-management/accounts/fetch-account.md): Fetches a specific Account. Provide `account-id`. Returns the Account. • [List Accounts](https://docs.nshiftgo.com/account-management/accounts/list-accounts.md): Lists Accounts. Returns a paginated list of Accounts. • [Carrier Data](https://docs.nshiftgo.com/carrier-data.md): Carrier Data in nShift Go provides a comprehensive and continuously updated source of carrier-related metadata. It allows integrations to look up carrier and service information dynamically, reducing the need to store or maintain extensive configuration or mapping logic within your own system. Carrier Data helps you validate input, understand carrier capabilities, and ensure each shipment is configured correctly before booking. How Carrier Data works The API includes endpoints for: Carriers ​ – list all available carriers and their core properties. Services ​ – view the services offered by each carrier, including supported add-ons and restrictions. Serial Types ​ – check which serial types, such as parcel numbers or label formats, are supported for each carrier or service. This structure allows your integration to retrieve everything needed to build and validate configurations dynamically. Caching this data locally is recommended for performance, but you can always query it directly when needed. Carrier Data is continuously improved to ensure it includes all information required to validate shipments and understand carrier and service capabilities. The dataset evolves as new carriers, services, and validation rules are added. Learn more Learn more about endpoints related to Carrier Data: Carriers Services Serial Types • [Carriers](https://docs.nshiftgo.com/carrier-data/carriers.md): Represents a carrier supported for shipment booking. Each carrier has a unique identifier and properties required for booking and configuring shipments, including validation rules. • [Fetch Carrier](https://docs.nshiftgo.com/carrier-data/carriers/fetch-carrier.md): Fetches a specific Carrier. Provide the `carrier-id` returned from the List Carriers endpoint. Returns the Carrier. • [List Carriers](https://docs.nshiftgo.com/carrier-data/carriers/list-carriers.md): Lists Carriers. Provide `route_from` and `route_to` for route-specific validation. Returns a paginated list of Carriers. • [List Services for a carrier](https://docs.nshiftgo.com/carrier-data/carriers/list-services-for-a-carrier.md): Lists all Services for a Carrier. Provide the `carrier-id` returned from the List Carriers endpoint. Provide `route_from` and `route_to` for route-specific validation. Returns a paginated list of Services. • [Carrier Logos](https://docs.nshiftgo.com/carrier-data/carrier-logos.md): Endpoints for retrieving carrier logo images • [Fetch Carrier Logo](https://docs.nshiftgo.com/carrier-data/carrier-logos/fetch-carrier-logo.md): Fetches a carrier logo by its unique identifier. Returns the logo as a PNG image with caching headers. • [Services](https://docs.nshiftgo.com/carrier-data/services.md): Represents a specific service offered by a carrier for shipment booking. Each service includes codes, available options, and restrictions required for booking and configuring shipments, including validation rules. • [Fetch Service](https://docs.nshiftgo.com/carrier-data/services/fetch-service.md): Fetches a specific Service. Provide the `service-id` returned from the List Carrier Services or List Services endpoint. Include `route_from` and `route_to` for route-specific validation. Returns the Service. • [Fetch Service Route](https://docs.nshiftgo.com/carrier-data/services/fetch-service-2-3.md): Fetches route-specific information for a Service. Provide the `service-id` returned from the List Carrier Services or List Services endpoint, along with `route_from` and `route_to`. Returns whether the route is supported, plus the dutiable and domestic flags of the matched route entry. • [List Services](https://docs.nshiftgo.com/carrier-data/services/list-services.md): Lists all Services. Provide the `carrier-id` returned from the List Carriers endpoint. Provide `route_from` and `route_to` for route-specific validation. Returns a paginated list of Services. • [Serial Types](https://docs.nshiftgo.com/carrier-data/serial-types.md): Represents a type of serial identifier, such as a tracking number or label format, used for booking, labeling, or tracking shipments. Serial types define the formats that are valid for each carrier or service. • [List Serials](https://docs.nshiftgo.com/carrier-data/serial-types/list-serials.md): Lists Serial Numbers • [Document Types](https://docs.nshiftgo.com/carrier-data/document-types.md): Represents the types of documents that carriers support, including associated media types, content types, and layouts. • [List Document Types](https://docs.nshiftgo.com/carrier-data/document-types/list-document-types.md): Lists Document Types. Returns a paginated list of Document Types. • [Fetch Document Type](https://docs.nshiftgo.com/carrier-data/document-types/fetch-document-type.md): Fetches a specific Document Type. Provide `document-type-id`. Returns the Document Type. • [Configurations](https://docs.nshiftgo.com/configurations.md): Configurations in nShift Go define how carriers, services, and shipment handling behave in your integration. They represent the setup that connects your company and accounts to carriers, ensuring that shipments are created, routed, and transmitted correctly. Each configuration type serves a different purpose but works together as part of the shipment flow: Carrier Definitions ​ – store carrier credentials and account details. Service Definitions ​ – specify available carrier services and add-ons. Shipment Channels ​ – define routing and communication preferences for bookings. Event Channels ​ – enable event notifications such as shipment updates. Flow The diagram below shows how configuration entities connect and support the shipment booking process in nShift Go. Configuration flow How configurations work The API provides metadata for all available carriers, services, and validation rules through the Carrier Data endpoints. These help ensure that each configuration is set up correctly and remains compliant with carrier requirements. Configurations are typically created and updated infrequently, serving as stable references used by your booking and reporting operations. They can also be created dynamically within an Inline Shipment Booking request when required. By default, Carrier Definitions are created in ​ STAGING ​ mode. No live communication with carriers occurs until a definition is explicitly set to ​ PRODUCTION ​ mode. Next step: ​ Book your first shipment using the Shipments endpoints. Learn more Learn more about each configuration type: Carrier Definitions Service Definitions Shipment Channels Event Channels • [Carrier Definitions](https://docs.nshiftgo.com/configurations/carrier-definitions.md): Represents the association of a carrier with an account, including the credentials and settings required to book shipments through that carrier. Carrier definitions must be configured before creating shipment bookings. • [Create Carrier Definition](https://docs.nshiftgo.com/configurations/carrier-definitions/create-carrier-definition.md): Creates a new Carrier Definition. Provide `carrier-id. Returns the `carrier-definition-id`. • [Update Carrier Definition](https://docs.nshiftgo.com/configurations/carrier-definitions/update-carrier-definition.md): Updates an existing Carrier Definition. Provide `carrier-definition-id` and updated values. Returns confirmation (`204 No Content`). • [Delete Carrier Definition](https://docs.nshiftgo.com/configurations/carrier-definitions/delete-carrier-definition.md): Deletes an existing Carrier Definition. Provide `carrier-definition-id`. Returns confirmation (`204 No Content`). • [Fetch Carrier Definition](https://docs.nshiftgo.com/configurations/carrier-definitions/fetch-carrier-definition.md): Fetches a specific Carrier Definition. Provide `carrier-definition-id`. Returns the Carrier Definition. • [List Carrier Definitions](https://docs.nshiftgo.com/configurations/carrier-definitions/list-carrier-definitions.md): Lists Carrier Definitions. Returns a paginated list of Carrier Definitions. • [Shipment Channels](https://docs.nshiftgo.com/configurations/shipment-channels.md): Represents a reusable configuration for shipment bookings. Shipment Channels store settings for document and label formats, customs declarations, and unit preferences, centralizing key booking parameters for repeated use. • [Create Shipment Channel](https://docs.nshiftgo.com/configurations/shipment-channels/create-shipment-channel.md): Creates a new Shipment Channel. Provide `name` and `documentRendering`. Returns the `shipment-channel-id`. `accountId` • [Update Shipment Channel](https://docs.nshiftgo.com/configurations/shipment-channels/update-shipment-channel.md): Updates an existing Shipment Channel. Provide `shipment-channel-id` and updated values. Returns confirmation (`204 No Content`). • [Delete Shipment Channel](https://docs.nshiftgo.com/configurations/shipment-channels/delete-shipment-channel.md): Deletes an existing Shipment Channel. Provide `shipment-channel-id`. Returns confirmation (`204 No Content`). • [Fetch Shipment Channel](https://docs.nshiftgo.com/configurations/shipment-channels/fetch-shipment-channel.md): Fetches a specific Shipment Channel. Provide `shipment-channel-id`. Returns the Shipment Channel. • [List Shipment Channels](https://docs.nshiftgo.com/configurations/shipment-channels/list-shipment-channels.md): Lists Shipment Channels. Returns a paginated list of Shipment Channels. • [Service Definitions](https://docs.nshiftgo.com/configurations/service-definitions.md): Represents the association of a carrier service with an account, including the configuration and options required to enable and use that service for shipments. Service definitions must be configured before creating shipment bookings. • [Create Service Definition](https://docs.nshiftgo.com/configurations/service-definitions/create-service-definition.md): Creates a new Service Definition. Provide `service-id`. Returns the `service-definition-id`. • [Update Service Definition](https://docs.nshiftgo.com/configurations/service-definitions/update-service-definition.md): Updates an existing Service Definition. Provide `service-definition-id` and updated values. Returns confirmation (`204 No Content`). • [Delete Service Definition](https://docs.nshiftgo.com/configurations/service-definitions/delete-service-definition.md): Deletes an existing Service Definition. Provide `service-definition-id`. Returns confirmation (`204 No Content`). • [Fetch Service Definition](https://docs.nshiftgo.com/configurations/service-definitions/fetch-service-definition.md): Fetches a specific Service Definition. Provide `service-definition-id`. Returns the Service Definition. • [List Service Definitions](https://docs.nshiftgo.com/configurations/service-definitions/list-service-definitions.md): Lists Service Definitions. Returns a paginated list of Service Definitions. • [Event Channels](https://docs.nshiftgo.com/configurations/event-channels.md): Represents a configuration for capturing and delivering system events to the integrating system. An event channel specifies which event topics to subscribe to and forwards matching events to a configured webhook using a standardized minimal format. • [Create Event Channel](https://docs.nshiftgo.com/configurations/event-channels/create-event-channel.md): Creates a new Event Channel. Provide `name`, `topics`, and `webhook`. Returns the `event-channel-id`. • [Update Event Channel](https://docs.nshiftgo.com/configurations/event-channels/update-event-channel.md): Updates an existing Event Channel. Provide `event-channel-id`, `name`, `topics`, and `webhook`, along with updated values. Returns confirmation (`204 No Content`). • [Delete Event Channel](https://docs.nshiftgo.com/configurations/event-channels/delete-event-channel.md): Deletes an existing Event Channel. Provide `event-channel-id`. Returns confirmation (`204 No Content`). • [Fetch Event Channel](https://docs.nshiftgo.com/configurations/event-channels/fetch-event-channel.md): Fetches a specific Event Channel. Provide `event-channel-id`. Returns the Event Channel. • [List Event Channels](https://docs.nshiftgo.com/configurations/event-channels/list-event-channels.md): Lists Event Channels. Returns a paginated list of Event Channels. • [Create Mock Event](https://docs.nshiftgo.com/configurations/event-channels/create-mock-event.md): Creates mock event. Provide `topic`, `type`, and `payload`. Returns the mock event. Accepts both Account and Company tokens. When authenticated as a company, only the topics `CARRIER`, `SERVICE`, `CARRIER_MONITOR`, and `ACCOUNT` are allowed; any other topic returns `400 Bad Request`. • [Delivery of a ACCOUNT event](https://docs.nshiftgo.com/configurations/events/account-event.md): Event envelope delivered to the subscriber's webhook endpoint for the ACCOUNT topic. • [Delivery of a ADDRESS event](https://docs.nshiftgo.com/configurations/events/address-event.md): Event envelope delivered to the subscriber's webhook endpoint for the ADDRESS topic. • [Delivery of a CARRIER event](https://docs.nshiftgo.com/configurations/events/carrier-event.md): Event envelope delivered to the subscriber's webhook endpoint for the CARRIER topic. • [Delivery of a CARRIER_DEFINITION event](https://docs.nshiftgo.com/configurations/events/carrier-definition-event.md): Event envelope delivered to the subscriber's webhook endpoint for the CARRIER_DEFINITION topic. • [Delivery of a CARRIER_MONITOR event](https://docs.nshiftgo.com/configurations/events/carrier-monitor-event.md): Event envelope delivered to the subscriber's webhook endpoint for the CARRIER_MONITOR topic. • [Delivery of a CARRIER_STATUS event](https://docs.nshiftgo.com/configurations/events/carrier-status-event.md): Event envelope delivered to the subscriber's webhook endpoint for the CARRIER_STATUS topic. • [Delivery of a CARRIER_RATE event](https://docs.nshiftgo.com/configurations/events/carrier-rate-event.md): Event envelope delivered to the subscriber's webhook endpoint for the CARRIER_RATE topic. • [Delivery of a COMPANY event](https://docs.nshiftgo.com/configurations/events/company-event.md): Event envelope delivered to the subscriber's webhook endpoint for the COMPANY topic. • [Delivery of a CUSTOMS_DECLARATION event](https://docs.nshiftgo.com/configurations/events/customs-declaration-event.md): Event envelope delivered to the subscriber's webhook endpoint for the CUSTOMS_DECLARATION topic. • [Delivery of a DANGEROUS_GOODS_DECLARATION event](https://docs.nshiftgo.com/configurations/events/dangerous-goods-declaration-event.md): Event envelope delivered to the subscriber's webhook endpoint for the DANGEROUS_GOODS_DECLARATION topic. • [Delivery of a DELIVERY_OPTION event](https://docs.nshiftgo.com/configurations/events/delivery-option-event.md): Event envelope delivered to the subscriber's webhook endpoint for the DELIVERY_OPTION topic. • [Delivery of a DOCUMENT event](https://docs.nshiftgo.com/configurations/events/document-event.md): Event envelope delivered to the subscriber's webhook endpoint for the DOCUMENT topic. • [Delivery of a EVENT_CHANNEL event](https://docs.nshiftgo.com/configurations/events/event-channel-event.md): Event envelope delivered to the subscriber's webhook endpoint for the EVENT_CHANNEL topic. • [Delivery of a PARCEL event](https://docs.nshiftgo.com/configurations/events/parcel-event.md): Event envelope delivered to the subscriber's webhook endpoint for the PARCEL topic. • [Delivery of a PARCEL_ITEM event](https://docs.nshiftgo.com/configurations/events/parcel-item-event.md): Event envelope delivered to the subscriber's webhook endpoint for the PARCEL_ITEM topic. • [Delivery of a PUDO_POINT event](https://docs.nshiftgo.com/configurations/events/pudo-point-event.md): Event envelope delivered to the subscriber's webhook endpoint for the PUDO_POINT topic. • [Delivery of a SERVICE event](https://docs.nshiftgo.com/configurations/events/service-event.md): Event envelope delivered to the subscriber's webhook endpoint for the SERVICE topic. • [Delivery of a SERVICE_DEFINITION event](https://docs.nshiftgo.com/configurations/events/service-definition-event.md): Event envelope delivered to the subscriber's webhook endpoint for the SERVICE_DEFINITION topic. • [Serial Definition Event](https://docs.nshiftgo.com/configurations/events/serial-definition-event.md): Event envelope delivered to the subscriber's webhook endpoint for the SERIAL_DEFINITION topic. • [Delivery of a SHIPMENT_DISPATCH event](https://docs.nshiftgo.com/configurations/events/shipment-dispatch-event.md): Event envelope delivered to the subscriber's webhook endpoint for the SHIPMENT_DISPATCH topic. • [Delivery of a SHIPMENT_BOOKING event](https://docs.nshiftgo.com/configurations/events/shipment-booking-event.md): Event envelope delivered to the subscriber's webhook endpoint for the SHIPMENT_BOOKING topic. • [Delivery of a SHIPMENT_MANIFEST event](https://docs.nshiftgo.com/configurations/events/shipment-manifest-event.md): Event envelope delivered to the subscriber's webhook endpoint for the SHIPMENT_MANIFEST topic. • [Delivery of a SHIPPING_QUOTE event](https://docs.nshiftgo.com/configurations/events/shipping-quote-event.md): Event envelope delivered to the subscriber's webhook endpoint for the SHIPPING_QUOTE topic. • [Delivery of a SHIPMENT_CHANNEL event](https://docs.nshiftgo.com/configurations/events/shipment-channel-event.md): Event envelope delivered to the subscriber's webhook endpoint for the SHIPMENT_CHANNEL topic. • [Delivery of a TRACKER event](https://docs.nshiftgo.com/configurations/events/tracker-event.md): Event envelope delivered to the subscriber's webhook endpoint for the TRACKER topic. • [Delivery of a ZONE event](https://docs.nshiftgo.com/configurations/events/zone-event.md): Event envelope delivered to the subscriber's webhook endpoint for the ZONE topic. • [Customs Declarations](https://docs.nshiftgo.com/customs-declarations.md): Customs Declarations operations • [Create Customs Declaration](https://docs.nshiftgo.com/customs-declarations/create-customs-declaration.md): Creates a new Customs Declaration. Provide `types`, `declarant.firstName`, `declarant.lastName`, `declarant.city`, and `currency`. Returns the `customs-declaration`. • [Update Customs Declaration](https://docs.nshiftgo.com/customs-declarations/update-customs-declaration.md): Updates an existing Customs Declaration. Provide `customs-declaration-id` and updated values. Returns confirmation (`204 No Content`). • [Delete Customs Declaration](https://docs.nshiftgo.com/customs-declarations/delete-customs-declaration.md): Deletes an existing Customs Declaration. Provide `customs-declaration-id`. Returns confirmation (`204 No Content`). • [Fetch Customs Declaration](https://docs.nshiftgo.com/customs-declarations/fetch-customs-declaration.md): Fetches a specific Customs Declaration. Provide `customs-declaration-id`. Returns the Customs Declaration. • [List Customs Declarations](https://docs.nshiftgo.com/customs-declarations/list-customs-declarations.md): Lists Customs Declarations. Returns a paginated list of Customs Declarations. • [Customs Declaration Types](https://docs.nshiftgo.com/customs-declarations/customs-declaration-types.md): Represents a type of customs declaration, such as CN22 or CN23, used to declare goods for cross-border shipments. Customs Declaration Types specify the information required by carriers or customs authorities and determine which documents are generated for each shipment. They are selected during shipment booking based on route, value, and carrier requirements. • [Fetch Customs Declaration Type](https://docs.nshiftgo.com/customs-declarations/customs-declaration-types/fetch-customs-declaration-type.md): Fetches a specific Customs Declaration Type. Provide `customs-declaration-type-id`. Returns the Customs Declaration Type. • [List Customs Declaration Types](https://docs.nshiftgo.com/customs-declarations/customs-declaration-types/list-customs-declaration-types.md): Lists Customs Declaration Types. Returns a paginated list of Customs Declaration Types. • [Dangerous Goods](https://docs.nshiftgo.com/dangerous-goods.md): Dangerous Goods represent items or substances that pose risks to health, safety, property, or the environment during transport. Shipping dangerous goods requires accurate classification, complete declarations, and compliance with carrier, service, and regulatory requirements. In nShift Go, Dangerous Goods is a structured domain that enables safe and compliant shipment of regulated goods. How Dangerous Goods work Dangerous Goods handling in nShift Go is based on the following concepts: Dangerous Goods Declaration Types Define regulatory or carrier-specific requirements for shipping dangerous goods. Declaration types describe supported standards, transport modes, goods codes, packing constraints, and document requirements, and are used to determine whether a carrier or service supports dangerous goods. Dangerous Goods Declarations Capture the declaration data required for a specific shipment. Declarations include information about the declarant, transport mode, and the dangerous goods being transported, and are created separately before being referenced during shipment booking. Validation during shipment booking During shipment booking, the referenced Dangerous Goods Declaration is validated against the selected carrier, service, parcels, and items to ensure that all requirements are met. Parcel and item-level information Dangerous goods information may also be specified at parcel and item level to describe the actual contents of the shipment. This information complements the declaration and ensures that documentation, labels, and carrier communication are consistent. Together, these concepts ensure that dangerous goods shipments are processed safely and in compliance with applicable carrier and regulatory rules. Learn more Learn more about endpoints related to Dangerous Goods: Parcels – define the contents, dimensions, and weights of your shipment. Shipments – create and book shipments, including validation of carrier, service, and dangerous goods requirements. • [Create Dangerous Goods Declaration](https://docs.nshiftgo.com/dangerous-goods/create-dangerous-goods-declaration.md): Creates a new Dangerous Goods Declaration. Provide required parameters. Returns the `dangerous-goods-declaration-id`. • [Update Dangerous Goods Declaration](https://docs.nshiftgo.com/dangerous-goods/update-dangerous-goods-declaration.md): Updates an existing Dangerous Goods Declaration. Provide `dangerous-goods-declaration-id` and updated values. Returns confirmation (`204 No Content`). • [Delete Dangerous Goods Declaration](https://docs.nshiftgo.com/dangerous-goods/delete-dangerous-goods-declaration.md): Deletes an existing Dangerous Goods Declaration. Provide `dangerous-goods-declaration-id`. Returns confirmation (`204 No Content`). • [Fetch Dangerous Goods Declaration](https://docs.nshiftgo.com/dangerous-goods/fetch-dangerous-goods-declaration.md): Fetches a specific Dangerous Goods Declaration. Provide `dangerous-goods-declaration-id`. Returns the Dangerous Goods Declaration. • [List Dangerous Goods Declarations](https://docs.nshiftgo.com/dangerous-goods/list-dangerous-goods-declarations.md): Lists Dangerous Goods Declarations. Returns a paginated list of Dangerous Goods Declarations. • [Dangerous Goods Declaration Types](https://docs.nshiftgo.com/dangerous-goods/dangerous-goods-declaration-types.md): Represents a type of dangerous goods declaration supported by carriers. Dangerous Goods Declaration Types define the codes, validation rules, and specific requirements for handling and declaring dangerous goods. These types are used to ensure compliance with carrier and regulatory standards for the transport of dangerous goods, and can be fetched for integration to reflect carrier connectivity changes. • [Fetch Dangerous Goods Declaration Type](https://docs.nshiftgo.com/dangerous-goods/dangerous-goods-declaration-types/fetch-dangerous-goods-declaration-type.md): Fetches a specific Dangerous Goods Declaration Type. Provide `dangerous-goods-declaration-type-id`. Returns the Dangerous Goods Declaration Type. • [List Dangerous Goods Declaration Types](https://docs.nshiftgo.com/dangerous-goods/dangerous-goods-declaration-types/list-dangerous-goods-declaration-types.md): Lists Dangerous Goods Declaration Types. Returns a paginated list of Dangerous Goods Declaration Types. • [Documents](https://docs.nshiftgo.com/documents.md): Represents a document generated or attached as part of a shipment booking, customs declaration, or shipment manifest. Documents include items such as labels, invoices, waybills, and customs forms, and may be generated automatically or uploaded for carriers that support paperless handling. • [Fetch Document](https://docs.nshiftgo.com/documents/fetch-document.md): Fetches a specific Document. Provide `document-id`. Returns the Document. • [Fetch Document Data](https://docs.nshiftgo.com/documents/fetch-document-data.md): Fetches document data. Provide `document-id`. Returns the document data. • [Fetch Document Metadata](https://docs.nshiftgo.com/documents/fetch-document-metadata.md): Fetches metadata for an existing Document. Provide `document-id`. Returns the Document metadata. • [List Document Metadata](https://docs.nshiftgo.com/documents/list-document-metadata.md): Lists metadata for Documents. Provide `groupId` to filter by related entity. Returns a paginated list of Document metadata. • [Delivery Selection](https://docs.nshiftgo.com/delivery-options.md): Delivery selection defines how delivery methods and prices are presented to customers during checkout and how those choices are evaluated and returned to integrations. In nShift Go, delivery selection is modeled using three core entities: Delivery Options , Shipping Quotes , and Zones . Together, these entities support consistent presentation and evaluation of delivery choices across checkouts, channels, and integrations. How delivery selection works Delivery selection in nShift Go is based on the following concepts: Delivery Options Represent configured delivery methods that can be presented to customers. Delivery Options combine carrier and service definitions with rates, conditions, and zones to determine when a delivery method is available and how it is displayed. Shipping Quotes Represent the evaluated result of delivery selection. Shipping Quotes contain delivery method details and calculated prices that can be presented to customers and reused during checkout or shipment creation. Zones Represent geographical groupings such as countries, regions, or postal code ranges. Zones control where Delivery Options apply and allow delivery methods to vary by destination. Delivery selection supports different approaches depending on how delivery logic needs to be managed: Use Delivery Options when you need to: Present a consistent set of delivery methods and prices across multiple checkouts or channels. Apply shared rules such as zones, conditions, priorities, or fallback pricing centrally. Maintain control over how delivery choices are displayed to consumers. Use direct Shipping Quotes when you need to: Generate delivery prices dynamically for one-off or custom workflows. Integrate external pricing logic or carrier rating engines. Avoid maintaining predefined delivery configuration. • [Generate Shipping Quotes](https://docs.nshiftgo.com/delivery-options/generate-shipping-quotes.md): Generates Shipping Quotes by evaluating all active Delivery Options for the provided payload. Returns a batch of Shipping Quotes and a `purchase-id` for later reference. **Note:** Shipping Quotes are valid for 24 hours. • [Generate Shipping Quotes (Inline)](https://docs.nshiftgo.com/delivery-options/generate-shipping-quotes-inline.md): Evaluate all active Delivery Options using inline payload (with embedded addresses) and generate Shipping Quotes that hold temporary information about the provided input and returned Delivery Option. A purchaseId identifier (UUID) is generated for the batch of Shipping Quotes that are generated so that the user can easily identify them later through /shipping-quotes endpoints. • [Delivery Options](https://docs.nshiftgo.com/delivery-options/delivery-options.md): Represents a set of shipping alternatives available to customers during checkout. Each Delivery Option is associated with carrier and service configurations, shipping zones, rates, and rules. When evaluated, Delivery Options generate shipping quotes that include available shipping methods and prices. Shipping quotes are valid for 24 hours and can be used to display options to consumers and create shipment bookings. • [Create Delivery Option](https://docs.nshiftgo.com/delivery-options/delivery-options/create-delivery-option.md): Creates a new Delivery Option. Provide required parameters. Returns the `delivery-option-id`. **Note:** Zones must be created and associated with the Delivery Option. • [Update Delivery Option](https://docs.nshiftgo.com/delivery-options/delivery-options/update-delivery-option.md): Updates an existing Delivery Option. Provide `delivery-option-id` and updated parameters. Returns confirmation (`204 No Content`). • [Delete Delivery Option](https://docs.nshiftgo.com/delivery-options/delivery-options/delete-delivery-option.md): Deletes an existing Delivery Option. Provide `delivery-option-id`. Returns confirmation (`204 No Content`). • [Fetch Delivery Option](https://docs.nshiftgo.com/delivery-options/delivery-options/fetch-delivery-option.md): Fetches a specific Delivery Option. Provide `delivery-option-id`. Returns the Delivery Option. • [List Delivery Options](https://docs.nshiftgo.com/delivery-options/delivery-options/list-delivery-options.md): Lists Delivery Options. Returns a paginated list of Delivery Options. • [Shipping Quotes](https://docs.nshiftgo.com/delivery-options/shipping-quotes.md): Represents a temporary shipping option and pricing generated by evaluating Delivery Options. Shipping Quotes are used to present available shipping methods to users or end-consumers during checkout and are valid for 24 hours. • [Create Shipping Quote](https://docs.nshiftgo.com/delivery-options/shipping-quotes/create-shipping-quote.md): Creates a new Shipping Quote. Provide required parameters. Returns the `shipping-quote-id`. **Note:** Shipping Quotes are valid for 24 hours. • [Create Shipping Quote (Inline)](https://docs.nshiftgo.com/delivery-options/shipping-quotes/create-shipping-quote-inline.md): A Shipping Quote stores information about a specific Delivery Option, the evaluated price and cart information. This endpoint will evaluate existing Deliver Options using inline payload (with embedded addresses and parcels) and generate corresponding Shipping Quotes. You can then use a Shipping Quote and transform it into an Order or Shipment Booking directly. • [Fetch Shipping Quote](https://docs.nshiftgo.com/delivery-options/shipping-quotes/fetch-shipping-quote.md): Fetches a specific Shipping Quote. Provide `shipping-quote-id`. Returns the Shipping Quote. • [List Shipping Quotes](https://docs.nshiftgo.com/delivery-options/shipping-quotes/list-shipping-quotes.md): Lists Shipping Quotes. Returns a paginated list of Shipping Quotes. • [Create Shipment Booking from Shipping Quote](https://docs.nshiftgo.com/delivery-options/shipping-quotes/create-shipment-booking-from-shipping-quote.md): Creates a Shipment Booking from an existing Shipping Quote. Provide `shipping-quote-id` in the path and a `ShipmentBookingRequest` payload (with `shipmentChannelId`) in the request body. Carrier, service, parties and parcels are taken from the Shipping Quote. Returns the created Shipment Booking. • [Create Shipment Booking from Shipping Quote (Inline)](https://docs.nshiftgo.com/delivery-options/shipping-quotes/create-shipment-booking-from-shipping-quote-inline.md): Creates an inline Shipment Booking from an existing Shipping Quote. Provide `shipping-quote-id` in the path and an `InlineShipmentBooking` payload in the request body. Any field missing from the request falls back to the corresponding value on the Shipping Quote. Returns the created Shipment Booking. • [Zones](https://docs.nshiftgo.com/delivery-options/zones.md): Represents a zone used to define geographical or logical areas for shipping purposes. Each zone is defined using a set of conditions evaluated against shipment details, and is used to determine shipping rates and delivery options based on the destination. Zones help determine the validity of connected Delivery Options, making it possible to create dynamic markets without directly maintaining individual Delivery Options. • [Create Zone](https://docs.nshiftgo.com/delivery-options/zones/create-zone.md): Creates a new Zone. Provide required parameters. Returns the `zone-id`. • [Update Zone](https://docs.nshiftgo.com/delivery-options/zones/update-zone.md): Updates an existing Zone. Provide `zone-id` and updated parameters. Returns confirmation (`204 No Content`). • [Delete Zone](https://docs.nshiftgo.com/delivery-options/zones/delete-zone.md): Deletes an existing Zone. Provide `zone-id`. Returns confirmation (`204 No Content`). **Note:** If the Zone is currently associated with a Delivery Option, the operation will be denied. • [Fetch Zone](https://docs.nshiftgo.com/delivery-options/zones/fetch-zone.md): Fetches a specific Zone. Provide `zone-id`. Returns the Zone. • [List Zones](https://docs.nshiftgo.com/delivery-options/zones/list-zones.md): Lists Zones. Returns a paginated list of Zones. • [Parties](https://docs.nshiftgo.com/parties.md): Parties in nShift Go represent the sender, receiver, and other participants in a shipment. A Party is a combination of an Address or a PUDO Point and a set of roles that define how it is used within the shipment. Parties are always defined inline within another entity, such as a Shipment Booking. They are not stored as separate resources. How Parties work Each Party specifies: type – identifies whether the Party refers to an ADDRESS or a PUDO . roles – defines how the Party is used (for example SENDER , RECEIVER , DELIVERY , DISPATCH , EXPORTER , or IMPORTER ). id – references the corresponding Address or PUDO Point entity. In a typical Shipment Booking, at least one SENDER and one RECEIVER Party are required. Service data specifies which roles are valid for each service. A Party can include multiple roles when the same participant serves several purposes, such as acting as both SENDER and EXPORTER . Learn more Learn more about endpoints related to Parties: Addresses – manage sender and receiver address data. PUDO Points – retrieve carrier-specific pickup or drop-off locations. • [Addresses](https://docs.nshiftgo.com/parties/addresses.md): Represents a standardized address structure used across the platform. Addresses are role-neutral and can be created, stored, and reused in orders, shipment bookings, and other processes. Roles such as sender or receiver are assigned when an address is used, defining its function in the shipment flow. The address model supports both fine-grained location input and preformatted address lines, as long as key properties like street name, postal code, city, and country code are included. • [Create Address](https://docs.nshiftgo.com/parties/addresses/create-address.md): Creates a new Address. Provide `location.streetName`, `location.postalCode`,` location.city`, and `location.countryCode`. Returns the `address-id`. • [Update Address](https://docs.nshiftgo.com/parties/addresses/update-address.md): Updates an existing Address. Provide `address-id` and updated values. Returns confirmation (`204 No Content`). **Note:** Changes may not affect previously processed entities such as Shipment Bookings. • [Delete Address](https://docs.nshiftgo.com/parties/addresses/delete-address.md): Deletes an existing Address. Provide address-id. Returns confirmation (`204 No Content`). **Note:** Changes may not affect previously processed entities such as Shipment Bookings. • [Fetch Address](https://docs.nshiftgo.com/parties/addresses/fetch-address.md): Fetches a specific Address. Provide `address-id`. Returns the Address. • [List Addresses](https://docs.nshiftgo.com/parties/addresses/list-addresses.md): Lists Addresses. Returns a paginated list of Addresses. • [PUDO Points](https://docs.nshiftgo.com/parties/pudo-points.md): Represents a pickup or drop-off location provided by a carrier. PUDO Points are used as alternatives to delivery addresses, allowing shipments to be collected from or delivered to designated locations. They can be queried and selected during shipment booking based on criteria such as sender country, service, destination country, postal code, and address line. • [Query PUDO Points](https://docs.nshiftgo.com/parties/pudo-points/query-pudo-points.md): Queries PUDO Points. Provide `serviceId`, `countryCode`, `senderCountryCode`, and `postalCode`. Returns a list of PUDO Points. • [Fetch PUDO Point](https://docs.nshiftgo.com/parties/pudo-points/fetch-pudo-point.md): Fetches a specific PUDO Point. Provide `pudo-point-id`. Returns the PUDO Point. • [Parcels](https://docs.nshiftgo.com/parcels.md): Represents a physical shipment container included as part of a shipment booking. Parcels include packing, weight, volume, and item-level details required for transport and tracking. Each shipment booking must contain at least one parcel. • [Create Parcel](https://docs.nshiftgo.com/parcels/create-parcel.md): Creates a new Parcel. Provide weight at parcel level, packing level, or ensure items have weights. Returns the `parcel-id`. • [Update Parcel](https://docs.nshiftgo.com/parcels/update-parcel.md): Updates an existing Parcel. Provide `parcel-id` and updated values. Returns confirmation (`204 No Content`). • [Delete Parcel](https://docs.nshiftgo.com/parcels/delete-parcel.md): Deletes an existing Parcel. Provide `parcel-id`. Returns confirmation (`204 No Content`). • [Fetch Parcel](https://docs.nshiftgo.com/parcels/fetch-parcel.md): Fetches a specific Parcel. Provide `parcel-id`. Returns the Parcel. • [List Parcels](https://docs.nshiftgo.com/parcels/list-parcels.md): Lists Parcels. Returns a paginated list of Parcels. • [Parcel Items](https://docs.nshiftgo.com/parcels/parcel-items.md): Represents the individual products contained within a Parcel. Parcel Items include details such as description, quantity, weight, dimensions, and product identifiers. Use Parcel Items to specify the contents of a Parcel for transport, tracking, and customs purposes. • [Create Parcel Item](https://docs.nshiftgo.com/parcels/parcel-items/create-parcel-item.md): Creates a new Parcel Item. Provide `quantity` and `product.sku`. Returns the `parcel-item-id`. • [Update Parcel Item](https://docs.nshiftgo.com/parcels/parcel-items/update-parcel-item.md): Updates an existing Parcel Item. Provide `item-id` and updated values. Returns confirmation (`204 No Content`). • [Delete Parcel Item](https://docs.nshiftgo.com/parcels/parcel-items/delete-parcel-item.md): Deletes an existing Parcel Item. Provide `item-id`. Returns confirmation (`204 No Content`). • [Fetch Parcel Item](https://docs.nshiftgo.com/parcels/parcel-items/fetch-parcel-item.md): Fetches a specific Parcel Item. Provide `item-id`. Returns the Parcel Item. • [List Parcel Items](https://docs.nshiftgo.com/parcels/parcel-items/list-parcel-items.md): Lists Parcel Items. Returns a paginated list of Parcel Items. • [Packing Types](https://docs.nshiftgo.com/packing-types.md): Represents how items are packaged for transport in shipping and logistics operations. Packing types specify packaging methods to ensure proper handling and compliance with shipping regulations. • [Fetch Packing Type](https://docs.nshiftgo.com/packing-types/fetch-packing-type.md): Fetches a specific Packing Type. Provide `packing-type-id`. Returns the Packing Type. • [List Packing Types](https://docs.nshiftgo.com/packing-types/list-packing-types.md): Lists Packing Types. Returns a paginated list of Packing Types. • [Reports](https://docs.nshiftgo.com/reports.md): Represents aggregated usage data for all accounts associated with a company. Usage is measured in tokens and doesn’t include pricing information. During each billing cycle, the number of tokens used for each event type is accumulated and later converted to costs based on event pricing when the invoice is generated. • [List Reports](https://docs.nshiftgo.com/reports/get-reports-1.md): Lists aggregated usage metrics for all Accounts associated with a Company, measured in tokens. Provide `type` (`usage_report` or `aggregated_report`) to select the report. Optionally provide `date_from` and `date_to` to scope the report to a date range. Returns the usage metrics for the matching reports. • [List Reports](https://docs.nshiftgo.com/reports/list-reports.md): Returns a list of Reports. • [Shipments](https://docs.nshiftgo.com/shipments.md): The core of the nShift Go API is the ability to book shipments: generating tracking numbers, shipping documents, and transferring shipment data to carriers. Booking a shipment means confirming it and submitting it to the carrier’s system. A shipment consists of several elements that together define what, where, and how something is shipped: Addresses and PUDO Points ​ – define sender, receiver, and pickup or drop-off points. Carrier Definition ​ – contains the connection details and commercial agreement used with the carrier. Service Definition ​ – specifies the carrier service and add-ons to use. Parcels and Parcel Items ​ – define the contents, dimensions, and weights of the shipment. Customs Declarations ​ – provide information for international or dutiable shipments. Shipment Channel ​ – defines general processing parameters such as document rendering or units of measure. Flow The diagram below shows how shipment entities connect and how bookings, dispatches, and manifests are related in the shipment lifecycle. Shipment flow How shipments work The API is designed to make shipment creation reliable and easy to validate. Data can be sent and confirmed in multiple steps, minimizing the risk of a single point of failure — for example, discovering an invalid postal code only at label print time. For systems that prefer a single operation, the API also provides Inline endpoints, allowing all required data to be submitted in one request. See the Shipment Booking Inline endpoint. When a Shipment Booking is created, the response includes summary data and generated documents. Documents can also be retrieved separately through dedicated endpoints. Dispatches and manifests Shipment Dispatches group multiple Shipment Bookings together. They are useful for tracking, reporting total weight or volume, and generating Shipment Manifests, which act as carrier receipts during pickup. Some carriers require Shipment Manifests before receiving booking data. When a Shipment Manifest is generated, it returns documents that should be printed and provided to the carrier during collection or pickup. Learn more Learn more about shipment-related entities and endpoints: Shipment Bookings Shipment Dispatches Shipment Manifests Parcels – define the contents, dimensions, and weights of your shipment. Parties – specify sender, receiver, and pickup or drop-off locations. Customs Declarations – include customs data for international or dutiable shipments. Reports – retrieve shipment data and performance metrics. Event Channels – receive updates for shipment and delivery events. • [Shipment Bookings](https://docs.nshiftgo.com/shipments/shipment-bookings.md): Represents the process of booking and confirming a shipment with a carrier. A shipment booking brings together all required details, including addresses, PUDO point, parcels, parcel items, carrier definition, service definition, customs declaration, and shipment channel, to initiate delivery. Creating a shipment booking generates tracking numbers, shipping documents, and submits the shipment data to the carrier. • [Create Shipment Booking](https://docs.nshiftgo.com/shipments/shipment-bookings/create-shipment-booking.md): Creates a new Shipment Booking. Provide `shipmentChannelId`, `parties`, `carrierDefinitionId`, `serviceDefinitionId`, and `parcelIds`. Returns the `shipment-booking-id`. • [Create Shipment Booking (Inline)](https://docs.nshiftgo.com/shipments/shipment-bookings/create-shipment-booking-inline.md): Creates a new Shipment Booking using inline payload. Provide embedded addresses, parcels, carrier definition, and service definition directly in the request. Returns the `shipment-booking-id`. • [Fetch Shipment Booking](https://docs.nshiftgo.com/shipments/shipment-bookings/fetch-shipment-booking.md): Fetches a specific Shipment Booking. Provide `shipment-booking-id`. Returns the Shipment Booking. • [List Shipment Bookings](https://docs.nshiftgo.com/shipments/shipment-bookings/list-shipment-bookings.md): Lists Shipment Bookings. Returns a paginated list of Shipment Bookings. • [Fetch Shipment Booking Documents](https://docs.nshiftgo.com/shipments/shipment-bookings/fetch-shipment-booking-documents.md): Generates and fetches documents for a Shipment Booking. Optionally provide a `shipmentChannelId` to override the channel used for document rendering. Returns the list of generated documents. • [Fetch Shipment Booking Documents (Inline)](https://docs.nshiftgo.com/shipments/shipment-bookings/fetch-shipment-booking-documents-inline.md): Generates and fetches documents for a Shipment Booking using an inline Shipment Channel. Optionally provide an inline `shipmentChannel` to override the channel used for document rendering. Returns the list of generated documents. • [Shipment Dispatches](https://docs.nshiftgo.com/shipments/shipment-dispatches.md): Represents a collection of shipment bookings grouped together for carrier pickup or delivery. Shipment dispatches make it easier to track, manage, and calculate details such as total weight and volume for multiple shipments. They also provide a way to generate shipment manifests, which some carriers require as receipts during collection. • [Create Shipment Dispatch](https://docs.nshiftgo.com/shipments/shipment-dispatches/create-shipment-dispatch.md): Creates a new Shipment Dispatch. Provide `shipmentBookingIds`. Returns the `shipment-dispatch-id`. • [Update Shipment Dispatch](https://docs.nshiftgo.com/shipments/shipment-dispatches/update-shipment-dispatch.md): Updates an existing Shipment Dispatch. Provide `shipment-dispatch-id` and `shipmentBookingIds`, along with updated values. Returns confirmation (`204 No Content`). • [Delete Shipment Dispatch](https://docs.nshiftgo.com/shipments/shipment-dispatches/delete-shipment-dispatch.md): Deletes an existing Shipment Dispatch. Provide `shipment-dispatch-id`. Returns confirmation (`204 No Content`). • [Fetch Shipment Dispatch](https://docs.nshiftgo.com/shipments/shipment-dispatches/fetch-shipment-dispatch.md): Fetches a specific Shipment Dispatch. Provide `shipment-dispatch-id`. Returns the Shipment Dispatch. • [List Shipment Dispatches](https://docs.nshiftgo.com/shipments/shipment-dispatches/list-shipment-dispatches.md): Lists Shipment Dispatches. Returns a paginated list of Shipment Dispatches. • [Create Shipment Manifest](https://docs.nshiftgo.com/shipments/shipment-dispatches/create-shipment-manifest.md): Creates a new Shipment Manifest. Provide `shipment-dispatch-id`, `type`, and `shipmentChannelId`. Returns the `shipment-manifest-id`. • [Create Shipment Manifest (Inline)](https://docs.nshiftgo.com/shipments/shipment-dispatches/create-shipment-manifest-inline.md): Creates a new Shipment Manifest using inline payload. Provide `shipment-dispatch-id`, `type`, and an embedded `shipmentChannel`. Returns the `shipment-manifest-id`. • [Shipment Manifests](https://docs.nshiftgo.com/shipments/shipment-manifests.md): Represents documentation for shipments within a dispatch. A shipment manifest includes shipment and carrier details and returns documents for handoff and verification during carrier collection or pickup. • [Fetch Shipment Manifest](https://docs.nshiftgo.com/shipments/shipment-manifests/fetch-shipment-manifest.md): Fetches a specific Shipment Manifest. Provide `shipment-manifest-id`. Returns the Shipment Manifest. • [List Shipment Manifests](https://docs.nshiftgo.com/shipments/shipment-manifests/list-shipment-manifests.md): Lists Shipment Manifests. Returns a paginated list of Shipment Manifests. • [Trackers](https://docs.nshiftgo.com/trackers.md): Represents tracking information for shipment bookings. Trackers store harmonized status, shipment details, and parcel information for monitoring delivery progress. • [Update Tracker](https://docs.nshiftgo.com/trackers/update-tracker.md): Updates an existing Tracker. Provide `tracker-id` and updated parameters. Returns confirmation (`204 No Content`). • [Delete Tracker](https://docs.nshiftgo.com/trackers/delete-tracker.md): Deletes an existing Tracker. Provide `tracker-id`. Returns confirmation (`204 No Content`). **Note:** This operation voids the tracker, sets its status to VOID, and triggers a DELETE call to remove the associated shipment. • [Fetch Tracker](https://docs.nshiftgo.com/trackers/fetch-tracker.md): Fetches a specific Tracker. Provide `tracker-id`. Returns the Tracker. • [List Trackers](https://docs.nshiftgo.com/trackers/list-trackers.md): Lists Trackers. Returns a paginated list of Trackers. • [Fetch Shipment Dispatch Tracker](https://docs.nshiftgo.com/trackers/fetch-shipment-dispatch-tracker.md): Fetches a specific Shipment Dispatch Tracker. Provide `dispatch-tracker-id`. Returns the Shipment Dispatch Tracker. • [Replace Shipment Dispatch Tracker](https://docs.nshiftgo.com/trackers/replace-shipment-dispatch-tracker.md): Replaces an existing Shipment Dispatch Tracker. Provide `dispatch-tracker-id` and updated tracker data. Returns confirmation (`204 No Content`). • [List Shipment Dispatch Trackers](https://docs.nshiftgo.com/trackers/list-shipment-dispatch-trackers.md): Lists Shipment Dispatch Trackers. Returns a paginated list of Shipment Dispatch Trackers. • [Void Shipment Dispatch Tracker](https://docs.nshiftgo.com/trackers/void-shipment-dispatch-tracker.md): Voids a Shipment Dispatch Tracker. Provide `dispatch-tracker-id`. Sets the tracker status to `VOID` and refreshes `updatedAt`; the record is not hard-deleted. This is a GO-only operation and does NOT trigger any Delivery call. Returns `204 No Content`. Returns `409 Conflict` if the tracker is already voided. • [Fetch the llms.txt index](https://docs.nshiftgo.com/ai-agent-instructions/fetch-the-llms-txt-index.md): Curated markdown index of the nShift Go API for AI agents. • [Fetch the llms-full.txt reference](https://docs.nshiftgo.com/ai-agent-instructions/fetch-the-llms-full-txt-reference.md): Complete nShift Go API reference in one markdown file for single-pass AI loading.