For the complete documentation index, see llms.txt. This page is also available as Markdown.
Move Flow
This document describes the endpoints required to manage both the billing and delivery address changes a.k.a. Moves.
Integration
Call Get Availabilityendpoint providing subscription id and allowDigitalSubscriptions in true to check if the change address is allowed to the subscriber. If so, it will return the dates to fill the calendar
Get StatesandGet Locationsare useful to populate forms. The first one returns a list of states for a country code. The other, providing a postal code, it will return the city and the state
As said in point before, calling Get Availabilityendpoint you will get the dates to display the stop calendar. If the flow involves Change Delivery Address, once you select the stop date you will be required to select a resume delivery date. For this, you can use the same resume dates provided with the previous call or you can call it again passing Stop Date as parameter to get the refreshed dates.
To Process a new move, select the proper stop date (and resume date if applicable) and a valid address is required. The same for updating a pending move. To cancel a move, only a confirmation is required.
Header parameters
API needs to receive five header parameters to operate:
X-MediaGroupCode, X-Clientcode, X-PaperCode: Three parameters used by the API to identify the tenant to use
X-SourceSystem: String used to identify who the consumer is
Authorization: JSON web token used for security purposes
Get Subscription by Id
GET/Subscriptions/{subscriptionId}
Retrieves a subscription
Path Parameters
Name
Type
Description
SubscriptionId*
Integer
Unique identifier of the Subscription in Naviga System.
Headers
Name
Type
Description
Authorization*
String
X-SourceSystem*
String
X-MediaGroupCode*
String
X-ClientCode*
String
X-PaperCode*
String
Get Address Information by Subscription
GET/Address/{SubscriptionId}
Retrieves both billing and delivery information for a specific subscription
Path Parameters
Name
Type
Description
SubscriptionId*
Integer
Unique identifier of the Subscription in Naviga System
Headers
Name
Type
Description
Authorization*
String
X-SourceSystem*
String
X-MediaGroupCode*
String
X-ClientCode*
String
X-PaperCode*
String
Get Moves by Subscription
GET/Moves?SubscriptionId={subscriptionId}
Retrieves the moves for a subscription
Query Parameters
Name
Type
Description
SubscriptionId*
String
Unique identifier of the Subscription in Naviga System
Headers
Name
Type
Description
Authorization*
String
X-SourceSystem*
String
X-MediaGroupCode*
String
X-ClientCode*
String
X-PaperCode*
String
Get Move by Id
GET/Moves/{MoveId}
Retrieves a specific move
Path Parameters
Name
Type
Description
MoveId*
Integer
Unique identifier of a move.
Headers
Name
Type
Description
Authorization*
String
X-SourceSystem*
String
X-MediaGroupCode*
String
X-ClientCode*
String
X-PaperCode*
String
Get States
GET/States/{CountryCode}
Retrieves a list of states for a specific country code
Path Parameters
Name
Type
Description
CountryCode*
String
Short code that represents a country.
Headers
Name
Type
Description
Authorization*
String
X-SourceSystem*
String
X-MediaGroupCode*
String
X-ClientCode*
String
X-PaperCode*
String
Get Locations
GET/Locations/{ZipCode}
Retrieves City and State for a specific postal code
Checks and returns the availability to do a move for a subscription. It will provide the dates allowed to change both billing and delivery address. For Change Delivery Address, call this endpoint with stop date
Path Parameters
Name
Type
Description
SubscriptionID*
String
Unique identifier of the Subscription in Naviga System
Query Parameters
Name
Type
Description
StopDate
Datetime
Represents the date when the delivery to the current address will be stopped. If provided it will retrieve the valid dates to restart the delivery
AllowDigitalSubscriptions*
Boolean
Indicates if the Digital Only subscriptions should be considered when checking the availability. This must be True
Headers
Name
Type
Description
Authorization*
String
X-SourceCode*
String
X-MediaGroupCode*
String
X-ClientCode*
String
X-Papercode*
String
Add Move
POST/Moves
Create a new move for a subscription. It could be for both billing and delivery addresses
Headers
Name
Type
Description
Authorization*
String
X-SourceSystem*
String
X-MediaGroupCode*
String
X-ClientCode*
String
X-PaperCode*
String
Request Body
Name
Type
Description
SubscriptionId*
Integer
Unique identifier of the Subscription in Naviga System
AddressChangeType*
Integer
Represents the type of movement
ValidateAddress*
Boolean
Indicate if address should be validated
StopDate*
Datetime
Date in UTC when the address is no longer valid
ResumeDate
Datetimr
Date in UTC when the delivery should be restarted. Required only for delivery address change
BillingAddress.Address*
String
New billing address
BillingAddress.City*
String
New billing city
BillingAddress.State*
String
New billing state
BillingAddress.PostalCodee*
String
New billing postal code
BillingAddress.FirstName*
String
New billing first name
BillingAddress.LastName*
String
New billing last name
BillingAddress.Phone*
String
New billing address phone
DeliveryAddress.Address*
String
New delivery address
DeliveryAddress.City*
String
New delivery city
DeliveryAddress.State*
String
New delivery state
DeliveryAddress.PostalCodee*
String
New delivery postal code
DeliveryAddress.FirstName*
String
New delivery first name
DeliveryAddress.LastName*
String
New delivery last name
DeliveryAddress.Phone*
String
New delivery phone
Update Move
PUT /Moves/{Id}
Updates a pending move for a subscription
Path Parameters
Name
Type
Description
*
Integer
Unique identifier of a move in Naviga System
Headers
Name
Type
Description
X-PaperCode*
String
X-MediaGroupCode*
String
X-SourceSystem*
String
Authorization*
String
X-ClientCode*
String
Request Body
Name
Type
Description
AddressChangeType*
Integer
Represents type of movement
ValidateAddress*
Boolean
Indicated if the address should be validated
StopDate*
Datetime
Date in UTC when the address is no longer valid
SubscriptionID*
Integer
Unique identifier of the Subscription in Naviga System
BillingAddress.City*
String
New billing city
BillingAddress.Address*
String
New billing address
ResumeDate
Datetime
Date in UTC when the delivery should be restarted. Required for delivery address updates
BillingAddress.State*
String
New billing state
BillingAddress.PostalCode*
String
New billing postal code
BillingAddress.FirstName*
String
New billing first name
BillingAddress.LastName*
String
New billing last name
BillingAddress.Phone*
String
New phone for billing address
Cancel Move
DELETE/Moves/{Id}
Deletes a pending move for a subscription. ID is a unique identifier of a move in Naviga System
{
"Code":200,
"Errors":[
{
"Message":"Could not find states for the given country code.",
"Code":"Address16",
"Type":{
"Id":1,
"Code":"NotProcessingAllowed"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{"error":"Authorization is missing."}
{"error":"X-SourceSystem is missing."}
{"error":"Invalid authorization."}
{"error":"Invalid Source System."}
{"error":"Something went wrong. Please try again later."}
{
"Code":200,
"Errors":[
{
"Message":"Could not find any location for the given zip code.",
"Code":"Address15",
"Type":{
"Id":1,
"Code":"NotProcessingAllowed"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{"error":"Authorization is missing."}
{"error":"X-SourceSystem is missing."}
{"error":"Invalid Source System."}
{"error":"Invalid authorization."}
{"error":"Something went wrong. Please try again later."}
{
"Code":200,
"Errors":[
{
"Message":"The subscription id is invalid. It cannot be null or 0",
"Code":"Subscriptions16",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":400,
"Errors":[
{
"Message":"The subscription does not have active products.",
"Code":"Gateway08",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":400,
"Errors":[
{
"Message":"Operation is not allowed because subscription has a permanent stop scheduled at a future date.",
"Code":"Gateway17",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"The subscription has a pending billing address move. Can't submit another one.",
"Code":"Address47",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Invalid or missing address information. Address, City, State and Postal Code are required.",
"Code":"Address19",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Subscription already submitted the maximum delivery address changes allowed for date.",
"Code":"Address08",
"Type":{
"Id":1,
"Code":"NotProcessingAllowed"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Subscription already submitted the maximum billing address changes allowed for date.",
"Code":"Address09",
"Type":{
"Id":1,
"Code":"NotProcessingAllowed"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Subscription already submitted the maximum address changes allowed for date for both addresses.",
"Code":"Address17",
"Type":{
"Id":1,
"Code":"NotProcessingAllowed"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Invalid or missing resume date. The resume date cannot be before than the stop date.",
"Code":"Address38",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"The effective date for the delivery address change conflicts with a vacation.",
"Code":"Address33",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Operation is not allowed because subscription has a permanent stop scheduled at a future date.",
"Code":"Address49",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Cannot place a move with pending upgrades or downgrades.",
"Code":"Address48",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"The effective date for the delivery address change conflicts with a vacation split.",
"Code":"Address50",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
"Code":200,
"Errors":[
{
"Message":"Can't modify a move that will take place today.",
"Code":"Address42",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"The subscription has a pending delivery address move. Can't submit another one.",
"Code":"Address46",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"The subscription has a pending billing address move. Can't submit another one.",
"Code":"Address47",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Invalid or missing address information. Address, City, State and Postal Code are required.",
"Code":"Address19",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Subscription already submitted the maximum delivery address changes allowed for date.",
"Code":"Address08",
"Type":{
"Id":1,
"Code":"NotProcessingAllowed"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Subscription already submitted the maximum billing address changes allowed for date.",
"Code":"Address09",
"Type":{
"Id":1,
"Code":"NotProcessingAllowed"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Subscription already submitted the maximum address changes allowed for date for both addresses.",
"Code":"Address17",
"Type":{
"Id":1,
"Code":"NotProcessingAllowed"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Invalid or missing resume date. The resume date cannot be before than the stop date.",
"Code":"Address38",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"The effective date for the delivery address change conflicts with a vacation.",
"Code":"Address33",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Operation is not allowed because subscription has a permanent stop scheduled at a future date.",
"Code":"Address49",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Cannot place a move with pending upgrades or downgrades.",
"Code":"Address48",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"The effective date for the delivery address change conflicts with a vacation split.",
"Code":"Address50",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"This move does not have any pending transaction.",
"Code":"Address45",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":200,
"Errors":[
{
"Message":"Can't cancel a move that will take place today or that already happened.",
"Code":"Address41",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}
{
"Code":400,
"Errors":[
{
"Message":"Operation is not allowed because subscription has a permanent stop scheduled at a future date.",
"Code":"Gateway17",
"Type":{
"Id":0,
"Code":"Validation"
},
"ErrorSource":null
}
],
"Result":null,
"SessionId":"string",
"RequestId":"string"
}