OrderMesh
  1. Introduction to OrderMesh API
OrderMesh
  • Introduction to OrderMesh API
    • Getting Started
    • Product Catalog
    • Webhooks
    • Merchant Notifications Guide
  • Notes
    • /v1/notes
      POST
    • /v1/notes
      GET
    • /v1/notes/{noteId}
      GET
    • /v1/notes/{id}
      PUT
    • /v1/notes/{id}
      DELETE
    • /v1/notes/{id}/auditLogs
      GET
  • OrderItems
    • Search for order items based on various criteria and filters
      GET
  • Orders
    • Create a New Order.
      POST
    • Search for orders based on various criteria and filters.
      GET
    • Create multiple orders
      POST
    • Retrieve multiple orders
      GET
    • Update multiple orders
      PATCH
    • Retrieve a list of orders
      GET
    • Retrieve an order by Order ID.
      GET
    • Update order data.
      PATCH
    • Retrieve an order by Safe ID
      GET
    • Retrieve order item by Order Item ID
      GET
    • Update an item within an order.
      PATCH
    • Cancel Order or order items
      POST
    • Change the order status to Customer Care Hold
      POST
    • Retrieve audit logs for a specific order.
      GET
    • Retrieve audit logs for a specific order.
      GET
    • Retrieve audit logs for a specific order item.
      GET
    • Add a Refund Request.
      POST
  • Packing Slip
    • Generates a packing slip for a specific shipment by Shipment ID.
  • Shipments
    • Get details of a specific shipment by Shipment ID.
    • Update details of a specific shipment by Shipment ID.
    • Create packages for a specific shipment.
    • Delete shipment with packages.
    • Get all shipments for an order by Order ID.
    • Create shipment for order, vendor, and order items.
    • Get shipment with packages for order and vendor.
    • Get shipment details by Order Item ID.
    • Update a specific shipment package.
    • Cancel shipment.
    • Unassign items to shipment.
    • Shipment resubmission to assigned facility.
    • Retry outbound polling for a shipment by publishing an OutboundShipmentUpdate event.
    • Search shipments.
    • Reroute shipment.
    • Rejects a shipment.
    • Bulk reroute shipments.
    • Get shipment audit logs.
    • Get package audit logs.
    • Get message audit logs for shipment updates.
    • Assign Shipment.
  • Client
    • Generate service client access token (valid for 24 hours).
  • User
    • Login user by username and password.
    • Login user with refresh token.
  • Schemas
    • CreateNoteModel
    • APIClientInfoModel
    • AssignDTO
    • AssignUserRoleDto
    • CreateNoteReponse
    • AddRefundItemModel
    • AssignShipmentResponse
    • Error
    • AddRefundModel
    • ForbiddenErrorResponse
    • AddressModel
    • ClientTokenResponseDTO
    • GetAuditLogResponse
    • AttributeModel
    • CancelShipmentDto
    • GetNoteByIdResponse
    • BaseAddressModel
    • CreateInvitationDto
    • GetNoteResponseItemModel
    • BillingInfoModel
    • CountryCodes
    • CreateInvitationDtoBulkModel
    • GetNotesResponse
    • BulkResponse
    • CreatePackageDTO
    • CreateInvitationResponse
    • NotFoundErrorResponse
    • BulkResponseItem
    • CreatePackagesResponse
    • CreateRoleDTO
    • ResourceFormat
    • CancelOrderItemModel
    • CreateShipmentDTO
    • CreateServiceClientDto
    • ResourceReferenceModel
    • CancelOrderModel
    • CreateShipmentResponse
    • CreateServiceClientResponseDTO
    • StringAuditEvent
    • CancelOrderResponse
    • CurrencyCodes
    • CreateUserDto
    • UnauthorizedResult
    • ConflictErrorResponse
    • DeleteInvitationResponse
    • UnhandledErrorResponse
    • CoordinatesModel
    • ExternalErrorResponse
    • UpdateNotePayload
    • CreateOrderCustomerPaymentMethodModel
    • UpdateNoteResponse
    • CreateOrderCustomerTransactionModel
    • GeneratePackingSlipResponse
    • UserReferenceModel
    • CreateOrderItemImageModel
    • ForgotPasswordDTO
    • ValidationErrorResponse
    • CreateOrderItemModel
    • GetOrdersCountByFacilityResponse
    • FutureAssociationsDTO
    • CreateOrderModel
    • GetShipmentPollingStoppedCountResponse
    • GetInvitationResponse
    • CreateOrderModelBulkModel
    • GetShipmentsCountByStatusResponse
    • GetInvitationsByMerchantIdResponse
    • CreateOrderResponse
    • LanguageCodes
    • GetInvitationsByMerchantIdResponseDto
    • CustomerCareHoldOrderResponse
    • GetServiceClientTokenDto
    • OrderCount
    • InvitationDeliveryMethodEnum
    • OrderItem
    • InvitationDeliveryResponse
    • OrderItemDTO
    • InvitationStatusEnum
    • GetOrderCustomerPaymentMethodModel
    • PackageDTO
    • InvitationsByMerchantIdSortByEnum
    • GetOrderCustomerTransactionModel
    • PackageOrderItemDTO
    • LoginUserDto
    • GetOrderItemImageModel
    • PackingSlipDto
    • LoginUserWithAuthorizationCode
    • GetOrderItemModel
    • Price
    • LoginUserWithRefreshToken
    • GetOrderItemRefundDataItemModel
    • Reject
    • GetOrderItemRefundDataModel
    • RejectResponse
    • OnboardUserDto
    • GetOrderItemResponse
    • Reroute
    • PasswordPolicyDTO
    • GetOrderModel
    • RerouteBulkModel
    • PatchUserDTO
    • GetOrderResponse
    • RerouteOrderItem
    • PermissionDTO
    • GetOrdersCountByStatusResponse
    • RerouteResponse
    • PermissionSet
    • GetOrdersPollingStoppedCountResponse
    • PermissionSetsRequestDTO
    • ListOrderModel
    • SearchShipmentModel
    • PermissionSetsResponseDTO
    • ListOrdersResponse
    • SearchShipmentResponse
    • ResendInvitationResponse
    • SelectedCarrierShippingServiceMethodDTO
    • ResetPasswordDTO
    • OptionModel
    • SelectedShippingMappingDTO
    • ResourceDTO
    • OrderItemStatus
    • SelectedShippingMappingMethodDTO
    • RoleDTO
    • OrderStatus
    • SelectedVendorMappingDTO
    • RolePermissionDTO
    • OrdersCountByStatus
    • ShipmentDTO
    • RoleWithPermissionDTO
    • PriceModel
    • ShipmentStatus
    • SearchRolesEnum
    • RefreshProcessingModel
    • ShipmentsCountByStatus
    • SearchRolesResponseDTO
    • RefreshProcessingResponse
    • SearchUsersEnum
    • ReprintCostCoverageModel
    • UnassignOrderItemDTO
    • SearchUsersResponseDTO
    • ReprintModel
    • ServiceClientResponseDTO
    • ReprintShipmentItemModel
    • StringBulkModel
    • ReprintShipmentModel
    • UpdatePackageDTO
    • TokenResponseDTO
    • UpdateShipmentDTO
    • UnassignUserRoleDTO
    • SearchOrderItemsResponse
    • UnauthorizedErrorResponse
    • SearchOrderModel
    • SearchOrdersResponse
    • ShipmentMetadata
    • UpdateAssociationTypeDTO
    • StartProcessingModel
    • UpdateAttributesDto
    • StartProcessingResponse
    • UpdateRoleDTO
    • UpdateRolePermissionsDTO
    • UserResponseDTO
    • ValidateEmailsResponse
    • UpdateOrderItemImageModel
    • UpdateOrderItemModel
    • ValidationResponseDTO
    • UpdateOrderItemResponse
    • UpdateOrderModel
    • UpdateOrderModelBulkModel
    • UpdateOrderResponse
    • UpdatePriceModel
    • VariantAttribute
    • VariantOption
  1. Introduction to OrderMesh API

