Create RMA Shipment
post
https://api.flxpoint.com/rma-shipmentsUse this when you want to create rma data through the API.
🔑 X-API-TOKEN⏱ 2 req/sToken: Account · Source · Channel
This page explains the endpoint. To send a live test request, use the interactive tester in Stoplight or your own Postman / HTTP client.
Creates a RMA Shipment
Request
Body
application/jsonrmaIdintegerIdentify the RMA to associate the shipment to by providing the Flxpoint generated internal RMA ID.
rmaNumberstringIdentify the RMA to associate the shipment to by providing the rma number. ACCOUNT tokens will also need to provide `sourceId` when identifying via this property.
sourceIdintegerSOURCE tokens are not required to supply a value here, if using a SOURCE token and a value is provided and it does not match the source ID of the token a `400` response code will be returned.
Only required when using a ACCOUNT token in conjunction with `rmaNumber`(not necessary to provide when using `rmaId`). If not provided when submitting with `rmaNumber` a `400` response code will be returned. If the `sourceId` cannot be found a `404` response code will be returned.
returnToAddressobjectrequiredRequest to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated based on the data available. (i.e. "FL" could be passed to "stateCode" to derive the "state" value "Florida" - also works in the opposite direction).
namestringIf `name` is provided and `firstName` and `lastName` are not provided, we will split this into a `firstName` and `lastName` fields
firstNamestringlastNamestringaddressLine1stringcitystringpostalstringPostal / Zip Code
addressLine2stringstatestringIf "state code" is provided, this field will automatically be populated for US States.
countrystringIf "country code" is populated, this will automatically be populated for most countries.
stateCodestringIf "state" is populated, this will automatically be populated for US States.
countryCodestringIf "country" is populated, this will automatically be populated for most countries. ISO 3166 format
emailstring (email)phonestringcompanyNamestringshipmentobjectrequirednotestringtrackingUrlstringan url to track current status of the shipment.
trackingNumberstringrequiredunique number identifying this package across a carrier.
carrierstringThe carrier responsible for delivering the shipment.
methodstringthe delivery method used to ship the package.
shippedAtstring (date-time)date-time at which this was shipped.
shippingCostnumberThe cost of delivering the items to the destination.
suppressedbooleanWhen true, the shipment information will **not** be synced back to the channel.
shipmentItemsarray[CreateShipmentItem]items in this shipment.
skustringSKU (usually the same as the SKU on the corresponding PO)
quantityintegerrequiredThe quantity of the item contained within the shipment
inventoryVariantIdinteger (int64)The ID of the inventory variant this item corresponds to
orderItemIdintegerThe ID of the order item this shipment item corresponds to
purchaseOrderItemIdintegerThe ID of the purchase order item this shipment item corresponds to
rmaItemIdintegerThe ID of the rma item this shipment item corresponds to
customFieldsarray[CreateShipmentCustomField]Custom fields in this shipment.
namestringvaluestringcustomFieldsarray[CreateShipmentCustomField]Custom fields in this shipment to save. Any Custom Field with an empty name or value will be ignored (won't be saved). Also, each Custom Field should have a unique name; duplicates will also be ignored.
namestringvaluestringattachmentsarray[CreateRmaShipmentAttachmentRequest]attachmentUrlstringrequiredattachmentTypestringrequiredallowed
packing_slipshipping_labelExample request
post
/rma-shipmentscurl -X POST "https://api.flxpoint.com/rma-shipments" \
-H "Accept: application/json" \
-H "X-API-TOKEN: YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"rmaId": 0,
"rmaNumber": "string",
"sourceId": 0,
"returnToAddress": {
"name": "Joe Smith",
"firstName": "Joe",
"lastName": "Smith",
"addressLine1": "1000 1st Lane",
"city": "Jacksonville",
"postal": "12345",
"addressLine2": "Suite 123",
"state": "Florida",
"country": "United States",
"stateCode": "FL",
"countryCode": "US",
"email": "person@example.com",
"phone": "1-555-123-4567",
"companyName": "string"
},
"shipment": {
"note": "string",
"trackingUrl": "string",
"trackingNumber": "string",
"carrier": "string",
"method": "string",
"shippedAt": "2026-04-20T00:00:00Z",
"shippingCost": 0,
"suppressed": true,
"shipmentItems": [
{
"sku": "string",
"quantity": 0,
"inventoryVariantId": 0,
"orderItemId": 0,
"purchaseOrderItemId": 0,
"rmaItemId": 0,
"customFields": [
null
]
}
],
"customFields": [
{
"name": "string",
"value": "string"
}
]
},
"attachments": [
{
"attachmentUrl": "string",
"attachmentType": "packing_slip"
}
]
}'Example body · application/json
{
"rmaId": 0,
"rmaNumber": "string",
"sourceId": 0,
"returnToAddress": {
"name": "Joe Smith",
"firstName": "Joe",
"lastName": "Smith",
"addressLine1": "1000 1st Lane",
"city": "Jacksonville",
"postal": "12345",
"addressLine2": "Suite 123",
"state": "Florida",
"country": "United States",
"stateCode": "FL",
"countryCode": "US",
"email": "person@example.com",
"phone": "1-555-123-4567",
"companyName": "string"
},
"shipment": {
"note": "string",
"trackingUrl": "string",
"trackingNumber": "string",
"carrier": "string",
"method": "string",
"shippedAt": "2026-04-20T00:00:00Z",
"shippingCost": 0,
"suppressed": true,
"shipmentItems": [
{
"sku": "string",
"quantity": 0,
"inventoryVariantId": 0,
"orderItemId": 0,
"purchaseOrderItemId": 0,
"rmaItemId": 0,
"customFields": [
null
]
}
],
"customFields": [
{
"name": "string",
"value": "string"
}
]
},
"attachments": [
{
"attachmentUrl": "string",
"attachmentType": "packing_slip"
}
]
}Responses
200OKapplication/json
idintegerrmaIdintegeraccountIdintegershipmentobjectidintegernotestringtrackingUrlstringtrackingNumberstringcarrierstringmethodstringshippedAtstring (date-time)insertedAtstring (date-time)shippingCostnumberorderIdintegerpurchaseOrderIdintegerfulfillmentRequestIdintegerrmaIdintegersourceIdintegeraccountIdintegerpartialbooleansuppressedbooleansyncedToChannelbooleansyncErrorstringcrossDockPurchaseOrderIdintegershipmentItemsarray[ShipmentItem]idintegerskustringquantityintegershipmentIdintegerinventoryVariantIdinteger (int64)partialbooleanorderItemIdintegerpurchaseOrderItemIdintegerthis field will soon be deprecated, please start using `fulfillmentRequestItemId` instead.
there are basically the same thing, just there has been a terminology change.
fulfillmentRequestItemIdintegercommittedStockReleasedQuantityintegerrmaItemIdintegercustomFieldsarray[ShipmentCustomField]idintegernamestringvaluestringcustomFieldsarray[ShipmentCustomField]idintegernamestringvaluestringupdatedAtstring (date-time)accountingSyncedbooleanshippingAddressobjectidintegernamestringField created real-time by concatenating "firstName" and "lastName"
addressLine1stringaddressLine2stringcitystringstatestringcountrystringstateCodestringcountryCodestringpostalstringPostal / Zip Code of address
emailstringphonestringFree form string field, format isn't enforced
companyNamestringfirstNamestringlastNamestringredactedbooleanRepresents if the address information was related to an Order with a PII (Personably Identifiable Information) retention policy attached. If the Order exceeds the PII retention period, this address will have information redacted.
hashstringRepresents a unique hash of this address.
attachmentsarray[RmaShipmentAttachment]idintegerrmaIdintegerrmaShipmentIdintegerattachmentTypestringattachmentUrlstringcreatedAtstring (date-time)sentAtstring (date-time)rmaShipmentStatusRmaShipmentStatusallowed
Shipment CreatedShipment SentShipment ReceivedShipment Partially ReceivedShipment VoidedExample response
{
"id": 0,
"rmaId": 0,
"accountId": 0,
"shipment": {
"id": 0,
"note": "string",
"trackingUrl": "string",
"trackingNumber": "string",
"carrier": "string",
"method": "string",
"shippedAt": "2026-04-20T00:00:00Z",
"insertedAt": "2026-04-20T00:00:00Z",
"shippingCost": 0,
"orderId": 0,
"purchaseOrderId": 0,
"fulfillmentRequestId": 0,
"rmaId": 0,
"sourceId": 0,
"accountId": 0,
"partial": true,
"suppressed": true,
"syncedToChannel": true,
"syncError": "string",
"crossDockPurchaseOrderId": 0,
"shipmentItems": [
{
"id": 0,
"sku": "string",
"quantity": 0,
"shipmentId": 0,
"inventoryVariantId": 0,
"partial": true,
"orderItemId": 0,
"purchaseOrderItemId": 0,
"fulfillmentRequestItemId": 0,
"committedStockReleasedQuantity": 0,
"rmaItemId": 0,
"customFields": [
null
]
}
],
"customFields": [
{
"id": 0,
"name": "string",
"value": "string"
}
],
"updatedAt": "2026-04-20T00:00:00Z",
"accountingSynced": true
},
"shippingAddress": {
"id": 0,
"name": "Joe Smith",
"addressLine1": "120 1st Lane",
"addressLine2": "Suite 123",
"city": "Jacksonville",
"state": "Florida",
"country": "United States",
"stateCode": "FL",
"countryCode": "US",
"postal": "12345",
"email": "person@example.com",
"phone": "1-555-123-4567",
"companyName": "string",
"firstName": "Joe",
"lastName": "Smith",
"redacted": true,
"hash": "string"
},
"attachments": [
{
"id": 0,
"rmaId": 0,
"rmaShipmentId": 0,
"attachmentType": "string",
"attachmentUrl": "string"
}
],
"createdAt": "2026-04-20T00:00:00Z",
"sentAt": "2026-04-20T00:00:00Z",
"rmaShipmentStatus": "Shipment Created"
}400Bad Request
No schema documented for this status.
401Unauthorized
No schema documented for this status.
OpenAPI fragment
{
"post": {
"summary": "Create RMA Shipment",
"description": "Creates a RMA Shipment",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateRmaShipmentRequest"
},
"examples": {
"example-1 (Create Rma Shipment by providing RMA Number)": {
"value": {
"rmaNumber": "string",
"sourceId": 0,
"returnToAddress": {
"name": "Joe Smith",
"firstName": "Joe",
"lastName": "Smith",
"addressLine1": "1000 1st Lane",
"city": "Jacksonville",
"postal": "12345",
"addressLine2": "Suite 123",
"state": "Florida",
"country": "United States",
"stateCode": "FL",
"countryCode": "US",
"email": "person@example.com",
"phone": "1-555-123-4567",
"companyName": "string"
},
"shipment": {
"note": "string",
"trackingUrl": "string",
"trackingNumber": "string",
"carrier": "string",
"method": "string",
"shippedAt": "2019-08-24T14:15:22Z",
"shippingCost": 0,
"suppressed": false,
"shipmentItems": [
{
"sku": "string",
"quantity": 0,
"inventoryVariantId": 0,
"orderItemId": 0,
"purchaseOrderItemId": 0,
"rmaItemId": 0
}
]
},
"attachments": [
{
"attachmentUrl": "string",
"attachmentType": "packing_slip"
}
]
}
},
"example-2 (Create Rma Shipment by providing RMA Id)": {
"value": {
"rmaId": 0,
"returnToAddress": {
"name": "Joe Smith",
"firstName": "Joe",
"lastName": "Smith",
"addressLine1": "1000 1st Lane",
"city": "Jacksonville",
"postal": "12345",
"addressLine2": "Suite 123",
"state": "Florida",
"country": "United States",
"stateCode": "FL",
"countryCode": "US",
"email": "person@example.com",
"phone": "1-555-123-4567",
"companyName": "string"
},
"shipment": {
"note": "string",
"trackingUrl": "string",
"trackingNumber": "string",
"carrier": "string",
"method": "string",
"shippedAt": "2019-08-24T14:15:22Z",
"shippingCost": 0,
"suppressed": false,
"shipmentItems": [
{
"sku": "string",
"quantity": 0,
"inventoryVariantId": 0,
"orderItemId": 0,
"purchaseOrderItemId": 0,
"rmaItemId": 0
}
]
},
"attachments": [
{
"attachmentUrl": "string",
"attachmentType": "packing_slip"
}
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RmaShipment"
}
}
}
},
"400": {
"description": "Bad Request"
},
"401": {
"description": "Unauthorized"
}
}
}
}Ready to run it? Send the curl from your terminal or Postman, or use the interactive tester in Stoplight.Open in Stoplight