{
  "openapi": "3.0.3",
  "info": {
    "contact": {
      "email": "ixo@ixo.world",
      "name": "IXO Team"
    },
    "description": "Versioning: the major version is carried in the URL path (`/v1`). Retiring\nan endpoint is announced with `Deprecation` (RFC 9745) and `Sunset`\n(RFC 8594) response headers at least 180 days ahead; the full policy is at\nhttps://docs.ixo.world/api-reference/versioning. Every error response uses\nthe envelope in `components/schemas/Error`.\n\nThe Emerging Household Energy API is designed to facilitate seamless communication between the dMRV system and the registry system. It enables the registry system to retrieve accurate and timely data from the dMRV system, supporting efficient monitoring, reporting, and verification processes. By ensuring reliable data exchange and integration, the API plays a critical role in maintaining data integrity and streamlining workflows between these interconnected systems.\n",
    "license": {
      "name": "Apache License 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0"
    },
    "title": "Emerging Platform API",
    "version": "1.0.0",
    "x-versioning": {
      "scheme": "URL path major version",
      "policy": "https://docs.ixo.world/api-reference/versioning",
      "deprecationHeaders": [
        "Deprecation (RFC 9745)",
        "Sunset (RFC 8594)"
      ],
      "minimumNoticeDays": 180
    }
  },
  "servers": [
    {
      "description": "Development",
      "url": "https://dev.api.emerging.eco/emerging-platform/v1"
    }
  ],
  "tags": [
    {
      "name": "Household Information",
      "description": "Endpoints related to household statistics and density profiles"
    },
    {
      "name": "Device Monitoring",
      "description": "Endpoints for monitoring device status and activity"
    },
    {
      "name": "Fuel Management",
      "description": "Endpoints for tracking fuel usage and consumption"
    },
    {
      "name": "Carbon Credits",
      "description": "Endpoints for managing carbon credit lifecycle"
    },
    {
      "name": "Claims Management",
      "description": "Endpoints for verifying and tracking various claims"
    },
    {
      "name": "System Health",
      "description": "Server health and documentation endpoints"
    }
  ],
  "paths": {
    "/households/stats": {
      "get": {
        "description": "Retrieve household statistics, including the number of serviced households and density profiles.",
        "operationId": "getHouseholdStats",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "total_households": 1500,
                  "density": {
                    "low": 700,
                    "medium": 500,
                    "high": 300
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/HouseholdStats"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "Get household statistics",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Household Information"
        ]
      }
    },
    "/households/stove-stacking": {
      "get": {
        "description": "Analyze usage patterns combining multiple fuel types (e.g., LPG + Biomass).",
        "operationId": "getStoveStackingData",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoveStacking"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "Get stove stacking data",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Household Information"
        ]
      }
    },
    "/devices/status": {
      "get": {
        "description": "Monitor real-time status and activity logs of connected devices.",
        "operationId": "getDeviceStatus",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "device_id": "device-456",
                  "status": "inactive",
                  "last_active": "2024-01-01T08:30:00Z"
                },
                "schema": {
                  "$ref": "#/components/schemas/DeviceStatus"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "Get device status and activity",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Device Monitoring"
        ]
      }
    },
    "/fuel-usage": {
      "get": {
        "description": "Retrieve data on fuel usage aggregated by household, region, or time period.",
        "operationId": "getFuelUsage",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "household_id": "household-010",
                  "fuel_consumed": 42.3,
                  "region": "East Region"
                },
                "schema": {
                  "$ref": "#/components/schemas/FuelUsage"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "Get fuel usage metrics",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Fuel Management"
        ]
      }
    },
    "/credits/issued": {
      "get": {
        "description": "Retrieve the number of credits issued per project and time period.",
        "operationId": "getIssuedCredits",
        "parameters": [
          {
            "description": "Unique identifier of the project.",
            "explode": true,
            "in": "query",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Time period for which credits were issued.",
            "explode": true,
            "in": "query",
            "name": "time_period",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "project_id": "project-789",
                  "time_period": "2023-Q4",
                  "credits": 1200
                },
                "schema": {
                  "$ref": "#/components/schemas/CreditsIssued"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "Get issued credits",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Carbon Credits"
        ]
      }
    },
    "/credits/cancelled": {
      "get": {
        "description": "Retrieve records of credits that have been invalidated.",
        "operationId": "getCancelledCredits",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "credit_id": "credit-001",
                  "cancellation_date": "2024-01-05"
                },
                "schema": {
                  "$ref": "#/components/schemas/CreditsCancelled"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "Get cancelled credits",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Carbon Credits"
        ]
      }
    },
    "/credits/transferred": {
      "get": {
        "description": "View records of credits transferred to ITMOs.",
        "operationId": "getTransferredCredits",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "sender": "entity-abc",
                  "recipient": "entity-xyz",
                  "amount": 500,
                  "transfer_date": "2024-01-10"
                },
                "schema": {
                  "$ref": "#/components/schemas/CreditsTransferred"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "Get transferred credits",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Carbon Credits"
        ]
      }
    },
    "/credits/retired": {
      "get": {
        "description": "Retrieve information about retired credits and their associated emission reductions.",
        "operationId": "getRetiredCredits",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "credit_id": "credit-789",
                  "retirement_date": "2024-01-15",
                  "emission_reductions": 350
                },
                "schema": {
                  "$ref": "#/components/schemas/CreditsRetired"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "Get retired credits",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Carbon Credits"
        ]
      }
    },
    "/claims/fuel-purchase": {
      "get": {
        "description": "Retrieve verified claims of purchased fuel units.",
        "operationId": "getFuelPurchaseClaims",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "fuel_id": "fuel-123",
                  "amount": 100.5,
                  "purchase_date": "2024-01-20"
                },
                "schema": {
                  "$ref": "#/components/schemas/FuelPurchaseClaim"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "View fuel purchase claims",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Claims Management"
        ]
      }
    },
    "/claims/fuel-delivery": {
      "get": {
        "description": "Retrieve details of completed fuel deliveries.",
        "operationId": "getFuelDeliveryClaims",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "delivery_id": "delivery-456",
                  "delivery_date": "2024-01-25",
                  "delivered_quantity": 250
                },
                "schema": {
                  "$ref": "#/components/schemas/FuelDeliveryClaim"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "View fuel delivery claims",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Claims Management"
        ]
      }
    },
    "/claims/emission-reduction": {
      "get": {
        "description": "Retrieve records of Certified Emission Reductions (CERs) achieved.",
        "operationId": "getEmissionReductionClaims",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "project_id": "project-789",
                  "period": "2023-Q4",
                  "reductions": 300
                },
                "schema": {
                  "$ref": "#/components/schemas/EmissionReductionClaim"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "View emission reduction claims",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Claims Management"
        ]
      }
    },
    "/claims/household-onboarding": {
      "get": {
        "description": "Retrieve records of household onboarding claims.",
        "operationId": "getHouseholdOnboardingClaims",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "household_id": "household-123",
                  "onboarding_date": "2024-01-01"
                },
                "schema": {
                  "$ref": "#/components/schemas/HouseholdOnboardingClaim"
                }
              }
            },
            "description": "Successful response",
            "headers": {
              "Deprecation": {
                "description": "Present only once this operation is deprecated: an HTTP date, or an @-prefixed Unix timestamp, marking when it became deprecated. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              },
              "Sunset": {
                "description": "Present only once a retirement date is set: the HTTP date after which this operation may stop responding. At least 180 days of notice. See https://docs.ixo.world/api-reference/versioning",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request was malformed, or a parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The bearer token is missing, expired or not valid for this resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The request was well formed but the server failed to handle it. Safe to retry with backoff.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any other failure. Branch on the HTTP status code; the body is always this envelope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "summary": "Get household onboarding claims",
        "x-eov-operation-handler": "controllers/DefaultController",
        "tags": [
          "Claims Management"
        ]
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "API key issued through Mission Control, sent as `Authorization: Bearer YOUR_API_KEY`.\nSee https://docs.ixo.world/platforms/Emerging/emerging-api for how keys are issued and scoped.\n"
      }
    },
    "schemas": {
      "HouseholdStats": {
        "example": {
          "total_households": 1500,
          "density": {
            "low": 700,
            "medium": 500,
            "high": 300
          }
        },
        "properties": {
          "total_households": {
            "description": "Total number of serviced households.",
            "type": "integer"
          },
          "density": {
            "$ref": "#/components/schemas/HouseholdStats_density"
          }
        }
      },
      "StoveStacking": {
        "example": {
          "fuel_type": "LPG + Biomass",
          "percentage": 65.5
        },
        "properties": {
          "fuel_type": {
            "description": "Type of fuel used (e.g., LPG + Biomass).",
            "type": "string"
          },
          "percentage": {
            "description": "Percentage of households using this combination.",
            "format": "float",
            "type": "number"
          }
        }
      },
      "DeviceStatus": {
        "example": {
          "device_id": "device-456",
          "status": "inactive",
          "last_active": "2024-01-01T08:30:00Z"
        },
        "properties": {
          "device_id": {
            "description": "Unique identifier of the device.",
            "type": "string"
          },
          "status": {
            "description": "Current operational status of the device.",
            "type": "string"
          },
          "last_active": {
            "description": "Timestamp of the last recorded activity.",
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "FuelUsage": {
        "example": {
          "household_id": "household-010",
          "fuel_consumed": 42.3,
          "region": "East Region"
        },
        "properties": {
          "household_id": {
            "description": "Unique identifier of the household.",
            "type": "string"
          },
          "fuel_consumed": {
            "description": "Total fuel consumed in the specified period.",
            "type": "number"
          },
          "region": {
            "description": "Geographic region of the household.",
            "type": "string"
          }
        }
      },
      "CreditsIssued": {
        "example": {
          "project_id": "project-789",
          "time_period": "2023-Q4",
          "credits": 1200
        },
        "properties": {
          "project_id": {
            "description": "Unique identifier of the project.",
            "type": "string"
          },
          "time_period": {
            "description": "Time period for which credits were issued.",
            "type": "string"
          },
          "credits": {
            "description": "Number of credits issued.",
            "type": "integer"
          }
        }
      },
      "CreditsCancelled": {
        "example": {
          "credit_id": "credit-001",
          "cancellation_date": "2024-01-05"
        },
        "properties": {
          "credit_id": {
            "description": "Unique identifier of the invalidated credit.",
            "type": "string"
          },
          "cancellation_date": {
            "description": "Date of credit cancellation.",
            "format": "date",
            "type": "string"
          }
        }
      },
      "CreditsTransferred": {
        "example": {
          "sender": "entity-abc",
          "recipient": "entity-xyz",
          "amount": 500,
          "transfer_date": "2024-01-10"
        },
        "properties": {
          "sender": {
            "description": "Entity transferring the credits.",
            "type": "string"
          },
          "recipient": {
            "description": "Entity receiving the credits.",
            "type": "string"
          },
          "amount": {
            "description": "Number of credits transferred.",
            "type": "integer"
          },
          "transfer_date": {
            "description": "Date of credit transfer.",
            "format": "date",
            "type": "string"
          }
        }
      },
      "CreditsRetired": {
        "example": {
          "credit_id": "credit-789",
          "retirement_date": "2024-01-15",
          "emission_reductions": 350
        },
        "properties": {
          "credit_id": {
            "description": "Unique identifier of the retired credit.",
            "type": "string"
          },
          "retirement_date": {
            "description": "Date of credit retirement.",
            "format": "date",
            "type": "string"
          },
          "emission_reductions": {
            "description": "Amount of emission reductions associated with the retired credit.",
            "type": "integer"
          }
        }
      },
      "FuelPurchaseClaim": {
        "example": {
          "fuel_id": "fuel-123",
          "amount": 100.5,
          "purchase_date": "2024-01-20"
        },
        "properties": {
          "fuel_id": {
            "description": "Unique identifier of the fuel purchase",
            "type": "string"
          },
          "amount": {
            "description": "Amount of fuel purchased",
            "format": "float",
            "type": "number"
          },
          "purchase_date": {
            "description": "Date when the fuel was purchased",
            "format": "date",
            "type": "string"
          }
        }
      },
      "FuelDeliveryClaim": {
        "example": {
          "delivery_id": "delivery-456",
          "delivery_date": "2024-01-25",
          "delivered_quantity": 250
        },
        "properties": {
          "delivery_id": {
            "description": "Unique identifier of the delivery",
            "type": "string"
          },
          "delivery_date": {
            "description": "Date when the fuel was delivered",
            "format": "date",
            "type": "string"
          },
          "delivered_quantity": {
            "description": "Quantity of fuel delivered",
            "format": "float",
            "type": "number"
          }
        }
      },
      "EmissionReductionClaim": {
        "example": {
          "project_id": "project-789",
          "period": "2023-Q4",
          "reductions": 300
        },
        "properties": {
          "project_id": {
            "description": "Unique identifier of the project",
            "type": "string"
          },
          "period": {
            "description": "Time period for which emissions were reduced",
            "type": "string"
          },
          "reductions": {
            "description": "Amount of emissions reduced",
            "type": "integer"
          }
        }
      },
      "Error": {
        "type": "object",
        "description": "Error envelope returned for 4xx and 5xx responses. `message` is the only field guaranteed to be present; branch on the HTTP status code and treat `message` as human-readable text, not as a stable machine-readable identifier.",
        "example": {
          "message": "project_id is required"
        },
        "properties": {
          "message": {
            "description": "Human-readable description of what went wrong.",
            "type": "string"
          }
        },
        "required": [
          "message"
        ]
      },
      "HouseholdStats_density": {
        "properties": {
          "low": {
            "description": "Number of low-density households.",
            "type": "integer"
          },
          "medium": {
            "description": "Number of medium-density households.",
            "type": "integer"
          },
          "high": {
            "description": "Number of high-density households.",
            "type": "integer"
          }
        }
      },
      "HouseholdOnboardingClaim": {
        "type": "object",
        "properties": {
          "household_id": {
            "type": "string",
            "description": "Unique identifier of the household."
          },
          "onboarding_date": {
            "type": "string",
            "format": "date",
            "description": "Date of onboarding."
          }
        },
        "required": [
          "household_id",
          "onboarding_date"
        ]
      }
    }
  }
}
