For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Logo
ContactLearn More
GuidesReferenceSamplesLicenseChangelog
GuidesReferenceSamplesLicenseChangelog
  • SDKs
    • Overview
  • REST
  • gRPC
        • UNARYPublishEntity
        • STREAMPublishEntities
        • UNARYGetEntity
        • UNARYOverrideEntity
        • UNARYRemoveEntityOverride
        • STREAMStreamEntityComponents
ContactLearn More
gRPCanduril.entitymanager.v1EntityManagerAPI

PublishEntity

Example request
1{
2 "entity": {
3 "entity_id": "example",
4 "description": "example",
5 "is_live": true,
6 "created_time": {
7 "seconds": 42,
8 "nanos": 42
9 },
10 "expiry_time": {
11 "seconds": 42,
12 "nanos": 42
13 },
14 "no_expiry": true,
15 "status": {
16 "platform_activity": "example",
17 "role": "example"
18 },
19 "location": {
20 "position": {
21 "latitude_degrees": 42,
22 "longitude_degrees": 42,
23 "altitude_hae_meters": {
24 "value": 42
25 },
26 "altitude_agl_meters": {
27 "value": 42
28 },
29 "altitude_asf_meters": {
30 "value": 42
31 },
32 "pressure_depth_meters": {
33 "value": 42
34 }
35 },
36 "velocity_enu": {
37 "e": 42,
38 "n": 42,
39 "u": 42
40 },
41 "speed_mps": {
42 "value": 42
43 },
44 "acceleration": {
45 "e": 42,
46 "n": 42,
47 "u": 42
48 },
49 "attitude_enu": {
50 "x": 42,
51 "y": 42,
52 "z": 42,
53 "w": 42
54 }
55 },
56 "location_uncertainty": {
57 "position_enu_cov": {
58 "mxx": 42,
59 "mxy": 42,
60 "mxz": 42,
61 "myy": 42,
62 "myz": 42,
63 "mzz": 42
64 },
65 "velocity_enu_cov": {
66 "mxx": 42,
67 "mxy": 42,
68 "mxz": 42,
69 "myy": 42,
70 "myz": 42,
71 "mzz": 42
72 },
73 "position_error_ellipse": {
74 "probability": {
75 "value": 42
76 },
77 "semi_major_axis_m": {
78 "value": 42
79 },
80 "semi_minor_axis_m": {
81 "value": 42
82 },
83 "orientation_d": {
84 "value": 42
85 }
86 }
87 },
88 "geo_shape": {
89 "shape": {
90 "point": {
91 "position": {
92 "latitude_degrees": 42,
93 "longitude_degrees": 42,
94 "altitude_hae_meters": {
95 "value": 42
96 },
97 "altitude_agl_meters": {
98 "value": 42
99 },
100 "altitude_asf_meters": {
101 "value": 42
102 },
103 "pressure_depth_meters": {
104 "value": 42
105 }
106 }
107 }
108 }
109 },
110 "geo_details": {
111 "type_details": {
112 "control_area": {
113 "type": 0
114 }
115 },
116 "type": 0
117 },
118 "aliases": {
119 "alternate_ids": [
120 {
121 "id": "example",
122 "type": 0
123 }
124 ],
125 "name": "example"
126 },
127 "tracked": {
128 "track_quality_wrapper": {
129 "value": 42
130 },
131 "sensor_hits": {
132 "value": 42
133 },
134 "number_of_objects": {
135 "lower_bound": 42,
136 "upper_bound": 42
137 },
138 "radar_cross_section": {
139 "value": 42
140 },
141 "last_measurement_time": {
142 "seconds": 42,
143 "nanos": 42
144 },
145 "line_of_bearing": {
146 "detection_range": {
147 "range_estimate_m": {
148 "value": {
149 "value": 42
150 },
151 "sigma": {
152 "value": 42
153 }
154 }
155 },
156 "angle_of_arrival": {
157 "relative_pose": {
158 "pos": {
159 "lon": 42,
160 "lat": 42,
161 "alt": 42,
162 "is2d": true,
163 "altitude_reference": 0
164 },
165 "att_enu": {
166 "x": 42,
167 "y": 42,
168 "z": 42,
169 "w": 42
170 }
171 },
172 "bearing_elevation_covariance_rad2": {
173 "mxx": 42,
174 "mxy": 42,
175 "myy": 42
176 }
177 }
178 }
179 },
180 "correlation": {
181 "correlation": {
182 "primary": {
183 "secondary_entity_ids": [
184 "example"
185 ]
186 }
187 },
188 "membership": {
189 "membership": {
190 "primary": {}
191 },
192 "correlation_set_id": "example",
193 "metadata": {
194 "provenance": {
195 "integration_name": "example",
196 "data_type": "example",
197 "source_id": "example",
198 "source_update_time": {
199 "seconds": 42,
200 "nanos": 42
201 },
202 "source_description": "example"
203 },
204 "replication_mode": 0,
205 "type": 0
206 }
207 },
208 "decorrelation": {
209 "all": {
210 "metadata": {
211 "provenance": {
212 "integration_name": "example",
213 "data_type": "example",
214 "source_id": "example",
215 "source_update_time": {
216 "seconds": 42,
217 "nanos": 42
218 },
219 "source_description": "example"
220 },
221 "replication_mode": 0,
222 "type": 0
223 }
224 },
225 "decorrelated_entities": [
226 {
227 "entity_id": "example",
228 "metadata": {
229 "provenance": {
230 "integration_name": "example",
231 "data_type": "example",
232 "source_id": "example",
233 "source_update_time": {
234 "seconds": 42,
235 "nanos": 42
236 },
237 "source_description": "example"
238 },
239 "replication_mode": 0,
240 "type": 0
241 }
242 }
243 ]
244 }
245 },
246 "mil_view": {
247 "disposition": 0,
248 "environment": 0,
249 "nationality": 0
250 },
251 "ontology": {
252 "platform_type": "example",
253 "specific_type": "example",
254 "template": 0
255 },
256 "sensors": {
257 "sensors": [
258 {
259 "sensor_id": "example",
260 "operational_state": 0,
261 "sensor_type": 0,
262 "sensor_description": "example",
263 "rf_configuraton": {
264 "frequency_range_hz": [
265 {
266 "minimum_frequency_hz": {
267 "frequency_hz": {
268 "value": {
269 "value": 42
270 },
271 "sigma": {
272 "value": 42
273 }
274 }
275 },
276 "maximum_frequency_hz": {
277 "frequency_hz": {
278 "value": {
279 "value": 42
280 },
281 "sigma": {
282 "value": 42
283 }
284 }
285 }
286 }
287 ],
288 "bandwidth_range_hz": [
289 {
290 "minimum_bandwidth": {
291 "bandwidth_hz": {
292 "value": 42
293 }
294 },
295 "maximum_bandwidth": {
296 "bandwidth_hz": {
297 "value": 42
298 }
299 }
300 }
301 ]
302 },
303 "last_detection_timestamp": {
304 "seconds": 42,
305 "nanos": 42
306 },
307 "fields_of_view": [
308 {
309 "fov_id": 42,
310 "mount_id": "example",
311 "projected_frustum": {
312 "upper_left": {
313 "latitude_degrees": 42,
314 "longitude_degrees": 42,
315 "altitude_hae_meters": {
316 "value": 42
317 },
318 "altitude_agl_meters": {
319 "value": 42
320 },
321 "altitude_asf_meters": {
322 "value": 42
323 },
324 "pressure_depth_meters": {
325 "value": 42
326 }
327 },
328 "upper_right": {
329 "latitude_degrees": 42,
330 "longitude_degrees": 42,
331 "altitude_hae_meters": {
332 "value": 42
333 },
334 "altitude_agl_meters": {
335 "value": 42
336 },
337 "altitude_asf_meters": {
338 "value": 42
339 },
340 "pressure_depth_meters": {
341 "value": 42
342 }
343 },
344 "bottom_right": {
345 "latitude_degrees": 42,
346 "longitude_degrees": 42,
347 "altitude_hae_meters": {
348 "value": 42
349 },
350 "altitude_agl_meters": {
351 "value": 42
352 },
353 "altitude_asf_meters": {
354 "value": 42
355 },
356 "pressure_depth_meters": {
357 "value": 42
358 }
359 },
360 "bottom_left": {
361 "latitude_degrees": 42,
362 "longitude_degrees": 42,
363 "altitude_hae_meters": {
364 "value": 42
365 },
366 "altitude_agl_meters": {
367 "value": 42
368 },
369 "altitude_asf_meters": {
370 "value": 42
371 },
372 "pressure_depth_meters": {
373 "value": 42
374 }
375 }
376 },
377 "projected_center_ray": {
378 "latitude_degrees": 42,
379 "longitude_degrees": 42,
380 "altitude_hae_meters": {
381 "value": 42
382 },
383 "altitude_agl_meters": {
384 "value": 42
385 },
386 "altitude_asf_meters": {
387 "value": 42
388 },
389 "pressure_depth_meters": {
390 "value": 42
391 }
392 },
393 "center_ray_pose": {
394 "pos": {
395 "latitude_degrees": 42,
396 "longitude_degrees": 42,
397 "altitude_hae_meters": {
398 "value": 42
399 },
400 "altitude_agl_meters": {
401 "value": 42
402 },
403 "altitude_asf_meters": {
404 "value": 42
405 },
406 "pressure_depth_meters": {
407 "value": 42
408 }
409 },
410 "orientation": {
411 "x": 42,
412 "y": 42,
413 "z": 42,
414 "w": 42
415 }
416 },
417 "horizontal_fov": 42,
418 "vertical_fov": 42,
419 "range": {
420 "value": 42
421 },
422 "mode": 0
423 }
424 ]
425 }
426 ]
427 },
428 "payloads": {
429 "payload_configurations": [
430 {
431 "config": {
432 "capability_id": "example",
433 "quantity": 42,
434 "effective_environment": [
435 0
436 ],
437 "payload_operational_state": 0,
438 "payload_description": "example"
439 }
440 }
441 ]
442 },
443 "power_state": {
444 "source_id_to_state": [
445 null
446 ]
447 },
448 "provenance": {
449 "integration_name": "example",
450 "data_type": "example",
451 "source_id": "example",
452 "source_update_time": {
453 "seconds": 42,
454 "nanos": 42
455 },
456 "source_description": "example"
457 },
458 "overrides": {
459 "override": [
460 {
461 "request_id": "example",
462 "field_path": "example",
463 "masked_field_value": {},
464 "status": 0,
465 "provenance": {
466 "integration_name": "example",
467 "data_type": "example",
468 "source_id": "example",
469 "source_update_time": {
470 "seconds": 42,
471 "nanos": 42
472 },
473 "source_description": "example"
474 },
475 "type": 0,
476 "request_timestamp": {
477 "seconds": 42,
478 "nanos": 42
479 }
480 }
481 ]
482 },
483 "indicators": {
484 "simulated": {
485 "value": true
486 },
487 "exercise": {
488 "value": true
489 },
490 "emergency": {
491 "value": true
492 },
493 "c2": {
494 "value": true
495 },
496 "egressable": {
497 "value": true
498 },
499 "starred": {
500 "value": true
501 }
502 },
503 "target_priority": {
504 "high_value_target": {
505 "is_high_value_target": true,
506 "target_priority": 42,
507 "target_matches": [
508 {
509 "high_value_target_list_id": "example",
510 "high_value_target_description_id": "example"
511 }
512 ],
513 "is_high_payoff_target": true
514 },
515 "threat": {
516 "is_threat": true
517 }
518 },
519 "signal": {
520 "frequency_measurement": {
521 "frequency_center": {
522 "frequency_hz": {
523 "value": {
524 "value": 42
525 },
526 "sigma": {
527 "value": 42
528 }
529 }
530 }
531 },
532 "report": {
533 "line_of_bearing": {
534 "angle_of_arrival": {
535 "relative_pose": {
536 "pos": {
537 "lon": 42,
538 "lat": 42,
539 "alt": 42,
540 "is2d": true,
541 "altitude_reference": 0
542 },
543 "att_enu": {
544 "x": 42,
545 "y": 42,
546 "z": 42,
547 "w": 42
548 }
549 },
550 "bearing_elevation_covariance_rad2": {
551 "mxx": 42,
552 "mxy": 42,
553 "myy": 42
554 }
555 },
556 "detection_range": {
557 "range_estimate_m": {
558 "value": {
559 "value": 42
560 },
561 "sigma": {
562 "value": 42
563 }
564 }
565 }
566 }
567 },
568 "bandwidth_hz": {
569 "value": 42
570 },
571 "signal_to_noise_ratio": {
572 "value": 42
573 },
574 "emitter_notations": [
575 {
576 "emitter_notation": "example",
577 "confidence": {
578 "value": 42
579 }
580 }
581 ],
582 "pulse_width_s": {
583 "value": 42
584 },
585 "pulse_repetition_interval": {
586 "pulse_repetition_interval_s": {
587 "value": {
588 "value": 42
589 },
590 "sigma": {
591 "value": 42
592 }
593 }
594 },
595 "scan_characteristics": {
596 "scan_type": 0,
597 "scan_period_s": {
598 "value": 42
599 }
600 }
601 },
602 "transponder_codes": {
603 "_mode_c_altitude_ft": {
604 "mode_c_altitude_ft": 42
605 },
606 "mode1": 42,
607 "mode2": 42,
608 "mode3": 42,
609 "mode4_interrogation_response": 0,
610 "mode5": {
611 "mode5_interrogation_response": 0,
612 "mode5": 42,
613 "mode5_platform_id": 42
614 },
615 "mode_s": {
616 "id": "example",
617 "address": 42
618 }
619 },
620 "data_classification": {
621 "default": {
622 "level": 0,
623 "caveats": [
624 "example"
625 ]
626 },
627 "fields": [
628 {
629 "field_path": "example",
630 "classification_information": {
631 "level": 0,
632 "caveats": [
633 "example"
634 ]
635 }
636 }
637 ]
638 },
639 "task_catalog": {
640 "task_definitions": [
641 {
642 "task_specification_url": "example"
643 }
644 ]
645 },
646 "media": {
647 "media": [
648 {
649 "item_identifier": "example",
650 "type": 0,
651 "relative_path": "example"
652 }
653 ]
654 },
655 "relationships": {
656 "relationships": [
657 {
658 "related_entity_id": "example",
659 "relationship_id": "example",
660 "relationship_type": {
661 "type": {
662 "tracked_by": {
663 "actively_tracking_sensors": {
664 "sensors": [
665 {
666 "sensor_id": "example",
667 "operational_state": 0,
668 "sensor_type": 0,
669 "sensor_description": "example",
670 "rf_configuraton": {
671 "frequency_range_hz": [
672 {
673 "minimum_frequency_hz": {
674 "frequency_hz": {
675 "value": {
676 "value": 42
677 },
678 "sigma": {
679 "value": 42
680 }
681 }
682 },
683 "maximum_frequency_hz": {
684 "frequency_hz": {
685 "value": {
686 "value": 42
687 },
688 "sigma": {
689 "value": 42
690 }
691 }
692 }
693 }
694 ],
695 "bandwidth_range_hz": [
696 {
697 "minimum_bandwidth": {
698 "bandwidth_hz": {
699 "value": 42
700 }
701 },
702 "maximum_bandwidth": {
703 "bandwidth_hz": {
704 "value": 42
705 }
706 }
707 }
708 ]
709 },
710 "last_detection_timestamp": {
711 "seconds": 42,
712 "nanos": 42
713 },
714 "fields_of_view": [
715 {
716 "fov_id": 42,
717 "mount_id": "example",
718 "projected_frustum": {
719 "upper_left": {
720 "latitude_degrees": 42,
721 "longitude_degrees": 42,
722 "altitude_hae_meters": {
723 "value": 42
724 },
725 "altitude_agl_meters": {
726 "value": 42
727 },
728 "altitude_asf_meters": {
729 "value": 42
730 },
731 "pressure_depth_meters": {
732 "value": 42
733 }
734 },
735 "upper_right": {
736 "latitude_degrees": 42,
737 "longitude_degrees": 42,
738 "altitude_hae_meters": {
739 "value": 42
740 },
741 "altitude_agl_meters": {
742 "value": 42
743 },
744 "altitude_asf_meters": {
745 "value": 42
746 },
747 "pressure_depth_meters": {
748 "value": 42
749 }
750 },
751 "bottom_right": {
752 "latitude_degrees": 42,
753 "longitude_degrees": 42,
754 "altitude_hae_meters": {
755 "value": 42
756 },
757 "altitude_agl_meters": {
758 "value": 42
759 },
760 "altitude_asf_meters": {
761 "value": 42
762 },
763 "pressure_depth_meters": {
764 "value": 42
765 }
766 },
767 "bottom_left": {
768 "latitude_degrees": 42,
769 "longitude_degrees": 42,
770 "altitude_hae_meters": {
771 "value": 42
772 },
773 "altitude_agl_meters": {
774 "value": 42
775 },
776 "altitude_asf_meters": {
777 "value": 42
778 },
779 "pressure_depth_meters": {
780 "value": 42
781 }
782 }
783 },
784 "projected_center_ray": {
785 "latitude_degrees": 42,
786 "longitude_degrees": 42,
787 "altitude_hae_meters": {
788 "value": 42
789 },
790 "altitude_agl_meters": {
791 "value": 42
792 },
793 "altitude_asf_meters": {
794 "value": 42
795 },
796 "pressure_depth_meters": {
797 "value": 42
798 }
799 },
800 "center_ray_pose": {
801 "pos": {
802 "latitude_degrees": 42,
803 "longitude_degrees": 42,
804 "altitude_hae_meters": {
805 "value": 42
806 },
807 "altitude_agl_meters": {
808 "value": 42
809 },
810 "altitude_asf_meters": {
811 "value": 42
812 },
813 "pressure_depth_meters": {
814 "value": 42
815 }
816 },
817 "orientation": {
818 "x": 42,
819 "y": 42,
820 "z": 42,
821 "w": 42
822 }
823 },
824 "horizontal_fov": 42,
825 "vertical_fov": 42,
826 "range": {
827 "value": 42
828 },
829 "mode": 0
830 }
831 ]
832 }
833 ]
834 },
835 "last_measurement_timestamp": {
836 "seconds": 42,
837 "nanos": 42
838 }
839 }
840 }
841 }
842 }
843 ]
844 },
845 "visual_details": {
846 "range_rings": {
847 "min_distance_m": {
848 "value": 42
849 },
850 "max_distance_m": {
851 "value": 42
852 },
853 "ring_count": 42,
854 "ring_line_color": {
855 "red": 42,
856 "green": 42,
857 "blue": 42,
858 "alpha": {
859 "value": 42
860 }
861 }
862 }
863 },
864 "dimensions": {
865 "length_m": 42
866 },
867 "route_details": {
868 "destination_name": "example",
869 "estimated_arrival_time": {
870 "seconds": 42,
871 "nanos": 42
872 }
873 },
874 "schedules": {
875 "schedules": [
876 {
877 "windows": [
878 {
879 "cron_expression": "example",
880 "duration_millis": 42
881 }
882 ],
883 "schedule_id": "example",
884 "schedule_type": 0
885 }
886 ]
887 },
888 "health": {
889 "connection_status": 0,
890 "health_status": 0,
891 "components": [
892 {
893 "id": "example",
894 "name": "example",
895 "health": 0,
896 "messages": [
897 {
898 "status": 0,
899 "message": "example"
900 }
901 ],
902 "update_time": {
903 "seconds": 42,
904 "nanos": 42
905 }
906 }
907 ],
908 "update_time": {
909 "seconds": 42,
910 "nanos": 42
911 },
912 "active_alerts": [
913 {
914 "alert_code": "example",
915 "description": "example",
916 "level": 0,
917 "activated_time": {
918 "seconds": 42,
919 "nanos": 42
920 },
921 "active_conditions": [
922 {
923 "condition_code": "example",
924 "description": "example"
925 }
926 ]
927 }
928 ]
929 },
930 "group_details": {
931 "group_type": {
932 "team": {}
933 }
934 },
935 "supplies": {
936 "munitions": [
937 {
938 "munition_id": "example",
939 "name": "example",
940 "quantity_units": 42
941 }
942 ],
943 "fuel": [
944 {
945 "fuel_id": "example",
946 "name": "example",
947 "reported_date": {
948 "seconds": 42,
949 "nanos": 42
950 },
951 "amount_gallons": 42,
952 "max_authorized_capacity_gallons": 42,
953 "operational_requirement_gallons": 42,
954 "data_classification": {
955 "default": {
956 "level": 0,
957 "caveats": [
958 "example"
959 ]
960 },
961 "fields": [
962 {
963 "field_path": "example",
964 "classification_information": {
965 "level": 0,
966 "caveats": [
967 "example"
968 ]
969 }
970 }
971 ]
972 },
973 "data_source": "example"
974 }
975 ]
976 },
977 "orbit": {
978 "orbit_mean_elements": {
979 "metadata": {
980 "creation_date": {
981 "seconds": 42,
982 "nanos": 42
983 },
984 "originator": {
985 "value": "example"
986 },
987 "message_id": {
988 "value": "example"
989 },
990 "ref_frame": 0,
991 "ref_frame_epoch": {
992 "seconds": 42,
993 "nanos": 42
994 },
995 "mean_element_theory": 0
996 },
997 "mean_keplerian_elements": {
998 "line2_field8": {
999 "semi_major_axis_km": 42
1000 },
1001 "epoch": {
1002 "seconds": 42,
1003 "nanos": 42
1004 },
1005 "eccentricity": 42,
1006 "inclination_deg": 42,
1007 "ra_of_asc_node_deg": 42,
1008 "arg_of_pericenter_deg": 42,
1009 "mean_anomaly_deg": 42,
1010 "gm": {
1011 "value": 42
1012 }
1013 },
1014 "tle_parameters": {
1015 "line1_field11": {
1016 "bstar": 42
1017 },
1018 "line1_field10": {
1019 "mean_motion_ddot": 42
1020 },
1021 "ephemeris_type": {
1022 "value": 42
1023 },
1024 "classification_type": {
1025 "value": "example"
1026 },
1027 "norad_cat_id": {
1028 "value": 42
1029 },
1030 "element_set_no": {
1031 "value": 42
1032 },
1033 "rev_at_epoch": {
1034 "value": 42
1035 },
1036 "mean_motion_dot": {
1037 "value": 42
1038 }
1039 }
1040 }
1041 },
1042 "symbology": {
1043 "standard": {
1044 "mil_std_2525_c": {
1045 "sidc": "example"
1046 }
1047 }
1048 }
1049 }
1050}
Example response
1{}
Create or update an entity and get a response confirming whether the Entity Manager API succesfully processes the entity. Ideal for testing environments. When publishing an entity, only your integration can modify or delete that entity; other sources, such as the UI or other integrations, can't. If you're pushing entity updates so fast that your publish task can't keep up with your update rate (a rough estimate of >= 1 Hz), use the PublishEntities request instead.
Was this page helpful?
Previous