Getting Started

Getting Started with OrderMesh API#

Welcome to the OrderMesh Developer Portal. Our API is organized around REST, featuring predictable resource-oriented URLs and standard HTTP methods. We support cross-origin resource sharing (CORS), allowing you to interact securely with our API from client-side applications.

Base URLs#

All API requests must be directed to:
https://api.ordermesh.io/

Authentication#

The OrderMesh API leverages OAuth 2.0 for secure authentication. To interact with protected resources, you must include a Bearer Token in your API request headers.
There are two distinct ways to obtain an access token. Choosing the correct method is critical for the stability and security of your integration.

1. User Credentials (Development & Testing ONLY)#

Using your OrderMesh Platform Username and Password is intended strictly for manual testing, initial development, and using the "Try It Out" console in this documentation portal.
Endpoint: POST /user/v1/login
Authentication Flow: Ideal for rapid prototyping and exploring endpoints manually.
⚠️ IMPORTANT: Never use Username/Password for production integrations. These credentials expire and are subject to security rotations, which will cause your production integration to break.
Sample Request:

2. Client Credentials (Production Standard)#

For secure, machine-to-machine communication in a production environment, you must use a Client ID and Client Secret.
Setup: Log in to the OrderMesh Portal, navigate to Merchants → Authentication → Create Client.
Endpoint: POST /user/v1/clients/token
Access Control: The client secret is displayed only once. Store it securely (e.g., in a secret manager). Only production-level personnel should have access to these credentials.
Sample Request:

Making API Calls#

To make API calls, include the access token in the Authorization header.

Required Headers#

HeaderValueDescription
AuthorizationBearer <your_access_token>The word "Bearer" followed by a space and your token.
Content-Typeapplication/jsonSpecifies the media type of the resource.

Example API Call (Create Order)#


Handling Token Expiry#

Token expiry behavior differs depending on the authentication method used:
Client Credentials – Client access tokens have a lifespan of 24 hours and do not support a refresh flow. Your integration must automatically reauthenticate using your Client ID and Secret when the token expires.
User Credentials – When your access token expires, use the refresh token to obtain a new one without re-entering credentials.
Endpoint: POST /user/v1/refresh
Sample Request:
{
  "refreshToken": "your_refresh_token"
}

Sample Response#

{
  "accessToken": "new_access_token",
  "scope": "email profile",
  "tokenType": "Bearer",
  "refreshToken": "new_refresh_token",
  "expiresIn": 3600
}

API Patterns#

Pagination#

We use page-based pagination for most GET requests. You can specify the size and number of pages using the following parameters:
page: (Optional) Page number (defaults to 1).
pageSize: (Optional) Items to return in response (defaults to 50).

Metadata#

Some objects like Order and OrderItem can contain a meta parameter. You can use this to attach custom key-value data for internal tracking.
🛑 NOTE: Do not store sensitive information (bank account numbers, card details, etc.) as metadata.
Modified at 2026-03-12 00:29:44
Next
Product Catalog
Built with