{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "https://schema.opencaptablecoalition.com/v/1.1.0/files/OCFManifestFile.schema.json",
  "title": "OCF Manifest File",
  "description": "Top-level schema describing the OCF Manifest, which holds issuer information and references ocf files containing transactions, stakeholders, stock classes, etc.",
  "type": "object",
  "allOf": [
    {
      "$ref": "https://schema.opencaptablecoalition.com/v/1.1.0/primitives/files/File.schema.json"
    }
  ],
  "properties": {
    "ocf_version": {
      "description": "OCF Version Identifier -- the current semantic version (https://semver.org/spec/v2.0.0.html)",
      "const": "1.1.0"
    },
    "file_type": {
      "const": "OCF_MANIFEST_FILE"
    },
    "issuer": {
      "description": "Issuer for the cap table",
      "$ref": "https://schema.opencaptablecoalition.com/v/1.1.0/objects/Issuer.schema.json"
    },
    "as_of": {
      "description": "The point-in-time represented by this OCF Package",
      "$ref": "https://schema.opencaptablecoalition.com/v/1.1.0/types/Date.schema.json"
    },
    "generated_at": {
      "description": "Timestamp of when the package was generated. Useful when determining which set of data is most up-to-date, if presented with two packages that have the same `as_of` date, but different cap table data.",
      "type": "string",
      "format": "date-time"
    },
    "comments": {
      "title": "Cap Table - Comment Array",
      "description": "Unstructured text comments related to and stored for the cap table",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "stock_plans_files": {
      "title": "Cap Table - Stock Plans File(s) Array",
      "description": "List of files containing lists of issuer stock plans, indexed from the file containing the first such object created to the file containing the last (See separate /schema/files/stock_plans_file schema to validate loaded files)",
      "type": "array",
      "items": {
        "$ref": "https://schema.opencaptablecoalition.com/v/1.1.0/types/File.schema.json"
      }
    },
    "stock_legend_templates_files": {
      "title": "Cap Table - Stock Legend Templates File(s) Array",
      "description": "List of files containing lists of issuer stock legend templates, indexed from the file containing the first such object created to the file containing the last (See separate /schema/files/stock_legend_templates_file schema to validate loaded files)",
      "type": "array",
      "items": {
        "$ref": "https://schema.opencaptablecoalition.com/v/1.1.0/types/File.schema.json"
      }
    },
    "stock_classes_files": {
      "title": "Cap Table - Stock Classes File(s) Array",
      "description": "List of files containing lists of issuer stock classes, indexed from the file containing the first such object created to the file containing the last (See separate /schema/files/stock_classes_file schema to validate loaded files)",
      "type": "array",
      "items": {
        "$ref": "https://schema.opencaptablecoalition.com/v/1.1.0/types/File.schema.json"
      }
    },
    "vesting_terms_files": {
      "title": "Cap Table - Vesting Terms File(s) Array",
      "description": "List of files containing lists of issuer vesting terms, indexed from the file containing the first such object created to the file containing the last (See separate /schema/files/vesting_terms_file schema to validate loaded files)",
      "type": "array",
      "items": {
        "$ref": "https://schema.opencaptablecoalition.com/v/1.1.0/types/File.schema.json"
      }
    },
    "valuations_files": {
      "title": "Cap Table - Valuation File(s) Array",
      "description": "List of files containing lists of issuer valuations, indexed from the file containing the first such object created to the file containing the last (See separate /schema/files/valuations_file schema to validate loaded files)",
      "type": "array",
      "items": {
        "$ref": "https://schema.opencaptablecoalition.com/v/1.1.0/types/File.schema.json"
      }
    },
    "transactions_files": {
      "title": "Cap Table - Transaction File(s) Array",
      "description": "List of files containing lists of issuer transactions, indexed from the file containing the first such object created to the file containing the last (See separate /schema/files/transactions_file schema to validate loaded files)",
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "https://schema.opencaptablecoalition.com/v/1.1.0/types/File.schema.json"
      }
    },
    "stakeholders_files": {
      "title": "Cap Table - Stakeholder File(s) Array",
      "description": "List of files containing lists of issuer stakeholders, indexed from the file containing the first such object created to the file containing the last (See separate /schema/files/stakeholders_file schema to validate loaded files)",
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "https://schema.opencaptablecoalition.com/v/1.1.0/types/File.schema.json"
      }
    }
  },
  "required": [
    "ocf_version",
    "file_type",
    "issuer",
    "as_of",
    "generated_at",
    "stock_plans_files",
    "stock_legend_templates_files",
    "stock_classes_files",
    "vesting_terms_files",
    "valuations_files",
    "transactions_files",
    "stakeholders_files"
  ],
  "additionalProperties": false,
  "$comment": "Copyright © 2023 Open Cap Table Coalition (https://opencaptablecoalition.com) / Original File: https://github.com/Open-Cap-Table-Coalition/Open-Cap-Format-OCF/tree/v1.1.0/schema/files/OCFManifestFile.schema.json"
}
