How to fill out a shipment report, train
Interface description
The services are made available as REST services over HTTPS, with data in JSON format.
POST https://<env>/api/movement/rail/v1/transport
POST https://<env>/api/movement/rail/v1/master-consignment
POST https://<env>/api/movement/rail/v1/house-consignment
PUT/DELETE https://<env>/api/movement/rail/v1/transport/{MRN}
PUT/DELETE https://<env>/api/movement/rail/v1/master-consignment/{MRN}
PUT/DELETE https://<env>/api/movement/rail/v1/house-consignment/{MRN}
GET https://<env>/api/movement/rail/status/v1/transport/validation-status/{requestId}
GET https://<env>/api/movement/rail/status/v1/master-consignment/validation-status/{requestId}
GET https://<env>/api/movement/rail/status/v1/house-consignment/validation-status/{requestId}
where
-
<env> is replaced with
- api.toll.no for production
- api-test.toll.no for playground (testing environment)
- {requestId} is replaced with the reference returned by POST/PUT/DELETE calls
- {MRN} is replaced with the reference returned from ".../validation-status..." endpoints.
If you discover security issues in our solutions, please contact us; see here for info
API Services
API: movement-rail-api
To use the service, the scope for authentication against Maskinporten must be set to toll:movement/rail
API: movement-rail-query-api
To use the service, the scope for authentication against Maskinporten must be set to toll:movement/rail
API: movement-presentation-api
API: movement-routing-api
IMMEDIATE_RELEASE_IMPORT (Transition to free circulation at border crossing)
|
Description of customs procedure and procedure up to the border |
A declaration for transition to free disposal has been submitted in advance. Another customs authority has cleared the previous procedure |
A declaration for transition to free disposal has been submitted in advance. Transit is the previous procedure and must be completed at the border crossing. |
||
| Field | Code list | Variant 1 | Variant 4 | |
|---|---|---|---|---|
|
importProcedure |
must be filled out |
must be filled out |
||
|
importProcedure |
IMMEDIATE_RELEASE_IMPORT |
IMMEDIATE_RELEASE_IMPORT |
||
|
outgoingProcedure |
- |
TRA |
||
|
hasOutgoingProcedure |
- |
false |
true |
|
|
previousDocuments |
list must have one entry of type: |
list must have one entry of type: |
AND list must have one entry of type: |
|
|
referenceNumber |
- |
- |
- |
<must have value> |
|
typeOfReference |
must be = CUDE |
must be = CUDE |
must be = N820 |
|
|
declarantNumber |
- |
<must have value> |
<must have value> |
- |
|
declarationDate |
- |
<must have value> |
<must have value> |
- |
|
sequenceNumber |
- |
<must have value> |
<must have value> |
- |
|
exportFromEU |
- |
- |
||
|
exportId |
- |
- |
||
|
typeOfExport |
- |
- |
||
|
Possible validation messages if the information is not complete. We assume that the missing information is submitted no later than upon arrival at the border. |
INCOMPLETE_CUDE_DOCUMENTATION |
INCOMPLETE_CUDE_DOCUMENTATION INCOMPLETE_TRA_DOCUMENTATION |
||
TRANSIT_IMPORT / TRANSIT_RELEASE
(Transit to be completed at unloading/transit to be started at the border)
|
Description of customs procedure and procedure up to the border |
Transit has started in another country. Completion of the transit must be performed by authorized consignee on arrival at destination. |
|
| Field | Code list | Variant 5 |
|---|---|---|
|
importProcedure |
must be filled out |
|
|
importProcedure |
TRANSIT_IMPORT |
|
|
outgoingProcedure |
TRA |
|
|
hasOutgoingProcedure |
- |
true |
|
previousDocuments |
list must have one entry of type: |
|
|
referenceNumber |
- |
<must have value> |
|
typeOfReference |
must be = N820 |
|
|
declarantNumber |
- |
- |
|
declarationDate |
- |
- |
|
sequenceNumber |
- |
- |
|
exportFromEU |
- |
|
|
exportId |
- |
|
|
typeOfExport |
- |
|
|
Possible validation messages if the information is not complete. We assume that the missing information is submitted no later than upon arrival at the border. |
INCOMPLETE_TRA_DOCUMENTATION |
|
IMMEDIATE_RELEASE_VOEC (VOEC shipments released at border crossing)
|
Description of customs procedure and procedure up to the border |
VOEC shipments. Another customs authority has cleared the previous procedure, or value below the threshold for export requirements. |
VOEC shipment. Transit is the previous procedure and must be completed at border crossing. |
|
| Field | Code list | Variant 7 | Variant 10 |
|---|---|---|---|
|
importProcedure |
must be filled out |
must be filled out |
|
|
importProcedure |
IMMEDIATE_RELEASE_VOEC |
IMMEDIATE_RELEASE_VOEC |
|
|
outgoingProcedure |
- |
TRA |
|
|
hasOutgoingProcedure |
- |
false |
true |
|
previousDocuments |
- |
list must have one entry of type: |
|
|
referenceNumber |
- |
- |
<must have value> |
|
typeOfReference |
- |
must be = N820 |
|
|
declarantNumber |
- |
- |
- |
|
declarationDate |
- |
- |
- |
|
sequenceNumber |
- |
- |
- |
|
exportFromEU |
- |
- |
|
|
exportId |
- |
- |
- |
|
typeOfExport |
- |
- |
|
|
goodsItem |
- |
must be filled out |
must be filled out |
|
itemAmountInvoicedVOEC |
- |
must be filled out |
must be filled out |
|
value |
- |
<must have value> |
<must have value> |
|
numberOfItems |
- |
<must have value> |
<must have value> |
|
commodityCodeVOEC |
- |
must be filled out |
must be filled out |
|
harmonizedSystemSubheadingCode |
- |
<must have value> |
<must have value> |
|
additionalFiscalReferences |
- |
must be filled out |
must be filled out |
|
vatIdentificationNumber |
- |
<must have value> |
<must have value> |
|
Possible validation messages if the information is not complete. We assume that the missing information is submitted no later than at the border crossing. |
INCOMPLETE_VOEC_DOCUMENTATION |
INCOMPLETE_VOEC_DOCUMENTATION INCOMPLETE_TRA_DOCUMENTATION |
|
WAREHOUSE_RELEASE (Entry into customs warehouse)
Note: This code is to be used before a border
crossing customs warehouse entry declaration has been
submitted.
Until 01.09.2026 it can also be used for goods that are driven directly.
|
Description of customs procedure and procedure up to the border |
A declaration for entry into the customs warehouse has been submitted in advance. Transit is the preceding procedure and must be completed at border crossing. |
||
| Field | Code list | Variant 11 | |
|---|---|---|---|
|
importProcedure |
must be filled out |
||
|
importProcedure |
WAREHOUSE_RELEASE |
||
|
outgoingProcedure |
TRA |
||
|
hasOutgoingProcedure |
- |
true |
|
|
previousDocuments |
list must have one entry of type: |
AND list must have one entry of type: |
|
|
referenceNumber |
- |
- |
<must have value> |
|
typeOfReference |
must be = CUDE |
must be = N820 |
|
|
declarantNumber |
- |
<must have value> |
- |
|
declarationDate |
- |
<must have value> |
- |
|
sequenceNumber |
- |
<must have value> |
- |
|
exportFromEU |
- |
||
|
exportId |
- |
- |
|
|
typeOfExport |
- |
||
|
Possible validation messages if the information is not complete. We assume that the missing information is submitted no later than upon arrival at the border. |
INCOMPLETE_CUDE_DOCUMENTATION INCOMPLETE_TRA_DOCUMENTATION |
||
COLLECTIVE_RELEASE (Goods to be cleared collectively)
|
Description of customs procedure and procedure up to the border |
Shipment to be collectively cleared after border crossing. Another customs authority has cleared the previous procedure (e.g., Danish customs before the ferry to Larvik) |
|
| Field | Code list | Variant 15 |
|---|---|---|
|
importProcedure |
must be filled out |
|
|
importProcedure |
COLLECTIVE_RELEASE |
|
|
outgoingProcedure |
- |
|
|
hasOutgoingProcedure |
- |
false |
|
previousDocuments |
- |
|
|
referenceNumber |
- |
- |
|
typeOfReference |
- |
|
|
declarantNumber |
- |
- |
|
declarationDate |
- |
- |
|
sequenceNumber |
- |
- |
|
exportFromEU |
- |
|
|
exportId |
- |
- |
|
typeOfExport |
- |
|
|
Possible validation messages if the information is not complete. We assume that the missing information is submitted no later than upon arrival at the border. |
||
DOCUMENTS_NOT_OBLIGED_RELEASE
|
Description of customs procedure and procedure up to the border |
Shipments that are not subject to declaration obligation under ยง 4-1-29 of the Goods Traffic Regulations. Transit is the preceding procedure and must be completed at the border crossing. |
|
| Field | Code list | Variant 17 |
|---|---|---|
|
importProcedure |
must be filled out |
|
|
importProcedure |
DOCUMENTS_NOT_OBLIGED_RELEASE |
|
|
outgoingProcedure |
TRA |
|
|
hasOutgoingProcedure |
- |
true |
|
previousDocuments |
list must have one entry of type: |
|
|
referenceNumber |
- |
<must have value> |
|
typeOfReference |
must be = N820 |
|
|
declarantNumber |
- |
- |
|
declarationDate |
- |
- |
|
sequenceNumber |
- |
- |
|
exportFromEU |
- |
|
|
exportId |
- |
- |
|
typeOfExport |
- |
|
|
Possible validation messages if the information is not complete. We assume that the missing information is submitted no later than upon arrival at the border. |
INCOMPLETE_TRA_DOCUMENTATION |
|
ATA_CARNET / TIR_CARNET
|
Description of customs procedure and procedure up to the border |
ATA-Carnet |
TIR-Carnet |
|
| Field | Code List | Variant 27 | Variant 28 |
|---|---|---|---|
|
importProcedure |
must be filled out |
must be filled out |
|
|
importProcedure |
ATA_CARNET |
TIR_CARNET |
|
|
outgoingProcedure |
- |
- |
|
|
hasOutgoingProcedure |
- |
false |
false |
|
previousDocuments |
AND list must have one entry of type: |
AND list must have one entry of type: |
|
|
referenceNumber |
- |
<must have value> |
<must have value> |
|
typeOfReference |
must be = N955 |
must be = N952 |
|
|
declarantNumber |
- |
- |
- |
|
declarationDate |
- |
- |
- |
|
sequenceNumber |
- |
- |
- |
|
exportFromEU |
- |
- |
|
|
exportId |
- |
- |
|
|
typeOfExport |
- |
- |
|
|
Possible validation messages if the information is not complete. We assume that the missing information is submitted no later than upon arrival at the border. |
INCOMPLETE_DOCUMENTATION |
INCOMPLETE_DOCUMENTATION |
|
CUSTOMS_DECLARATION (Customs Declaration)
|
Description of customs procedure and procedure up to the border |
Shipment with reference to Tvinn declaration. Can be used regardless of whether the declaration is release for free circulation or entry into customs warehouse (Measure 7) No preceding procedure |
Shipment with reference to Tvinn declaration. Can be used regardless of whether the declaration is release for free circulation or entry into customs warehouse (Measure 7) Export is the preceding procedure and shall be cleared at border crossing. |
Shipment with reference to Tvinn declaration. Can be used regardless of whether the declaration is release for free circulation or entry into customs warehouse (Measure 7) Transit is the preceding procedure and shall be concluded at border crossing. |
Shipment with reference to Tvinn declaration. Can be used regardless of whether the declaration is release for free circulation or entry into customs warehouse (Measure 7) Transit and export are preceding procedures and shall be concluded at border crossing. |
|||
| Field | Code list | Variant 30 | Variant 31 | Variant 32 | Variant 33 | ||
|---|---|---|---|---|---|---|---|
|
importProcedure |
must be filled in |
must be filled in |
must be filled in |
must be filled in |
|||
|
importProcedure |
CUSTOMS_DECLARATION |
CUSTOMS_DECLARATION |
CUSTOMS_DECLARATION |
CUSTOMS_DECLARATION |
|||
|
outgoingProcedure |
- |
EXP |
TRA |
TRE |
|||
|
hasOutgoingProcedure |
- |
false |
true |
true |
true |
||
|
previousDocuments |
list must have one entry of type: |
list must have one entry of type: |
list must have one entry of type: |
AND list must have one entry of type: |
list must have one entry of type: |
AND list must have one entry of type: |
|
|
referenceNumber |
- |
- |
- |
- |
<must have value> |
- |
<must have value> |
|
typeOfReference |
must be = CUDE |
must be = CUDE |
must be = CUDE |
must be = N820 |
must be = CUDE |
must be = N820 |
|
|
declarantNumber |
- |
<must have value> |
<must have value> |
<must have value> |
- |
<must have value> |
- |
|
declarationDate |
- |
<must have value> |
<must have value> |
<must have value> |
- |
<must have value> |
- |
|
sequenceNumber |
- |
<must have value> |
<must have value> |
<must have value> |
- |
<must have value> |
- |
|
exportFromEU |
- |
list must have AT LEAST one entry of type: |
- |
list must have AT LEAST one entry of type: |
|||
|
exportId |
- |
- |
<must have value> |
- |
<must have value> |
||
|
typeOfExport |
- |
must be one of [AES_EXPORT, EUEIR_EXPORT] |
- |
must be one of [AES_EXPORT, EUEIR_EXPORT] |
|||
|
Possible validation messages if the information is incomplete. We assume that the missing information will be submitted at the latest upon arrival at the border. |
INCOMPLETE_CUDE_DOCUMENTATION |
INCOMPLETE_CUDE_DOCUMENTATION |
INCOMPLETE_CUDE_DOCUMENTATION |
INCOMPLETE_CUDE_DOCUMENTATION INCOMPLETE_EXP_DOCUMENTATION INCOMPLETE_TRA_DOCUMENTATION |
|||