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

# POST /udl/ecpsdr

`POST /udl/ecpsdr`

## Request

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

Service operation to take a single ECPSDR 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

- ECPSDRIngest: Supports Sensor Data Records (SDR) from space-borne Energetic Charged Particle (ECP) Sensors. SDR contains sensor status telemetry and raw dosimeter measurements of the space environment.
  - `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 `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-04-16** `75f764c843a9`: 1 breaking, 2 info
  - request body became required
  - api operation id `create_34` 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/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)
