naftiko: 1.0.0-alpha2 info: label: Core — schemas description: 'Core — schemas. 12 operations. Lead operation: Get a list of all schemas for the namespace. Self-contained Naftiko capability covering one business surface.' tags: - Scalar - schemas created: '2026-05-20' modified: '2026-05-20' binds: - namespace: env keys: SCALAR_API_KEY: SCALAR_API_KEY capability: consumes: - type: http namespace: core-schemas baseUri: https://example.com description: Core — schemas business capability. Self-contained, no shared references. resources: - name: schemas-check-slug path: /schemas/check-slug operations: - name: postschemascheckslug method: POST description: Checks if a schema slug is available outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: schemas-access-group path: /schemas/access-group operations: - name: postschemasaccessgroup method: POST description: Adds an access group to a managed schema outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteschemasaccessgroup method: DELETE description: Removes an access group from a managed schema outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: schemas-namespace path: /schemas/{namespace} operations: - name: getschemasnamespace method: GET description: Get a list of all schemas for the namespace outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string description: path parameter namespace. required: true - name: postschemasnamespace method: POST description: Creates a managed schema outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string description: path parameter namespace. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: schemas-namespace-slug path: /schemas/{namespace}/{slug} operations: - name: patchschemasnamespaceslug method: PATCH description: Update schema metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string description: path parameter namespace. required: true - name: slug in: path type: string description: path parameter slug. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteschemasnamespaceslug method: DELETE description: Delete a specific schema and all of the related versions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string description: path parameter namespace. required: true - name: slug in: path type: string description: path parameter slug. required: true - name: schemas-namespace-slug-version-semver path: /schemas/{namespace}/{slug}/version/{semver} operations: - name: getschemasnamespaceslugversionsemver method: GET description: Get a specific schema document outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string description: path parameter namespace. required: true - name: slug in: path type: string description: path parameter slug. required: true - name: semver in: path type: string description: path parameter semver. required: true - name: postschemasnamespaceslugversionsemver method: POST description: Update managed schema content in GCS outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string description: path parameter namespace. required: true - name: slug in: path type: string description: path parameter slug. required: true - name: semver in: path type: string description: path parameter semver. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteschemasnamespaceslugversionsemver method: DELETE description: Delete a specific schema version outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string description: path parameter namespace. required: true - name: slug in: path type: string description: path parameter slug. required: true - name: semver in: path type: string description: path parameter semver. required: true - name: schemas-namespace-slug-version path: /schemas/{namespace}/{slug}/version operations: - name: postschemasnamespaceslugversion method: POST description: Create a new schema version outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string description: path parameter namespace. required: true - name: slug in: path type: string description: path parameter slug. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: schemas-namespace-slug-version-version-duplicate path: /schemas/{namespace}/{slug}/version/{version}/duplicate operations: - name: postschemasnamespaceslugversionversionduplicate method: POST description: Duplicate schema version outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string description: path parameter namespace. required: true - name: slug in: path type: string description: path parameter slug. required: true - name: version in: path type: string description: path parameter version. required: true - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: core-schemas-rest port: 8080 description: REST adapter for Core — schemas. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/schemas/check-slug name: schemas-check-slug description: REST surface for schemas-check-slug. operations: - method: POST name: postschemascheckslug description: Checks if a schema slug is available call: core-schemas.postschemascheckslug with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/schemas/access-group name: schemas-access-group description: REST surface for schemas-access-group. operations: - method: POST name: postschemasaccessgroup description: Adds an access group to a managed schema call: core-schemas.postschemasaccessgroup with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteschemasaccessgroup description: Removes an access group from a managed schema call: core-schemas.deleteschemasaccessgroup with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/schemas/{namespace} name: schemas-namespace description: REST surface for schemas-namespace. operations: - method: GET name: getschemasnamespace description: Get a list of all schemas for the namespace call: core-schemas.getschemasnamespace with: namespace: rest.namespace outputParameters: - type: object mapping: $. - method: POST name: postschemasnamespace description: Creates a managed schema call: core-schemas.postschemasnamespace with: namespace: rest.namespace body: rest.body outputParameters: - type: object mapping: $. - path: /v1/schemas/{namespace}/{slug} name: schemas-namespace-slug description: REST surface for schemas-namespace-slug. operations: - method: PATCH name: patchschemasnamespaceslug description: Update schema metadata call: core-schemas.patchschemasnamespaceslug with: namespace: rest.namespace slug: rest.slug body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteschemasnamespaceslug description: Delete a specific schema and all of the related versions call: core-schemas.deleteschemasnamespaceslug with: namespace: rest.namespace slug: rest.slug outputParameters: - type: object mapping: $. - path: /v1/schemas/{namespace}/{slug}/version/{semver} name: schemas-namespace-slug-version-semver description: REST surface for schemas-namespace-slug-version-semver. operations: - method: GET name: getschemasnamespaceslugversionsemver description: Get a specific schema document call: core-schemas.getschemasnamespaceslugversionsemver with: namespace: rest.namespace slug: rest.slug semver: rest.semver outputParameters: - type: object mapping: $. - method: POST name: postschemasnamespaceslugversionsemver description: Update managed schema content in GCS call: core-schemas.postschemasnamespaceslugversionsemver with: namespace: rest.namespace slug: rest.slug semver: rest.semver body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteschemasnamespaceslugversionsemver description: Delete a specific schema version call: core-schemas.deleteschemasnamespaceslugversionsemver with: namespace: rest.namespace slug: rest.slug semver: rest.semver outputParameters: - type: object mapping: $. - path: /v1/schemas/{namespace}/{slug}/version name: schemas-namespace-slug-version description: REST surface for schemas-namespace-slug-version. operations: - method: POST name: postschemasnamespaceslugversion description: Create a new schema version call: core-schemas.postschemasnamespaceslugversion with: namespace: rest.namespace slug: rest.slug body: rest.body outputParameters: - type: object mapping: $. - path: /v1/schemas/{namespace}/{slug}/version/{version}/duplicate name: schemas-namespace-slug-version-version-duplicate description: REST surface for schemas-namespace-slug-version-version-duplicate. operations: - method: POST name: postschemasnamespaceslugversionversionduplicate description: Duplicate schema version call: core-schemas.postschemasnamespaceslugversionversionduplicate with: namespace: rest.namespace slug: rest.slug version: rest.version body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: core-schemas-mcp port: 9090 transport: http description: MCP adapter for Core — schemas. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: scalar-postschemascheckslug description: Checks if a schema slug is available hints: readOnly: false destructive: false idempotent: false call: core-schemas.postschemascheckslug with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postschemasaccessgroup description: Adds an access group to a managed schema hints: readOnly: false destructive: false idempotent: false call: core-schemas.postschemasaccessgroup with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-deleteschemasaccessgroup description: Removes an access group from a managed schema hints: readOnly: false destructive: true idempotent: true call: core-schemas.deleteschemasaccessgroup with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-getschemasnamespace description: Get a list of all schemas for the namespace hints: readOnly: true destructive: false idempotent: true call: core-schemas.getschemasnamespace with: namespace: tools.namespace outputParameters: - type: object mapping: $. - name: scalar-postschemasnamespace description: Creates a managed schema hints: readOnly: false destructive: false idempotent: false call: core-schemas.postschemasnamespace with: namespace: tools.namespace body: tools.body outputParameters: - type: object mapping: $. - name: scalar-patchschemasnamespaceslug description: Update schema metadata hints: readOnly: false destructive: false idempotent: false call: core-schemas.patchschemasnamespaceslug with: namespace: tools.namespace slug: tools.slug body: tools.body outputParameters: - type: object mapping: $. - name: scalar-deleteschemasnamespaceslug description: Delete a specific schema and all of the related versions hints: readOnly: false destructive: true idempotent: true call: core-schemas.deleteschemasnamespaceslug with: namespace: tools.namespace slug: tools.slug outputParameters: - type: object mapping: $. - name: scalar-getschemasnamespaceslugversionsemver description: Get a specific schema document hints: readOnly: true destructive: false idempotent: true call: core-schemas.getschemasnamespaceslugversionsemver with: namespace: tools.namespace slug: tools.slug semver: tools.semver outputParameters: - type: object mapping: $. - name: scalar-postschemasnamespaceslugversionsemver description: Update managed schema content in GCS hints: readOnly: false destructive: false idempotent: false call: core-schemas.postschemasnamespaceslugversionsemver with: namespace: tools.namespace slug: tools.slug semver: tools.semver body: tools.body outputParameters: - type: object mapping: $. - name: scalar-deleteschemasnamespaceslugversionsemver description: Delete a specific schema version hints: readOnly: false destructive: true idempotent: true call: core-schemas.deleteschemasnamespaceslugversionsemver with: namespace: tools.namespace slug: tools.slug semver: tools.semver outputParameters: - type: object mapping: $. - name: scalar-postschemasnamespaceslugversion description: Create a new schema version hints: readOnly: false destructive: false idempotent: false call: core-schemas.postschemasnamespaceslugversion with: namespace: tools.namespace slug: tools.slug body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postschemasnamespaceslugversionversionduplicate description: Duplicate schema version hints: readOnly: false destructive: false idempotent: false call: core-schemas.postschemasnamespaceslugversionversionduplicate with: namespace: tools.namespace slug: tools.slug version: tools.version body: tools.body outputParameters: - type: object mapping: $.