{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schemas.api.finra.org/FINRAApiPlatformDatasetsDetail.json",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "group",
    "name",
    "status",
    "datasetVersion"
  ],
  "properties": {
    "group": {
      "type": "string",
      "description": "Name of the group or category of the data. Setting this parameter returns only dataset(s) belonging to that group.",
      "example": "DAPI_TEST"
    },
    "name": {
      "type": "string",
      "description": "Unique name of the data within the group. Setting this parameter with group returns one unique dataset. Setting this parameter without group can return one or more dataset(s) across group(s).",
      "example": "otc"
    },
    "securityLevel": {
      "type": "string",
      "enum": ["PUBLIC", "CONF", "RCI", "PCI"],
      "description": "Security level of the data for this dataset",
      "example": "PUBLIC"
    },
    "usage": {
      "type": "string",
      "enum": ["INTERNAL", "EXTERNAL"],
      "description": "Whether or not data is external or internal only.",
      "example": "INTERNAL"
    },
    "description": {
      "type": "string",
      "description": "Description of the data for this dataset.",
      "example": "OTC public data"
    },
    "supportedFormats": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": ["CSV", "JSON"]
      },
      "description": "List of supported data formats. For each format listed, it is expected that the dataset will be able to convert in between them upon user request.",
      "example": ["CSV", "JSON"]
    },
    "nativeFormat": {
      "type": "string",
      "description": "Native format of the data",
      "example": "CSV"
    },
    "supportsRecordOffset": {
      "type": "boolean",
      "description": "Denotes whether this dataset supports client specifying a record offset.",
      "example": true
    },
    "supportsRecordLimit": {
      "type": "boolean",
      "description": "Denotes whether this dataset supports client specifying a record limit.",
      "example": true
    },
    "supportsQuery": {
      "type": "boolean",
      "description": "Denotes whether this dataset supports query parameters (limit/offset, filters, etc).",
      "example": true
    },
    "supportsGetById": {
      "type": "boolean",
      "description": "Denotes if this dataset supports getting a single record by primary id field.",
      "example": true
    },
    "supportedMethods": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": ["GET", "POST"]
      },
      "description": "The HTTP methods supported by this dataset.",
      "example": ["GET", "POST"]
    },
    "entitlement": {
      "type": "string",
      "description": "Denotes the entitlement required to view this dataset",
      "example": "true"
    },
    "status": {
      "type": "string",
      "enum": ["Active", "Deprecated", "Expired"],
      "description": "Denotes the current status of this dataset.",
      "example": "Active"
    },
    "statusUpdatedAt": {
      "type": "string",
      "description": "Denotes the timestamp when the status changed for this dataset version",
      "example": "2021-01-14 16:15:55.108"
    },
    "dataVersion": {
      "type": "integer",
      "description": "Denotes the version of the dataset",
      "example": 2
    }
  }
}
