Vertesia · Schema

Collection

CompanyDigital ExperiencePerformance MonitoringAnalyticsContent Delivery

Properties

Name Type Description
id string Unique identifier for the object
name string Human-readable name or title
description string Optional detailed description of the object
tags array Optional array of categorization tags
updated_by string Identifier of the user who last modified the object
created_by string Identifier of the user who created the object
created_at string ISO timestamp of when the object was created
updated_at string ISO timestamp of when the object was last updated
dynamic boolean A flag to indicate if the collection is dynamic or static. If the collection is dynamic, the members are determined by a query using the query field. If the collection is static, the members are expli
status object
type object
skip_head_sync boolean A flag to indicate whether to track and sync member HEAD revisions. The default is to sync HEAD revisions for collection members (skip_head_sync: false)
parents arraynull The parent collections if any. A collection can have multiple parents.
table_layout array The table layout to use for the collection. The layout defined in the type could serve as a fallback if not defined here.
allowed_types array The allowed types for the collection.
properties object
query object
security object
sensitivity number BLP sensitivity level — propagated to member documents (max across collections)
compartments array Compartments — propagated to member documents (union across collections)
shared boolean Effective shared state: true iff the collection is a member of an effectively-shared parent collection (inherited; sync-managed). Combine with shared_root for full readability.
shared_root boolean True iff the collection was explicitly shared via the API (a root of the project shared space). Never set by the sync.
shared_properties array List of property names from the collection's properties that should be shared with (injected into) member objects. These properties will be propagated to all members of this collection and merged as a
user_permissions object Computed per-request permissions for the current user on this collection. Not stored — computed on the fly from the collection's security field (same semantics as a content object's user_permissions).
View JSON Schema on GitHub

JSON Schema

