---
title: "POST /udl/ecpsdr/createBulk"
method: POST
path: "/udl/ecpsdr/createBulk"
tags: ["Observation"]
---

# POST /udl/ecpsdr/createBulk

`POST /udl/ecpsdr/createBulk`

## Request

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

Service operation intended for initial integration only, to take a list of ECPSDR as a POST body and ingest into the database. This operation is not intended to be used for automated feeds into UDL. Data providers should contact the UDL team for specific role assignments and for instructions on setting up a permanent feed through an alternate mechanism.

## Request body

- ECPSDRIngest[]
  - `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.
  - `idOnOrbit` string: Unique identifier of the on-orbit satellite hosting the sensor.
  - `satNo` integer: Satellite/catalog number of the on-orbit satellite hosting the sensor.
  - `origObjectId` string: Optional identifier provided by the record source to indicate the satellite hosting the sensor. This may be an internal identifier and not necessarily map to a valid satellite number.
  - `idSensor` string: Unique identifier of the reporting sensor.
  - `origSensorId` string: Optional identifier provided by the record source to indicate the sensor identifier which produced this data. This may be an internal identifier and not necessarily a valid sensor ID.
  - `type` string, required: The type of data associated with this record (STANDARD, TRANSIENT).
  - `msgTime` string, date-time, required: Time stamp of time packet receipt on ground, in ISO 8601 UTC format with millisecond precision.
  - `obTime` string, date-time: Time of the observation, in ISO 8601 UTC format with millisecond precision.
  - `retransmit` boolean: Flag indicating whether this record is an original or re-transmitted dataset (TRUE indicates a retransmit from the host).
  - `senMode` string: The sensor mode associated with this measurements (NORMAL, TEST).
  - `dosBias` integer: Unitless dosimeter detector bias for MedLET and HiLET. MedLET (Linear Energy Transfer) and HiLET subsensors detect particles above LET thresholds, 300keV and 1MeV, respectively.
  - `asl5VCurrMon` integer: Internal 5V current monitor for analog supply line. This is sensor status telemetry. See vRef for conversion factor to Volts.
  - `dsl5VCurrMon` integer: Internal 5V current monitor for digital supply line. This is sensor status telemetry. See vRef for conversion factor to Volts.
  - `psTempMon` integer: Power supply temperature monitor. This is sensor status telemetry.
  - `cdsPlateVMon` integer: CDS Charge Plate voltage monitor. See vRef for conversion factor to Volts.
  - `cdsRefVMon` integer: CDS reference voltage monitor. See vRef for conversion factor to Volts.
  - `mpTemp` integer: Unitless sensor mounting plate temperature.
  - `vRef` integer: Reference voltage (volts/bit). Conversion factor used to convert analog V monitor data from bytes to volts.
  - `pd1SigLev` integer: Photodiode 1 signal level.
  - `pd2SigLev` integer: Photodiode 2 signal level.
  - `esdTrigCountL` integer: Number of ESD triggers, low byte of 2-byte counter.
  - `esdTrigCountH` integer: Number of ESD triggers, high byte of 2-byte counter.
  - `lowLetL` integer: LowLET dosimeter low range output. Low byte of (LowLET) dosimeter output.
  - `lowLetM` integer: LowLET dosimeter medium range output. Medium byte of (LowLET) dosimeter output.
  - `medLet1L` integer: MedLET1 dosimeter low range output. Low byte of the 1st (MedLET) dosimeter output.
  - `medLet1M` integer: MedLET1 dosimeter medium range output. Medium byte of the 1st (MedLET) dosimeter output.
  - `medLet2L` integer: MedLET2 dosimeter low range output. Low byte of the 2nd (MedLET) dosimeter output.
  - `medLet2M` integer: MedLET2 dosimeter medium range output. Medium byte of the 2nd (MedLET) dosimeter output.
  - `medLet3L` integer: MedLET3 dosimeter low range output. Low byte of the 3rd (MedLET) dosimeter output.
  - `medLet3M` integer: MedLET3 dosimeter medium range output. Medium byte of the 3rd (MedLET) dosimeter output.
  - `medLet4L` integer: MedLET4 dosimeter low range output. Low byte of the 4th (MedLET) dosimeter output.
  - `medLet4M` integer: MedLET4 dosimeter medium range output. Medium byte of the 4th (MedLET) dosimeter output.
  - `hiLetL` integer: HiLET dosimeter low range output. Low byte of scaler (HiLET) dosimeter output.
  - `hiLetM` integer: Unitless HiLET dosimeter medium range output. Medium byte of (HiLET) dosimeter output.
  - `surfDosL` integer: Surface dosimeter low range output (converts to pico-coulombs/bit). Low byte of 3 bytes.
  - `surfDosM` integer: Surface dosimeter medium range output (converts to pico-coulombs/bit). Middle byte of 3 bytes.
  - `surfDosH` integer: Surface dosimeter high range output (converts to pico-coulombs/bit). High byte of 3 bytes.
  - `surfDosChargeL` integer: Surface dosimeter charge rate low output (converts to pico-amps/bit). Low byte of 2 bytes.
  - `surfDosChargeH` integer: Surface dosimeter charge rate high output (converts to pico-amps/bit). High byte of 2 bytes.
  - `surfDosStat` integer: Surface dosimeter status byte.
  - `cdsThrottle` integer: CDS throttle number of seconds between CDS transient capture readouts.
  - `cdsThreshold` integer: CDS Threshold setting for ESD detection threshold. The CDS Threshold is the adjustable sensitivity of recording/digitizing an ESD as a transient packet.
  - `checksum` integer: Two byte CRC-16-CCITT checksum (ordered as first byte, second byte).
  - `transientData` integer[]: Array of 144 digitized samples of ESD waveform for transient packets.
  - `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.
  - `origNetwork` string: The originating source network on which this record was created, auto-populated by the system.
  - `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.

## Response `204`

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-04-16** `75f764c843a9`: 2 info
  - api operation id `createBulk_3` removed and replaced with ``
  - the endpoint scheme security `BasicAuth` was removed from the API

[Operation history](https://skmtc.dev/bluestaq/apis/unified-data-library-services-api/changes/udl/ecpsdr/createBulk/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)
