You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ovs_hub_ter/v1/OVS_HUB_TER_v1.0.0.yaml
+84-84Lines changed: 84 additions & 84 deletions
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ info:
5
5
description: |
6
6
<h1>DCSA OpenAPI specification for Terminal Data upload for OVS Hub (Operational Vessel Schedule Hub)</h1>
7
7
8
-
This API is intended as an API between a terminal and OVS Hub (Operational Vessel Schedule Hub). The purpose of the API is for terminals to be able to provide `ETA`/`ETD`/`ATA` and `ATD` timestamps near-to-realtime to OVS Hub.
8
+
This API is intended as an API between a terminal and OVS Hub (Operational Vessel Schedule Hub). The purpose of the API is for terminals to be able to provide `ETA`/`ETD`/`ATA` and `ATD` timestamps near real-time to OVS Hub.
9
9
10
10
### API Design & Implementation Principles
11
11
This API follows the guidelines defined in version 2.0 of the API Design & Implementation Principles which can be found on the [DCSA Developer Portal](https://developer.dcsa.org/api_design)
@@ -23,9 +23,9 @@ info:
23
23
email: info@dcsa.org
24
24
tags:
25
25
- name: Terminal Timestamp
26
-
description: Terminal Timestamp endPoint for providing near realtime `ETA`/`ETD`/`ATA` and `ATD` data
26
+
description: Terminal Timestamp endpoint for providing near realtime `ETA`/`ETD`/`ATA` and `ATD` data
27
27
- name: Terminal Schedules
28
-
description: Terminal Schedules endPoint for fetching `ETA`/`ETD`/`ATA` and `ATD` data for Services
28
+
description: Terminal Schedules endpoint for fetching `ETA`/`ETD`/`ATA` and `ATD` data for Services
29
29
paths:
30
30
/v1/terminal-timestamps:
31
31
post:
@@ -49,7 +49,7 @@ paths:
49
49
summary: |
50
50
Send an `ETA` timestamp not using `transportCallReference`
51
51
description: |
52
-
Send an `ETA` timestamp for the Vessel: `Jacques Saadé` arriving at `Amsterdam Port` on the 18 of August 2025 at 18.00 Amsterdam time. This example does not include a `transportCallReference`.
52
+
Send an `ETA` timestamp for the Vessel: `Jacques Saadé` arriving at `Amsterdam Port` on the 18th of August 2025 at 18.00 Amsterdam time. This example does not include a `transportCallReference`.
53
53
value:
54
54
carrierServiceName: 'French Asia Line 3'
55
55
carrierServiceCode: 'AEU6'
@@ -175,10 +175,10 @@ paths:
175
175
summary: |
176
176
Sending too many timestamps
177
177
description: |
178
-
Calling the endPoint
178
+
Calling the endpoint
179
179
180
180
POST /v1/terminal-timestamps
181
-
181
+
182
182
too many times within a time period results in an error.
183
183
184
184
**NB**: The `errorCode` is not yet standardized by DCSA. The value `7003` is just a "random example".
@@ -187,7 +187,7 @@ paths:
187
187
requestUri: /v1/terminal-timestamps
188
188
statusCode: 429
189
189
statusCodeText: Too Many Requests
190
-
statusCodeMessage: Too many Timestamps has been sent. Please try again in 1 hour
190
+
statusCodeMessage: Too many Timestamps have been sent. Please try again in 1 hour
The carrier specific service code to filter by. The result will only return schedules including the service code.
211
-
schema:
212
-
type: string
213
-
maxLength: 11
214
-
example: FE1
215
-
- name: universalServiceReference
216
-
in: query
217
-
description: |
218
-
The Universal Service Reference (USR) as defined by DCSA to filter by.
219
-
schema:
220
-
type: string
221
-
pattern: ^SR\d{5}[A-Z]$
222
-
maxLength: 8
223
-
minLength: 8
224
-
example: SR12345A
225
-
- name: startDate
226
-
in: query
227
-
description: |
228
-
The start date of the period for which schedule information is requested. If a date of any Timestamp (ATA, ETA or PTA) inside a Schedule matches a date on or after (≥) the `startDate` the entire Voyage (import- and export-Voyage) matching the PortCall will be included in the result. All matching is done towards local Date at the place of the port call.
229
-
If this filter is not provided, the default value is **3 months** prior to the request time.
230
-
schema:
231
-
type: string
232
-
format: date
233
-
example: 2020-04-06
234
-
- name: endDate
235
-
in: query
236
-
description: |
237
-
The end date of the period for which schedule information is requested. If a date of any Timestamp (ATA, ETA or PTA) inside a Schedule matches a date on or before (≤) the `endDate` the entire Voyage(import- and export-Voyage) matching the PortCall will be included in the result. All matching is done towards local Date at the place of the port call.
238
-
If this filter is not provided, the default value is **6 months** after the request time.
239
-
schema:
240
-
type: string
241
-
format: date
242
-
example: 2020-04-10
243
-
- name: limit
244
-
in: query
245
-
description: |
246
-
Specifies the maximum number of `Terminal Schedule` objects to return.
247
-
schema:
248
-
type: integer
249
-
format: int32
250
-
minimum: 0
251
-
default: 100
252
-
example: 100
253
-
- name: cursor
254
-
in: query
255
-
description: |
256
-
A server generated value to specify a specific point in a collection result, used for pagination.
257
-
schema:
258
-
type: string
259
-
maxLength: 1024
260
-
example: fE9mZnNldHw9MTAmbGltaXQ9MTA
207
+
- name: carrierServiceCode
208
+
in: query
209
+
description: |
210
+
The carrier specific service code to filter by. The result will only return schedules including the service code.
211
+
schema:
212
+
type: string
213
+
maxLength: 11
214
+
example: FE1
215
+
- name: universalServiceReference
216
+
in: query
217
+
description: |
218
+
The Universal Service Reference (USR) as defined by DCSA to filter by.
219
+
schema:
220
+
type: string
221
+
pattern: ^SR\d{5}[A-Z]$
222
+
maxLength: 8
223
+
minLength: 8
224
+
example: SR12345A
225
+
- name: startDate
226
+
in: query
227
+
description: |
228
+
The start date of the period for which schedule information is requested. If a date of any Timestamp (ATA, ETA or PTA) inside a Schedule matches a date on or after (≥) the `startDate` the entire Voyage (import- and export-Voyage) matching the PortCall will be included in the result. All matching is done towards local Date at the place of the port call.
229
+
If this filter is not provided, the default value is **3 months** prior to the request time.
230
+
schema:
231
+
type: string
232
+
format: date
233
+
example: 2020-04-06
234
+
- name: endDate
235
+
in: query
236
+
description: |
237
+
The end date of the period for which schedule information is requested. If a date of any Timestamp (ATA, ETA or PTA) inside a Schedule matches a date on or before (≤) the `endDate` the entire Voyage(import- and export-Voyage) matching the PortCall will be included in the result. All matching is done towards local Date at the place of the port call.
238
+
If this filter is not provided, the default value is **6 months** after the request time.
239
+
schema:
240
+
type: string
241
+
format: date
242
+
example: 2020-04-10
243
+
- name: limit
244
+
in: query
245
+
description: |
246
+
Specifies the maximum number of `Terminal Schedule` objects to return.
247
+
schema:
248
+
type: integer
249
+
format: int32
250
+
minimum: 0
251
+
default: 100
252
+
example: 100
253
+
- name: cursor
254
+
in: query
255
+
description: |
256
+
A server generated value to specify a specific point in a collection result, used for pagination.
257
+
schema:
258
+
type: string
259
+
maxLength: 1024
260
+
example: fE9mZnNldHw9MTAmbGltaXQ9MTA
261
261
responses:
262
262
'200':
263
263
description: OK
@@ -379,9 +379,9 @@ components:
379
379
items:
380
380
$ref: '#/components/schemas/VesselSchedule'
381
381
required:
382
-
- carrierServiceName
383
-
- carrierServiceCode
384
-
- vesselSchedules
382
+
- carrierServiceName
383
+
- carrierServiceCode
384
+
- vesselSchedules
385
385
386
386
VesselSchedule:
387
387
title: Vessel Schedule
@@ -427,7 +427,7 @@ components:
427
427
maxLength: 10
428
428
pattern: ^\S(?:.*\S)?$
429
429
description: |
430
-
A unique alphanumeric identity that belongs to the vessel and is assigned by the International Telecommunication Union (ITU). It consists of a threeletter alphanumeric prefix that indicates nationality, followed by one to four characters to identify the individual vessel. For instance, vessels registered under Denmark are assigned the prefix ranges 5PA-5QZ, OUAOZZ, and XPA-XPZ. The Call Sign changes whenever a vessel changes its flag.
430
+
A unique alphanumeric identity that belongs to the vessel and is assigned by the International Telecommunication Union (ITU). It consists of a three letter alphanumeric prefix that indicates nationality, followed by one to four characters to identify the individual vessel. For instance, vessels registered under Denmark are assigned the prefix ranges 5PA-5QZ, OUAOZZ, and XPA-XPZ. The Call Sign changes whenever a vessel changes its flag.
431
431
example: NCVV
432
432
transportCalls:
433
433
type: array
@@ -437,8 +437,8 @@ components:
437
437
items:
438
438
$ref: '#/components/schemas/TransportCall'
439
439
required:
440
-
- vesselOperatorSMDGLinerCode
441
-
- transportCalls
440
+
- vesselOperatorSMDGLinerCode
441
+
- transportCalls
442
442
443
443
TransportCall:
444
444
title: Transport Call
@@ -495,8 +495,8 @@ components:
495
495
- `1 character` for the direction/haul (`N`orth, `E`ast, `W`est, `S`outh or `R`oundtrip)
496
496
example: 2103N
497
497
location:
498
-
type: object
499
-
title: 'Location'
498
+
type: object
499
+
title: 'Location'
500
500
description: |
501
501
An object to capture the location of the timestamp(s).
502
502
@@ -545,9 +545,9 @@ components:
545
545
items:
546
546
$ref: '#/components/schemas/Timestamp'
547
547
required:
548
-
- carrierImportVoyageNumber
549
-
- transportCallReference
550
-
- timestamps
548
+
- carrierImportVoyageNumber
549
+
- transportCallReference
550
+
- timestamps
551
551
552
552
Timestamp:
553
553
title: Timestamp
@@ -595,10 +595,10 @@ components:
595
595
The UTC date and time, when the **Vessel** of a **Port Call** is estimated or has happened.
596
596
example: '2025-08-18T17:41:00+08:30'
597
597
required:
598
-
- typeCode
599
-
- classifierCode
600
-
- positionCode
601
-
- dateTime
598
+
- typeCode
599
+
- classifierCode
600
+
- positionCode
601
+
- dateTime
602
602
603
603
TerminalTimestamp:
604
604
title: Terminal Timestamp
@@ -717,8 +717,8 @@ components:
717
717
maxLength: 5
718
718
pattern: ^\d{2}[0-9A-Z]{2}[NEWSR]$
719
719
description: |
720
-
A global unique voyage reference for the import Voyage, as per DCSA standard, agreed by VSA partners for the voyage.The voyage reference must match the regular expression pattern: `\d{2}[0-9A-Z]{2}[NEWSR]`
721
-
720
+
A global unique voyage reference for the import Voyage, as per DCSA standard, agreed by VSA partners for the voyage.The voyage reference must match the regular expression pattern: `\d{2}[0-9A-Z]{2}[NEWSR]`
721
+
722
722
- `2 digits` for the year
723
723
- `2 alphanumeric characters` for the sequence number of the voyage
724
724
- `1 character` for the direction/haul (`N`orth, `E`ast, `W`est, `S`outh or `R`oundtrip).
@@ -729,13 +729,13 @@ components:
729
729
maxLength: 5
730
730
pattern: ^\d{2}[0-9A-Z]{2}[NEWSR]$
731
731
description: |
732
-
A global unique voyage reference for the export Voyage, as per DCSA standard, agreed by VSA partners for the voyage.The voyage reference must match the regular expression pattern: `\d{2}[0-9A-Z]{2}[NEWSR]`
733
-
732
+
A global unique voyage reference for the export Voyage, as per DCSA standard, agreed by VSA partners for the voyage.The voyage reference must match the regular expression pattern: `\d{2}[0-9A-Z]{2}[NEWSR]`
733
+
734
734
- `2 digits` for the year
735
735
- `2 alphanumeric characters` for the sequence number of the voyage
736
736
- `1 character` for the direction/haul (`N`orth, `E`ast, `W`est, `S`outh or `R`oundtrip).
737
737
example: 2103N
738
-
738
+
739
739
UNLocationCode:
740
740
type: string
741
741
minLength: 5
@@ -911,7 +911,7 @@ components:
911
911
type: string
912
912
maxLength: 500
913
913
description: |
914
-
A path to the property causing the error, formatted according to [JSONpath](https://github.com/json-path/JsonPath).
914
+
A path to the property causing the error, formatted according to [JSONPath](https://github.com/json-path/JsonPath).
0 commit comments