Documentation Index
Fetch the complete documentation index at: https://docs.sensorup.com/llms.txt
Use this file to discover all available pages before exploring further.
Methane LDAR Backend Subgraph Reference
The su-methane-ldar-backend subgraph provides comprehensive Leak Detection and Repair (LDAR) operations, emission observation tracking, and inspection workflow management.
- Name:
su-methane-ldar-backend
- Routing URL:
https://x2ex1v41i5.execute-api.us-west-2.amazonaws.com/poc/graphql
- Last Updated: 2025-09-25
- SDL: View Schema
Overview
This subgraph owns:
- Emission observations (detections)
- Inspection requests (OGI, drone)
- Equipment and component clues
- Detection resolution workflows
- Emission observation reports
- Compliance severity tracking
Root Query Fields
extend type Query {
emissionObservations: EmissionObservations
emissionObservationReports: EmissionObservationReports
inspectionRequests: InspectionRequests
noDetections: NoDetections
emissionEvents: EmissionEvents
methaneLdarBackendDatasets(group: ID!): [CamEngineDataset!]!
methaneLdarBackendConfig: EmissionConfig
methaneLdarBackendConfigs(group: ID!): EmissionConfigs
genAi: GenAi
}
Root Mutation Fields
extend type Mutation {
# Emission Observation Operations
createEmissionObservation(input: CreateEmissionObservationInput!): EmissionObservationMutationResult!
deleteEmissionObservation(input: DeleteEmissionObservationInput!): EmissionObservationMutationResult!
acknowledgeEmissionObservation(input: AcknowledgeEmissionObservationInput!): EmissionObservationMutationResult!
attributeEmissionObservationToEquipment(input: AttributeEmissionObservationToEquipmentInput!): AttributeEmissionObservationToEquipmentResult!
attributeEmissionObservationToSite(input: AttributeEmissionObservationToSiteInput!): AttributeEmissionObservationToSiteResult!
attributeEmissionObservationsToEquipment(input: AttributeEmissionObservationsToEquipmentInput!): AttributeEmissionObservationsToEquipmentResult!
# Detection Operations
createDetection(input: CreateDetectionInput!): DetectionMutationResult!
updateDetection(input: UpdateDetectionInput!): DetectionMutationResult!
updateHistoricalDetection(input: UpdateHistoricalDetectionInput!): DetectionMutationResult!
resolveDetection(input: ResolveDetectionInput!): DetectionMutationResult!
pendDetection(input: PendDetectionInput!): DetectionMutationResult!
# Venting Event Operations
createVentingEvent(input: CreateVentingEventInput!): VentingEventMutationResult!
updateVentingEvent(input: UpdateVentingEventInput!): UpdateVentingEventResult!
# Inspection Request Operations
createInspectionRequest(input: CreateInspectionRequestInput!): InspectionRequestMutationResult!
updateInspectionRequest(input: UpdateInspectionRequestInput!): InspectionRequestMutationResult!
updateInspectionRequestStatus(input: UpdateInspectionRequestStatusInput!): InspectionRequestMutationResult!
# Clue Operations
updateClue(input: UpdateClueInput!): ClueMutationResult!
# No Detection Operations
createNoDetection(input: CreateNoDetectionInput!): NoDetectionMutationResult!
updateNoDetection(input: UpdateNoDetectionInput!): NoDetectionMutationResult!
deleteNoDetection(input: DeleteNoDetectionInput!): NoDetectionMutationResult!
# Emission Event Operations
createEmissionEvent(input: CreateEmissionEventInput!): EmissionEventMutationResult!
updateEmissionEventFalseAlarmStatus(input: UpdateEmissionEventFalseAlarmStatusInput!): EmissionEventMutationResult! @deprecated
updateEmissionEventStatus(input: UpdateEmissionEventStatusInput!): EmissionEventMutationResult!
attributeEmissionEvent(input: EmissionEventAttributionInput!): EmissionEventMutationResult!
correlateEmissionEvents(input: EmissionEventsCorrelationInput!): EmissionEventsCorrelationResult!
unCorrelateEmissionEvents(input: EmissionEventsUncorrelationInput!): EmissionEventsUncorrelationResult!
deleteEmissionEvents(input: DeleteEmissionEventsInput!): EmissionEventMutationResult!
# Alarm Operations
createAlarm(input: CreateEmissionAlarmInput!): EmissionAlarmMutationResult!
updateAlarm(input: UpdateEmissionAlarmInput!): EmissionAlarmMutationResult!
# Dataset & Configuration Operations
reloadMethaneLdarBackendDatasets(group: ID!): [CamEngineDataset!]!
generateNoDetectionsDatasets(input: NoDetectionsDatasetsInput!): NoDetectionsDatasetsResult!
setMethaneLdarConfig(group: ID!, id: ID!, value: JSONObject!): EmissionConfigMutationResult
manageEmissions(dryRun: Boolean): ManageEmissionsMutation
}
Core Types
EmissionObservation
Detected emission event requiring investigation.
type EmissionObservation @key(fields: "id") {
id: ID!
displayName: String!
priority: EmissionObservationPriority! # HIGH(100), MEDIUM(50), LOW(1)
status: DetectionStatus!
detectionType: DetectionType! # SATELLITE, FLYOVER, DRONE, OGI, etc.
phenomenonTime: DateTime!
receivedAt: DateTime!
geometry: GeoJSONGeometryInterface
clues: [ClueReference!]
inspectionRequests: [InspectionRequestReference!]
resolutionMode: ResolutionMode
audit: EmissionObservationAudit!
}
Detection Types
enum DetectionType {
DETECTION_TYPE_SATELLITE
DETECTION_TYPE_FLYOVER
DETECTION_TYPE_DRONE
DETECTION_TYPE_OGI # Optical Gas Imaging
DETECTION_TYPE_CMS # Continuous Monitoring System
DETECTION_TYPE_OWD # On-site Walk Down
DETECTION_TYPE_VENTING_FLARING_BLOWDOWN
DETECTION_TYPE_MANUAL
}
Detection Status
enum DetectionStatus {
DETECTION_STATUS_NEW
DETECTION_STATUS_VISUAL_INSPECTION_SCHEDULED
DETECTION_STATUS_VISUAL_INSPECTION_COMPLETED
DETECTION_STATUS_OGI_REQUESTED
DETECTION_STATUS_OGI_SCHEDULED
DETECTION_STATUS_OGI_COMPLETED
DETECTION_STATUS_LEAK_REPAIR_SCHEDULED
DETECTION_STATUS_LEAK_REPAIRED
DETECTION_STATUS_VERIFICATION_SCHEDULED
DETECTION_STATUS_RESOLVED
}
InspectionRequest
Request for follow-up inspection.
type InspectionRequest {
id: ID!
detectionReference: DetectionReference!
inspectionType: InspectionType! # INSPECTION_OGI, INSPECTION_DRONE
status: InspectionStatus!
additionalComment: String
clues: [ClueReference!]
requestedBy: InspectionRequestRequester
audit: InspectionRequestAudit!
siteId: ID
multitaskProcedureId: String
}
Equipment & Clues
Equipment context for detections:
type Equipment {
id: ID!
name: String!
description: String
siteReference: SiteReference!
components: [EquipmentComponent!]
}
type Clue {
clueId: ID!
displayName: String!
equipment: Equipment
}
Resolution Modes
enum ResolutionMode {
DETECTION_RESOLVED_CORRELATED # Correlated with another detection
DETECTION_RESOLVED_FALSE_ALARM # False positive
DETECTION_RESOLVED_READY_TO_RECONCILE # Ready for compliance reporting
}
Entity Extensions
Site
Extends Site with emission observation reports.
type SiteReference @key(fields: "siteId") {
siteId: ID!
emissionObservationReports: EmissionObservationMonthSiteReportConnection
}