{
  "type": "object",
  "properties": {
    "description": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
    "short_description": {
      "anyOf": [{ "type": "string" }, { "type": "null" }]
    },
    "key": { "type": "string" },
    "projectID": { "type": "string" },
    "name": { "type": "string" },
    "methodologies": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "id": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
              "category": {
                "anyOf": [{ "type": "string" }, { "type": "null" }]
              },
              "name": { "anyOf": [{ "type": "string" }, { "type": "null" }] }
            }
          },
          { "type": "null" }
        ]
      }
    },
    "location": {
      "description": "A GeoJSON Point feature.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "type": { "type": "string", "enum": ["Feature"] },
            "geometry": {
              "type": "object",
              "properties": {
                "type": { "type": "string", "enum": ["Point"] },
                "coordinates": {
                  "minItems": 2,
                  "maxItems": 2,
                  "type": "array",
                  "items": { "type": "number" }
                }
              },
              "required": ["type", "coordinates"]
            }
          },
          "required": ["type", "geometry"]
        },
        { "type": "null" }
      ]
    },
    "vintage": { "type": "string" },
    "projectAddress": { "type": "string" },
    "registry": { "type": "string" },
    "updatedAt": { "type": "string" },
    "country": {
      "type": "object",
      "properties": { "id": { "type": "string" } },
      "required": ["id"]
    },
    "region": { "type": "string" },
    "price": { "type": "string" },
    "listings": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "description": "Marketplace listing with per-tonne price and project info.",
            "type": "object",
            "properties": {
              "id": {
                "description": "Unique listing identifier",
                "type": "string"
              },
              "leftToSell": {
                "description": "Remaining supply. Unformatted 18 decimal string",
                "type": "string"
              },
              "tokenAddress": {
                "description": "Address of the asset being sold",
                "type": "string"
              },
              "singleUnitPrice": {
                "description": "USDC price per tonne. Unformatted 6 decimal string. e.g. 1000000",
                "type": "string"
              },
              "totalAmountToSell": { "type": "string" },
              "active": {
                "anyOf": [{ "type": "boolean" }, { "type": "null" }]
              },
              "deleted": {
                "anyOf": [{ "type": "boolean" }, { "type": "null" }]
              },
              "batches": {
                "anyOf": [
                  { "type": "array", "items": { "type": "string" } },
                  { "type": "null" }
                ]
              },
              "batchPrices": {
                "anyOf": [
                  { "type": "array", "items": { "type": "string" } },
                  { "type": "null" }
                ]
              },
              "createdAt": {
                "anyOf": [{ "type": "string" }, { "type": "null" }]
              },
              "updatedAt": {
                "anyOf": [{ "type": "string" }, { "type": "null" }]
              },
              "seller": {
                "type": "object",
                "properties": {
                  "handle": {
                    "anyOf": [{ "type": "string" }, { "type": "null" }]
                  },
                  "username": {
                    "anyOf": [{ "type": "string" }, { "type": "null" }]
                  },
                  "description": {
                    "anyOf": [{ "type": "string" }, { "type": "null" }]
                  },
                  "profileImgUrl": {
                    "anyOf": [{ "type": "string" }, { "type": "null" }]
                  },
                  "id": { "type": "string" }
                },
                "required": ["id"]
              },
              "expiration": {
                "description": "Unix Timestamp (seconds) when the listing expires.",
                "type": "string"
              },
              "minFillAmount": {
                "description": "Minimum quantity for purchase transaction to succeed.",
                "type": "string"
              },
              "project": {
                "type": "object",
                "properties": {
                  "id": { "type": "string" },
                  "key": { "type": "string" },
                  "vintage": { "type": "string" },
                  "name": { "type": "string" },
                  "category": { "type": "string" },
                  "country": { "type": "string" },
                  "methodology": { "type": "string" }
                },
                "required": [
                  "id",
                  "key",
                  "vintage",
                  "name",
                  "category",
                  "country",
                  "methodology"
                ]
              }
            },
            "required": [
              "id",
              "leftToSell",
              "tokenAddress",
              "singleUnitPrice",
              "totalAmountToSell",
              "seller",
              "expiration",
              "minFillAmount",
              "project"
            ]
          }
        },
        { "type": "null" }
      ]
    },
    "images": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "url": { "type": "string" },
              "caption": { "type": "string" }
            },
            "required": ["url", "caption"]
          }
        },
        { "type": "null" }
      ]
    }
  },
  "required": [
    "key",
    "projectID",
    "name",
    "methodologies",
    "vintage",
    "projectAddress",
    "registry",
    "updatedAt",
    "country",
    "region",
    "price"
  ],
  "x-readme-ref-name": "Project"
}
