---
title: "POST /udl/vessel"
method: POST
path: "/udl/vessel"
tags: ["Vessel"]
---

# POST /udl/vessel

`POST /udl/vessel`

## Request

- Base URL: `https://unifieddatalibrary.com`
- URL: `https://unifieddatalibrary.com/udl/vessel`
- Auth: none declared

Service operation to take a single vessel record as a POST body and ingest into the database. A specific role is required to perform this service operation. Please contact the UDL team for assistance.

## Request body

- VesselIngest: This service provides operations for manipulation and querying of maritime Vessel data. Vessel contains the static data of the specific vessel: mmsi, cruise speed, max speed, etc.
  - `id` string: Unique identifier of the record, auto-generated by the system.
  - `classificationMarking` string, required: Classification marking of the data in IC/CAPCO Portion-marked format.
  - `entity` EntityIngest: An entity is a generic representation of any object within a space/SSA system such as sensors, on-orbit objects, RF Emitters, spacecraft buses, etc. An entity can have an operating unit, a location (if terrestrial), and statuses.
    - `idEntity` string: Unique identifier of the record.
    - `name` string, required: Unique entity name.
    - `classificationMarking` string, required: Classification marking of the data in IC/CAPCO Portion-marked format.
    - `type` 'AIRCRAFT' | 'BUS' | 'COMM' | 'IR' | 'LASEREMITTER' | 'NAVIGATION' | 'ONORBIT' | 'RFEMITTER' | 'SCIENTIFIC' | 'SENSOR' | 'SITE' | 'VESSEL', required: The type of entity represented by this record (AIRCRAFT, BUS, COMM, IR, LASEREMITTER, NAVIGATION, ONORBIT, RFEMITTER, SCIENTIFIC, SENSOR, SITE, VESSEL).
    - `idLocation` string: Unique identifier of the entity location, if terrestrial/fixed.
    - `countryCode` string: The country code. This value is typically the ISO 3166 Alpha-2 two-character country code, however it can also represent various consortiums that do not appear in the ISO document. The code must correspond to an existing country in the UDL’s country API. Call udl/country/{code} to get any associated FIPS code, ISO Alpha-3 code, or alternate code values that exist for the specified country code.
    - `ownerType` 'Commercial' | 'Government' | 'Academic' | 'Consortium' | 'Other': Type of organization which owns this entity (e.g. Commercial, Government, Academic, Consortium, etc).
    - `taskable` boolean: Boolean indicating if this entity is taskable.
    - `urls` string[]: List of URLs to additional details/documents for this entity.
    - `createdAt` string, date-time: Time the row was created in the database, auto-populated by the system.
    - `createdBy` string: Application user who created the row in the database, auto-populated by the system.
    - `source` string, required: Source of the data.
    - `origin` string: Originating system or organization which produced the data, if different from the source. The origin may be different than the source if the source was a mediating system which forwarded the data on behalf of the origin system. If null, the source may be assumed to be the origin.
    - `dataMode` 'REAL' | 'TEST' | 'SIMULATED' | 'EXERCISE', required: Indicator of whether the data is REAL, TEST, EXERCISE, or SIMULATED data: REAL: Data collected or produced that pertains to real-world objects, events, and analysis. TEST: Specific datasets used to evaluate compliance with specifications and requirements, and for validating technical, functional, and performance characteristics. EXERCISE: Data pertaining to a government or military exercise. The data may include both real and simulated data. SIMULATED: Synthetic data generated by a model to mimic real-world datasets.
    - `location` LocationIngest: Model representation of a location, which is a specific fixed point on the earth and is used to denote the locations of fixed sensors, operating units, etc.
      - `idLocation` string: Unique identifier of the location, auto-generated by the system.
      - `classificationMarking` string, required: Classification marking of the data in IC/CAPCO Portion-marked format.
      - `name` string, required: Location name.
      - `countryCode` string: The country code. This value is typically the ISO 3166 Alpha-2 two-character country code, however it can also represent various consortiums that do not appear in the ISO document. The code must correspond to an existing country in the UDL’s country API. Call udl/country/{code} to get any associated FIPS code, ISO Alpha-3 code, or alternate code values that exist for the specified country code.
      - `lat` number, double: WGS84 latitude of the location, in degrees. -90 to 90 degrees (negative values south of equator).
      - `lon` number, double: WGS84 longitude of the location, in degrees. -180 to 180 degrees (negative values west of Prime Meridian).
      - `altitude` number, double: Altitude of the location, in kilometers.
      - `createdAt` string, date-time: Time the row was created in the database, auto-populated by the system.
      - `createdBy` string: Application user who created the row in the database, auto-populated by the system.
      - `source` string, required: Source of the data.
      - `origin` string: Originating system or organization which produced the data, if different from the source. The origin may be different than the source if the source was a mediating system which forwarded the data on behalf of the origin system. If null, the source may be assumed to be the origin.
      - `dataMode` 'REAL' | 'TEST' | 'SIMULATED' | 'EXERCISE', required: Indicator of whether the data is REAL, TEST, EXERCISE, or SIMULATED data: REAL: Data collected or produced that pertains to real-world objects, events, and analysis. TEST: Specific datasets used to evaluate compliance with specifications and requirements, and for validating technical, functional, and performance characteristics. EXERCISE: Data pertaining to a government or military exercise. The data may include both real and simulated data. SIMULATED: Synthetic data generated by a model to mimic real-world datasets.
      - `origNetwork` string: The originating source network on which this record was created, auto-populated by the system.
    - `onOrbit` object: Model object representing on-orbit objects or satellites in the system.
      - `idOnOrbit` string: For the public catalog, the idOnOrbit is typically the satellite number as a string, but may be a UUID for analyst or other unknown or untracked satellites, auto-generated by the system.
      - `classificationMarking` string, required: Classification marking of the data in IC/CAPCO Portion-marked format.
      - `satNo` integer, required: Satellite/Catalog number of the target on-orbit object.
      - `commonName` string: Common name of the on-orbit object.
      - `constellation` string: Constellation to which this satellite belongs.
      - `intlDes` string: International Designator, typically of the format YYYYLLLAAA, where YYYY is the launch year, LLL is the sequential launch number of that year, and AAA is an optional launch piece designator for the launch.
      - `launchDate` string, date: Date of launch.
      - `decayDate` string, date-time: Date of decay.
      - `objectType` 'ROCKET BODY' | 'DEBRIS' | 'PAYLOAD' | 'PLATFORM' | 'MANNED' | 'UNKNOWN': Type of on-orbit object: ROCKET BODY, DEBRIS, PAYLOAD, PLATFORM, MANNED, UNKNOWN.
      - `origin` string: Originating system or organization which produced the data, if different from the source. The origin may be different than the source if the source was a mediating system which forwarded the data on behalf of the origin system. If null, the source may be assumed to be the origin.
      - `missionNumber` string: Mission number of the on-orbit object.
      - `category` 'Unknown' | 'On-Orbit' | 'Decayed' | 'Cataloged Without State' | 'Launch Nominal' | 'Analyst Satellite' | 'Cislunar' | 'Lunar' | 'Hyperbolic' | 'Heliocentric' | 'Interplanetary' | 'Lagrangian' | 'Docked': Category of the on-orbit object. (Unknown, On-Orbit, Decayed, Cataloged Without State, Launch Nominal, Analyst Satellite, Cislunar, Lunar, Hyperbolic, Heliocentric, Interplanetary, Lagrangian, Docked).
      - `lifetimeYears` integer: Estimated lifetime of the on-orbit payload, if known.
      - `altName` string: Alternate name of the on-orbit object.
      - `createdAt` string, date-time: Time the row was created in the database, auto-populated by the system.
      - `createdBy` string: Application user who created the row in the database, auto-populated by the system.
      - `source` string, required: Source of the data.
      - `dataMode` 'REAL' | 'TEST' | 'SIMULATED' | 'EXERCISE', required: Indicator of whether the data is REAL, TEST, EXERCISE, or SIMULATED data: REAL: Data collected or produced that pertains to real-world objects, events, and analysis. TEST: Specific datasets used to evaluate compliance with specifications and requirements, and for validating technical, functional, and performance characteristics. EXERCISE: Data pertaining to a government or military exercise. The data may include both real and simulated data. SIMULATED: Synthetic data generated by a model to mimic real-world datasets.
      - `launchSiteId` string: Id of the associated launchSite entity.
      - `countryCode` string: The country code. This value is typically the ISO 3166 Alpha-2 two-character country code, however it can also represent various consortiums that do not appear in the ISO document. The code must correspond to an existing country in the UDL’s country API. Call udl/country/{code} to get any associated FIPS code, ISO Alpha-3 code, or alternate code values that exist for the specified country code.
      - `origNetwork` string: The originating source network on which this record was created, auto-populated by the system.
    - `idOnOrbit` string: Onorbit identifier if this entity is part of an on-orbit object. For the public catalog, the idOnOrbit is typically the satellite number as a string, but may be a UUID for analyst or other unknown or untracked satellites.
    - `idOperatingUnit` string: Unique identifier of the associated operating unit object.
    - `origNetwork` string: The originating source network on which this record was created, auto-populated by the system.
  - `idEntity` string: Unique identifier of the parent entity. idEntity is required for Put.
  - `altVesselId` string: The original source Id for this vessel.
  - `idOrganization` string: The UDL ID of the organization that owns the vessel.
  - `vesselName` string: The name of this vessel. Vessel names that exceed the AIS 20 character are shortened (not truncated) to 15 character-spaces, followed by an underscore and the last 4 characters-spaces of the vessel full name.
  - `vesselType` string: The reported ship type (e.g. Passenger, Tanker, Cargo, Other, etc.).
  - `vesselClass` string: The common name for a group of ships with similar design, usually named for the first vessel of the class.
  - `vesselDescription` string: Further description or explanation of the vessel or type.
  - `sconum` string: The Ship Control Number (SCONUM) is a naval vessel identification number (alphanumeric code) assigned by the Office of Naval Intelligence. SCONUM is sometimes referred to as NOIC ID. SCONUMs are typically of the form A#####, where A is an alpha character and # is numerical.
  - `imon` integer: The International Maritime Organization Number of the vessel. IMON is a seven-digit number that uniquely identifies the vessel.
  - `mmsi` string: The Maritime Mobile Service Identity of the vessel. MMSI is a nine-digit number that identifies the transmitter station of the vessel.
  - `callsign` string: A uniquely designated identifier for the vessel's transmitter station. All radio transmissions must be individually identified by the call sign. Merchant and naval vessels are assigned call signs by their national licensing authorities.
  - `vesselFlag` string: The flag of the subject vessel.
  - `yearBuilt` string: Year the vessel went into service.
  - `vesselBuilder` string: The shipbuilder who built this vessel.
  - `status` string: The status of this vessel.
  - `firstSeen` string, date-time: The date this vessel was first seen.
  - `length` number, double: The overall length of the vessel, in meters. A value of 511 indicates a vessel length of 511 meters or greater.
  - `width` number, double: The breadth of the vessel, in meters. A value of 63 indicates a vessel breadth of 63 meters or greater.
  - `maxDraught` number, double: The maximum static draught, in meters, of the vessel defined as the distance between the ship’s keel and the waterline of the vessel.
  - `vslWt` number, double: The weight in tons, of this vessel.
  - `maxSpeed` number, double: The maximum possible speed of this vessel in meters per second.
  - `sternType` string: The stern type code (Counter, Cruiser) associated with this vessel.
  - `numBlades` integer: The number of blades per shaft for this vessel.
  - `numShafts` integer: The number of shafts on this vessel.
  - `propType` string: The type of propulsion employed by this vessel.
  - `hullNum` string: The vessel hull number designation of this maritime vessel. The hull number is a 1-6 character alphanumeric entry assigned to a ship and painted on the hull.
  - `createdAt` string, date-time: Time the row was created in the database, auto-populated by the system.
  - `createdBy` string: Application user who created the row in the database, auto-populated by the system.
  - `source` string, required: Source of the data.
  - `origin` string: Originating system or organization which produced the data, if different from the source. The origin may be different than the source if the source was a mediating system which forwarded the data on behalf of the origin system. If null, the source may be assumed to be the origin.
  - `dataMode` 'REAL' | 'TEST' | 'SIMULATED' | 'EXERCISE', required: Indicator of whether the data is REAL, TEST, EXERCISE, or SIMULATED data: REAL: Data collected or produced that pertains to real-world objects, events, and analysis. TEST: Specific datasets used to evaluate compliance with specifications and requirements, and for validating technical, functional, and performance characteristics. EXERCISE: Data pertaining to a government or military exercise. The data may include both real and simulated data. SIMULATED: Synthetic data generated by a model to mimic real-world datasets.
  - `origNetwork` string: The originating source network on which this record was created, auto-populated by the system.

## Response `201`

Success

## Other responses

- `400`: Bad Request
- `401`: Invalid/Missing User Credentials
- `403`: User Is Not Authorized
- `405`: Method Not Allowed
- `415`: MediaType Unsupported
- `429`: Rate of Requests Exceeds Allowed Limit
- `500`: Internal Server Error

## Changes

> 12 revisions in range; 1 could not be searched.

- **2025-05-29** `4e1cbc17e814`: 1 info
  - added the new `LASEREMITTER` enum value to the request property `entity/type`
- **2025-04-16** `75f764c843a9`: 1 breaking, 2 warning, 2 info
  - request body became required
  - the `entity/onOrbit/countryCode` request property's maxLength was set to `4`
  - the `entity/onOrbit/satNo` request property's min was set to `0.00`
  - api operation id `create_134` removed and replaced with ``
  - …1 more

[Operation history](https://skmtc.dev/bluestaq/apis/unified-data-library-services-api/changes/udl/vessel/post.md)

---

[API](https://skmtc.dev/bluestaq/apis/unified-data-library-services-api.md) - [All operations](https://skmtc.dev/bluestaq/apis/unified-data-library-services-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bluestaq/apis/unified-data-library-services-api/revisions/bd17bc53681e?raw)
