metadata

Validate metadata

Validate an inline Croissant adapter or dataset document without persisting it. Adapter validation includes the adapter document and each embedded dataset fragment. Validation failures return 200 with is_valid=false; malformed requests return 422.

post/api/v1/metadata/validate

Request

  • The document declares no server URL.
  • Auth: none declared

Request body

metadataobject required

Inline Croissant adapter or dataset metadata document.

kind'auto' | 'adapter' | 'dataset'

Metadata type to validate. Use auto to infer from the root @type.

Example request

{
  "kind": "dataset",
  "metadata": {
    "@context": {
      "@language": "en",
      "@vocab": "https://schema.org/",
      "bsc": "https://bioschemas.org/profiles/Dataset/1.0-RELEASE/",
      "citeAs": "cr:citeAs",
      "column": "cr:column",
      "conformsTo": "dct:conformsTo",
      "cr": "http://mlcommons.org/croissant/",
      "data": {
        "@id": "cr:data",
        "@type": "@json"
      },
      "dataType": {
        "@id": "cr:dataType",
        "@type": "@vocab"
      },
      "dct": "http://purl.org/dc/terms/",
      "examples": {
        "@id": "cr:examples",
        "@type": "@json"
      },
      "extract": "cr:extract",
      "field": "cr:field",
      "fileObject": "cr:fileObject",
      "fileProperty": "cr:fileProperty",
      "fileSet": "cr:fileSet",
      "format": "cr:format",
      "includes": "cr:includes",
      "isLiveDataset": "cr:isLiveDataset",
      "jsonPath": "cr:jsonPath",
      "key": "cr:key",
      "md5": "cr:md5",
      "parentField": "cr:parentField",
      "path": "cr:path",
      "rai": "http://mlcommons.org/croissant/RAI/",
      "recordSet": "cr:recordSet",
      "references": "cr:references",
      "regex": "cr:regex",
      "repeated": "cr:repeated",
      "replace": "cr:replace",
      "samplingRate": "cr:samplingRate",
      "sc": "https://schema.org/",
      "separator": "cr:separator",
      "source": "cr:source",
      "subField": "cr:subField",
      "transform": "cr:transform"
    },
    "@type": "sc:Dataset",
    "citeAs": "https://example.org/people-demo",
    "conformsTo": "http://mlcommons.org/croissant/1.0",
    "creator": {
      "@type": "sc:Person",
      "name": "Dataset Creator"
    },
    "datePublished": "2026-04-17",
    "description": "Small CSV dataset used to verify validation.",
    "distribution": [
      {
        "@id": "people.csv",
        "@type": "cr:FileObject",
        "contentUrl": "people.csv",
        "encodingFormat": "text/csv",
        "name": "people.csv",
        "sha256": "abc123"
      }
    ],
    "license": "https://opensource.org/licenses/MIT",
    "name": "People Demo Dataset",
    "recordSet": [
      {
        "@id": "people-records",
        "@type": "cr:RecordSet",
        "field": [
          {
            "@id": "people-records/id",
            "@type": "cr:Field",
            "dataType": "sc:Text",
            "description": "Identifier column.",
            "name": "id",
            "source": {
              "extract": {
                "column": "id"
              },
              "fileObject": {
                "@id": "people.csv"
              }
            }
          }
        ],
        "name": "records"
      }
    ],
    "url": "https://example.org/people-demo",
    "version": "1.0.0"
  }
}

Response

Successful Response

kind'adapter' | 'dataset' required
is_validboolean required
profile_versionstring required
errorsstring[] required

Changes

No recorded changes to this operation across all 16 revisions of this API.