{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://fdc3.finos.org/schemas/2.1/context/position.schema.json",
  "type": "object",
  "title": "Position",
  "description": "A financial position made up of an instrument and a holding in that instrument. This type is a good example of how new context types can be composed from existing types.\n\nIn this case, the instrument and the holding amount for that instrument are required values.\n\nThe [Position](Position) type goes hand-in-hand with the [Portfolio](Portfolio) type, which represents multiple holdings in a combination of instruments.\n\nThe position schema does not explicitly include identifiers in the `id` section, as there is not a common standard for such identifiers. Applications can, however, populate this part of the contract with custom identifiers if so desired.",
  "allOf": [
    {
      "type": "object",
      "properties": {
        "type": {
          "const": "fdc3.position"
        },
        "instrument": {
          "$ref": "instrument.schema.json#",
          "title": "The financial instrument that this position relates to",
          "description": ""
        },
        "holding": {
          "type": "number",
          "title": "The size of the holding represented by this position",
          "description": "The amount of the holding, e.g. a number of shares"
        }
      },
      "required": [
        "instrument",
        "holding"
      ]
    },
    { "$ref": "context.schema.json#/definitions/BaseContext" }
  ],
  "examples": [
    {
      "type": "fdc3.position",
      "instrument": {
        "type": "fdc3.instrument",
        "id": {
          "ticker": "AAPL"
        }
      },
      "holding": 2000000
    }
  ]
}