PublishEntities

Next

Create or update an entity and get a response confirming whether the Entity Manager API succesfully processes the entity. Ideal for testing environments. When publishing an entity, only your integration can modify or delete that entity; other sources, such as the UI or other integrations, can’t. If you’re pushing entity updates so fast that your publish task can’t keep up with your update rate (a rough estimate of >= 1 Hz), use the PublishEntities request instead.

PublishEntityRequest

Request
This endpoint expects an object.
entityobject

Create or update an entity. Required fields:

  • entity_id: Unique string identifier. Can be a Globally Unique Identifier (GUID).
  • expiry_time: Expiration time that must be greater than the current time and less than 30 days in the future. The Entities API will reject any entity update with an expiry_time in the past. When the expiry_time has passed, the Entities API will delete the entity from the COP and send a DELETE event.
  • is_live: Boolean that when true, creates or updates the entity. If false and the entity is still live, triggers a DELETE event.
  • provenance.integration_name: String that uniquely identifies the integration responsible for publishing the entity.
  • provenance.data_type.
  • provenance.source_update_time. This can be earlier than the RPC call if the data entered is older.
  • aliases.name: Human-readable string that represents the name of an entity.
  • ontology.template For additional required fields that are determined by template, see com.anduril.entitymanager.v1.Template. if an entity_id is provided, Entity Manager updates the entity. If no entity_id is provided, it creates an entity.

PublishEntityResponse

Response
This endpoint returns an object.