vertesiahq-collection-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/vertesiahq/json-schema/vertesiahq-collection-schema.json",
  "title": "Collection",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/vertesiahq-collections-api-openapi.yml#/components/schemas/Collection",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the object"
    },
    "name": {
      "type": "string",
      "description": "Human-readable name or title"
    },
    "description": {
      "type": "string",
      "description": "Optional detailed description of the object"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional array of categorization tags"
    },
    "updated_by": {
      "type": "string",
      "description": "Identifier of the user who last modified the object"
    },
    "created_by": {
      "type": "string",
      "description": "Identifier of the user who created the object"
    },
    "created_at": {
      "type": "string",
      "description": "ISO timestamp of when the object was created"
    },
    "updated_at": {
      "type": "string",
      "description": "ISO timestamp of when the object was last updated"
    },
    "dynamic": {
      "type": "boolean",
      "description": "A flag to indicate if the collection is dynamic or static. If the collection is dynamic, the members are determined by a query using the query field. If the collection is static, the members are explicitly defined using the members array."
    },
    "status": {
      "$ref": "#/$defs/CollectionStatus"
    },
    "type": {
      "$ref": "#/$defs/ContentObjectTypeRef"
    },
    "skip_head_sync": {
      "type": "boolean",
      "description": "A flag to indicate whether to track and sync member HEAD revisions. The default is to sync HEAD revisions for collection members (skip_head_sync: false)"
    },
    "parents": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      },
      "description": "The parent collections if any. A collection can have multiple parents."
    },
    "table_layout": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ColumnLayout"
      },
      "description": "The table layout to use for the collection. The layout defined in the type could serve as a fallback if not defined here."
    },
    "allowed_types": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The allowed types for the collection."
    },
    "properties": {
      "type": "object",
      "additionalProperties": true
    },
    "query": {
      "type": "object",
      "additionalProperties": true
    },
    "security": {
      "$ref": "#/$defs/StringArrayMap"
    },
    "sensitivity": {
      "type": "number",
      "description": "BLP sensitivity level — propagated to member documents (max across collections)"
    },
    "compartments": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Compartments — propagated to member documents (union across collections)"
    },
    "shared": {
      "type": "boolean",
      "description": "Effective shared state: true iff the collection is a member of an effectively-shared parent collection (inherited; sync-managed). Combine with shared_root for full readability."
    },
    "shared_root": {
      "type": "boolean",
      "description": "True iff the collection was explicitly shared via the API (a root of the project shared space). Never set by the sync."
    },
    "shared_properties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of property names from the collection's properties that should be shared with (injected into) member objects. These properties will be propagated to all members of this collection and merged as arrays."
    },
    "user_permissions": {
      "$ref": "#/$defs/ContentObjectUserPermissions",
      "description": "Computed per-request permissions for the current user on this collection. Not stored — computed on the fly from the collection's security field (same semantics as a content object's user_permissions)."
    }
  },
  "required": [
    "id",
    "name",
    "updated_by",
    "created_by",
    "created_at",
    "updated_at",
    "dynamic",
    "status",
    "skip_head_sync"
  ],
  "additionalProperties": false,
  "$defs": {
    "CollectionStatus": {
      "type": "string",
      "enum": [
        "active",
        "archived"
      ]
    },
    "ColumnLayout": {
      "type": "object",
      "properties": {
        "field": {
          "type": "string",
          "description": "The path of the field to use (e.g. \"properties.title\")"
        },
        "name": {
          "type": "string",
          "description": "The name to display in the table column"
        },
        "type": {
          "type": "string",
          "description": "The type of the field specifies how the rendering will be done. If not specified the string type will be used. The type may contain additional parameters prepended using a web-like query string syntax: date?LLL"
        },
        "fallback": {
          "type": "string",
          "description": "Path of an alternate field to display when the primary field is absent"
        },
        "default": {
          "description": "A default value to be used if the field is not present in the object"
        }
      },
      "required": [
        "field",
        "name"
      ],
      "additionalProperties": false
    },
    "ContentObjectTypeRef": {
      "oneOf": [
        {
          "$ref": "#/$defs/StoredTypeRef"
        },
        {
          "$ref": "#/$defs/InCodeTypeRef"
        }
      ],
      "type": "object",
      "required": [
        "ref_type"
      ]
    },
    "ContentObjectUserPermissions": {
      "type": "object",
      "properties": {
        "can_write": {
          "type": "boolean"
        },
        "can_delete": {
          "type": "boolean"
        }
      },
      "required": [
        "can_write",
        "can_delete"
      ],
      "additionalProperties": false,
      "description": "Computed per-request permissions for the current user on a content object. Not stored in the database — computed on the fly by the API from the object's security field."
    },
    "InCodeTypeRef": {
      "type": "object",
      "properties": {
        "ref_type": {
          "type": "string",
          "const": "incode"
        },
        "id": {
          "type": "string",
          "description": "Namespaced identifier for in-code types (e.g. \"sys:Invoice\", \"app:myapp:Contract\")"
        },
        "name": {
          "type": "string"
        },
        "default_view": {
          "type": "string",
          "enum": [
            "auto",
            "text",
            "pdf",
            "image",
            "properties"
          ],
          "description": "Display hint from the type's intake policy (`intake.default_view`). Enriched by the API on single-object reads so clients can pick the initial view without fetching the type. Absent on list responses and older servers."
        }
      },
      "required": [
        "ref_type",
        "id",
        "name"
      ],
      "additionalProperties": false
    },
    "StoredTypeRef": {
      "type": "object",
      "properties": {
        "ref_type": {
          "type": "string",
          "const": "stored"
        },
        "id": {
          "type": "string",
          "description": "MongoDB ObjectId string for stored types"
        },
        "name": {
          "type": "string"
        },
        "default_view": {
          "type": "string",
          "enum": [
            "auto",
            "text",
            "pdf",
            "image",
            "properties"
          ],
          "description": "Display hint from the type's intake policy (`intake.default_view`). Enriched by the API on single-object reads so clients can pick the initial view without fetching the type. Absent on list responses and older servers."
        }
      },
      "required": [
        "ref_type",
        "id",
        "name"
      ],
      "additionalProperties": false
    },
    "StringArrayMap": {
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vertesiahq-collection"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.