---
title: "POST /udl/sigact/createBulk"
method: POST
path: "/udl/sigact/createBulk"
tags: ["Report and Activity"]
---

# POST /udl/sigact/createBulk

`POST /udl/sigact/createBulk`

## Request

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

Service operation intended for initial integration only, to take a list of SigAct records as a POST body and ingest into the database. Requires specific roles, please contact the UDL team to gain access. This operation is not intended to be used for automated feeds into UDL...data providers should contact the UDL team for instructions on setting up a permanent feed through an alternate mechanism.

## Request body

- SigActIngest[]
  - `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.
  - `sourceLanguage` string: The source language of the significant event using the ISO 639-3, 3 character code definition.
  - `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.
  - `city` string: The city in or near which this event occurred.
  - `district` string: The district in which this event occurred.
  - `province` string: The province in which this event occurred.
  - `lat` number, double: WGS-84 centroid latitude of the event location, in degrees. -90 to 90 degrees (negative values south of equator).
  - `lon` number, double: WGS-84 centroid longitude of the event location, in degrees. -180 to 180 degrees (negative values west of Prime Meridian).
  - `milgrid` string: The Military Grid Reference System is the geocoordinate standard used by NATO militaries for locating points on Earth. The MGRS is derived from the Universal Transverse Mercator (UTM) grid system and the Universal Polar Stereographic (UPS) grid system, but uses a different labeling convention. The MGRS is used as geocode for the entire Earth. Example of an milgrid coordinate, or grid reference, would be 4QFJ12345678, which consists of three parts: 4Q (grid zone designator, GZD) FJ (the 100,000-meter square identifier) 12345678 (numerical location; easting is 1234 and northing is 5678, in this case specifying a location with 10 m resolution).
  - `theater` string: Area in which important military events occur or are progressing. A theater can include the entirety of the airspace, land and sea area that is or that may potentially become involved in war operations.
  - `area` string: Optional geographical region or polygon (lat/lon pairs) of the area surrounding the point of interest as projected on the ground.
  - `atext` string: Geographical region or polygon (lon/lat pairs), as depicted by the Well-Known Text representation of the geometry/geography, of the image as projected on the ground. WKT reference: https://www.opengeospatial.org/standards/wkt-crs. Ignored if included with a POST or PUT request that also specifies a valid 'area' field.
  - `agjson` string: Geographical region or polygon (lat/lon pairs), as depicted by the GeoJSON representation of the geometry/geography, of the image as projected on the ground. GeoJSON Reference: https://geojson.org/. Ignored if included with a POST or PUT request that also specifies a valid 'area' or 'atext' field.
  - `atype` string: Type of region as projected on the ground.
  - `andims` integer: Number of dimensions of the geometry depicted by region.
  - `asrid` integer: Geographical spatial_ref_sys for region.
  - `eventStart` string, date-time: The approximate start time of the event, in ISO 8601 UTC format.
  - `eventEnd` string, date-time: The approximate end time of the event, in ISO 8601 UTC format.
  - `reportDate` string, date-time, required: Date of the report or filing.
  - `actors` string[]: A list of one or more actors involved in the event.
  - `civAbd` integer: Number of civilians abducted in the activity.
  - `civDet` integer: Number of civilians detained in the activity.
  - `civKIA` integer: Number of civilians killed in the activity.
  - `civWound` integer: Number of civilians wounded in the activity.
  - `coalAbd` integer: Number of coalition members abducted in the activity.
  - `coalDet` integer: Number of coalition members detained in the activity.
  - `coalKIA` integer: Number of coalition members killed in the activity.
  - `coalWound` integer: Number of coalition members wounded in the activity.
  - `enemyAbd` integer: Number of enemy combatants abducted in the activity.
  - `enemyDet` integer: Number of enemy combatants detained in the activity.
  - `enemyKIA` integer: Number of enemy combatants killed in the activity.
  - `friendlyAbd` integer: Number of friendlies abducted in the activity.
  - `friendlyDet` integer: Number of friendlies in the activity.
  - `friendlyKIA` integer: Number of friendlies killed in the activity.
  - `friendlyWound` integer: Number of friendlies wounded in the activity.
  - `hostNatAbd` integer: Number of Host Nation members abducted in the activity.
  - `hostNatDet` integer: Number of Host Nation members detained in the activity.
  - `hostNatKIA` integer: Number of Host Nation members killed in the activity.
  - `hostNatWound` integer: Number of Host Nation members wounded in the activity.
  - `sideAAbd` integer: Number of side A members abducted in the activity.
  - `sideADet` integer: Number of side A members detained in the activity.
  - `sideAKIA` integer: Number of side A members killed in the activity.
  - `sideAWound` integer: Number of side A members wounded in the activity.
  - `sideBAbd` integer: Number of side B members abducted in the activity.
  - `sideBDet` integer: Number of side B members detained in the activity.
  - `sideBKIA` integer: Number of side B members killed in the activity.
  - `sideBWound` integer: Number of side B members wounded in the activity.
  - `target` string: The name of the target. The target may be an individual, an entity, or a country/region.
  - `eventDescription` string: A description of the event.
  - `eventType` string: The type of event (e.g. Military, Natural, Political, Social, etc.).
  - `typeOfAttack` string: The mode of this attack or event (e.g. Direct Fire, IED Explosion, etc.).
  - `complexAttack` boolean: Flag indicating that this attack was of a complex or coordinated nature.
  - `idNumber` string: Unique identifier assigned to each event record that uniquely identifies it in the master dataset. This ID is provided for convenience of mapping to external systems.
  - `confidence` integer: Estimate of the confidence that this event occurred.
  - `accuracy` integer: Estimate of the accuracy that this event occurred as described/reported.
  - `clarity` integer: 1 (high) for events where the reporting allows the coder to identify the event in full. That is, events where the individual happening is described by the original source in a sufficiently detailed way as to identify individual incidents, i.e. separate activities of fighting in a single location: 2 (lower) for events where an aggregation of information was already made by the source material that is impossible to undo in the coding process. Such events are described by the original source only as aggregates (totals) of multiple separate activities of fighting spanning over a longer period than a single, clearly defined day.
  - `cameoCode` string: This is the raw CAMEO action code describing the action that Actor1 performed upon Actor2. Additional information about Cameo Codes can be obtained from the GDELT project documentation here: https://www.gdeltproject.org/data.html#documentation.
  - `cameoBaseCode` string: CAMEO event codes are defined in a three-level taxonomy. For events at level three in the taxonomy, this yields its level two leaf root node. For example, code 0251 (Appeal for easing of administrative sanctions) would yield an EventBaseCode of 025 (Appeal to yield). This makes it possible to aggregate events at various resolutions of specificity. For events at levels two or one, this field will be set to EventCode.
  - `cameoRootCode` string: Similar to EventBaseCode, this defines the root-level category the event code falls under. For example, code 0251 (Appeal for easing of administrative sanctions) has a root code of 02 (Appeal). This makes it possible to aggregate events at various resolutions of specificity. For events at levels two or one, this field will be set to EventCode.
  - `goldstein` number, double: Each CAMEO event code is assigned a numeric score from -10 to +10, capturing the theoretical potential impact that type of event will have on the stability of a country. This is known as the Goldstein Scale. NOTE: this score is based on the type of event, not the specifics of the actual event record being recorded thus two riots, one with 10 people and one with 10,000, will both receive the same Goldstein score. This can be aggregated to various levels of time resolution to yield an approximation of the stability of a location over time.
  - `documentSource` string: The source of the document or report.
  - `documentFilename` string: The filename of the document or report.
  - `hasAttachment` boolean: Flag indicating this SigAct record has an associated txt file stored in the UDL. Retrieve the txt file by using the GET/udl/sigact/getFile/{id} where id is the same as the SigAct record id. The maximum file size for this service is 10,000,000 bytes (10MB). Files exceeding the maximum size will be rejected.
  - `filesize` integer: Size of the associated text file. Units in bytes. If filesize is provided without an associated file, it defaults to 0.
  - `checksumValue` string: MD5 value of the file. The ingest/create operation will automatically generate the value.
  - `repUnit` string: The reporting unit.
  - `repUnitType` string: The reporting unit type.
  - `repUnitActivity` string: The activity the unit was engaged in.
  - `numMentions` integer: This is the total number of mentions of this event across all source documents during the 15 minute update in which it was first seen. Multiple references to an event within a single document also contribute to this count. This can be used as a method of assessing the importance of an event: the more discussion of that event, the more likely it is to be significant.
  - `numSources` integer: This is the total number of information sources containing one or more mentions of this event during the 15 minute update in which it was first seen. This can be used as a method of assessing the importance of an event: the more discussion of that event, the more likely it is to be significant.
  - `numArticles` integer: This is the total number of source documents containing one or more mentions of this event during the 15 minute update in which it was first seen. This can be used as a method of assessing the importance of an event: the more discussion of that event, the more likely it is to be significant.
  - `avgTone` number, double: This is the average tone of all documents containing one or more mentions of this event during the 15 minute update in which it was first seen. The score ranges from -100 (extremely negative) to +100 (extremely positive). Common values range between -10 and +10, with 0 indicating neutral.
  - `sourceUrl` string: This field records the URL or citation of the first news report it found this event in. In most cases this is the first report it saw the article in, but due to the timing and flow of news reports through the processing pipeline, this may not always be the very first report, but is at least in the first few reports.
  - `relatedDocs` RelatedDocumentIngest[]: Related document ids.
    - `documentId` string: The document id of the related document.
    - `dataSourceRefs` SofDataSourceRefIngest[]: List of data sources related to this document.
      - `dataSourceId` string: Data source id.
      - `startPosition` string: start position.
      - `endPosition` string: end position.
      - `paragraphNumber` string: paragraph number.
      - `sentenceNumber` string: sentence number.
  - `summary` string: A summary of the event.
  - `notes` string: Notes related to the documents or event.
  - `createdAt` string, date-time: Time the row was created in the database, auto-populated by the system, example = 2018-01-01T16:00:00.123Z.
  - `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 `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-09-26** `45631f9bb3f0`: 1 breaking, 1 info
  - the `items/createdBy` request property's minLength was increased from `0` to `1`
  - the request optional property `items/area` became write-only
- **2025-04-16** `75f764c843a9`: 1 breaking, 2 info
  - the `items/andims` request property format changed from `int32` to `int16`
  - api operation id `createBulks_32` 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/sigact/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)
