v2

latestOpenAPI 3.0.4Apache 2.0raw.githubusercontent.com2026-07-1754198241.7 KB
ResourceDescriptors

Create a resource descriptor

Creates a reusable descriptor for data that can flow through connectors. Use this for CSV rows, REST payloads, OIDC claim sets, SQL tables, vault objects, forms, workflow payloads, credentials, presentations, and future resource types.

post/resource/descriptors

Request body

displayNamestring required

Human-readable resource descriptor name.

descriptionstring

Description of the logical resource and intended use.

resourceKind'OBJECT' | 'TABULAR' | 'DOCUMENT' | 'CLAIM_SET' | 'GRAPH' | 'EVENT_STREAM' | 'FILE' | 'SECRET' | 'CONFIGURATION' | 'CREDENTIAL' | 'PRESENTATION' | 'CUSTOM' required

Logical kind of resource being accessed, independent of transport and serialization. For example, a CSV file with rows is ResourceKind TABULAR and RepresentationKind CSV.

representationKind'JSON' | 'JSON_LD' | 'XML' | 'CSV' | 'PARQUET' | 'AVRO' | 'RDF' | 'JWT' | 'SD_JWT' | 'CBOR' | 'BINARY' | 'TEXT' | 'CUSTOM' required

Data representation or serialization format, independent of transport. This is the data shape on the wire or at rest, not the connector implementation.

shapeKind'SCHEMA' | 'OPENAPI_SCHEMA' | 'JSON_SCHEMA' | 'RDF_SHAPE' | 'SQL_TABLE' | 'CSV_HEADER' | 'CLAIMS_SCHEMA' | 'FREEFORM'

Type of structural shape information used to describe fields and validation rules for a resource.

metadataStringMap

Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.

Example request

{
  "displayName": "Employee profile CSV row",
  "description": "Tabular employee profile data used for employee credential claim mapping.",
  "resourceKind": "TABULAR",
  "representationKind": "CSV",
  "shapeKind": "CSV_HEADER",
  "contract": {
    "contractKind": "CSV_PROFILE",
    "uri": "vault://imports/license-batches/employee-license-v1.csv.profile.json",
    "version": "1.0"
  },
  "fields": [
    {
      "fieldPath": "employee_id",
      "displayName": "Employee id",
      "valueType": "string",
      "required": true
    },
    {
      "fieldPath": "email",
      "displayName": "Work email",
      "valueType": "string",
      "required": true,
      "semanticAttributeId": "3cb996ce-9d68-4959-b8c4-c97e39258fae"
    },
    {
      "fieldPath": "license_type",
      "displayName": "License type",
      "valueType": "string",
      "required": true
    }
  ],
  "metadata": {
    "domain": "employee-licensing"
  }
}

Response

Resource descriptor created.

displayNamestring required

Human-readable resource descriptor name.

descriptionstring

Description of the logical resource and intended use.

resourceKind'OBJECT' | 'TABULAR' | 'DOCUMENT' | 'CLAIM_SET' | 'GRAPH' | 'EVENT_STREAM' | 'FILE' | 'SECRET' | 'CONFIGURATION' | 'CREDENTIAL' | 'PRESENTATION' | 'CUSTOM' required

Logical kind of resource being accessed, independent of transport and serialization. For example, a CSV file with rows is ResourceKind TABULAR and RepresentationKind CSV.

representationKind'JSON' | 'JSON_LD' | 'XML' | 'CSV' | 'PARQUET' | 'AVRO' | 'RDF' | 'JWT' | 'SD_JWT' | 'CBOR' | 'BINARY' | 'TEXT' | 'CUSTOM' required

Data representation or serialization format, independent of transport. This is the data shape on the wire or at rest, not the connector implementation.

shapeKind'SCHEMA' | 'OPENAPI_SCHEMA' | 'JSON_SCHEMA' | 'RDF_SHAPE' | 'SQL_TABLE' | 'CSV_HEADER' | 'CLAIMS_SCHEMA' | 'FREEFORM'

Type of structural shape information used to describe fields and validation rules for a resource.

metadataStringMap

Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.

resourceDescriptorIdstring uuid required

Stable identifier for a described external or internal resource shape.

createdAtstring date-time required

Creation timestamp.

updatedAtstring date-time required

Last update timestamp.

Example response

{
  "resourceDescriptorId": "41436f49-040c-4f5f-9c7f-657f43762e2b",
  "displayName": "Employee profile CSV row",
  "description": "Tabular employee profile data used for employee credential claim mapping.",
  "resourceKind": "TABULAR",
  "representationKind": "CSV",
  "shapeKind": "CSV_HEADER",
  "contract": {
    "contractKind": "CSV_PROFILE",
    "uri": "vault://imports/license-batches/employee-license-v1.csv.profile.json",
    "version": "1.0"
  },
  "fields": [
    {
      "fieldDescriptorId": "f00b9edc-5498-483f-9b91-a42ef080b909",
      "fieldPath": "email",
      "displayName": "Work email",
      "valueType": "string",
      "required": true,
      "multiValued": false,
      "semanticAttributeId": "3cb996ce-9d68-4959-b8c4-c97e39258fae",
      "sensitivity": "personal-data"
    }
  ],
  "metadata": {
    "domain": "employee-licensing"
  },
  "createdAt": "2026-06-18T09:00:00Z",
  "updatedAt": "2026-06-18T09:10:00Z"
}