Passport
Below is a full example of the JSON passport for the OceanOps push API. It is based on the schema: https://www.ocean-ops.org/passports/examples/a-passport-input.schema.json
{
"meta": {
"schemaVersion": "1.0",
"sourceText": "Manual submission from operator logbook",
"ingestionMethodId": 2,
"contactId": 12345,
"observedAt": "2026-03-27T10:15:30Z"
},
"options": {
"mode": "UPSERT",
"dryRun": false,
"createIfMissing": {
"platform": true,
"sensorSetups": true
}
},
"platform": {
"match": {
"wigosId": "0-20000-0-12345"
},
"patch": {
"name": "North Sea Buoy Alpha",
"comments": "Updated deployment and sensor configuration",
"deployment": {
"date": "2026-03-20T08:00:00Z",
"latitude": 51.23,
"longitude": 2.93,
"method": {
"code": "MOORING"
},
"maxWaterDepth": 45.5,
"elevation": -5.0,
"ship": {
"imoNumber": "IMO1234567"
}
},
"retrieval": {
"startDate": "2026-09-01T00:00:00Z",
"endDate": "2026-09-10T00:00:00Z",
"latitude": 51.25,
"longitude": 2.95,
"ship": {
"ovhId": "OVH-98765"
},
"endingCause": {
"code": "MISSION_COMPLETE"
}
}
}
},
"sensorSetups": [
{
"match": {},
"data": {
"create": {
"variable": {
"code": "TEMP"
},
"sensorModel": {
"name": "Sea-Bird SBE37"
},
"placement": {},
"sensor": {},
"lifecycle": {},
"comments": "Temperature sensor mounted at 5m depth"
}
}
},
{
"match": {},
"data": {
"create": {
"variable": {
"id": 2001
},
"sensorModel": {
"code": "AANDERAA_OXYGEN"
},
"placement": {},
"sensor": {},
"lifecycle": {},
"comments": "Dissolved oxygen sensor"
}
}
}
],
"contactContributions": [
{
"contactId": 12345,
"roles": ["OPERATOR", "DATA_MANAGER"]
},
{
"contactId": 67890,
"roles": ["PRINCIPAL_INVESTIGATOR"]
}
],
"agencyContributions": [
{
"agencyId": 555,
"roles": ["OWNER"]
},
{
"agencyId": 777,
"roles": ["FUNDER"]
}
]
}