Scalar · Capability

Core — schemas

Core — schemas. 12 operations. Lead operation: Get a list of all schemas for the namespace. Self-contained Naftiko capability covering one business surface.

Core — schemas is a Naftiko capability published by Scalar, one of 22 capabilities the APIs.io network indexes for this provider. It bundles 12 operations across the POST, DELETE, GET, and PATCH methods rooted at /v1/schemas.

The capability includes 2 read-only operations and 10 state-changing operations. Lead operation: Checks if a schema slug is available. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Scalar and schemas.

Run with Naftiko Scalarschemas

What You Can Do

POST
Postschemascheckslug — Checks if a schema slug is available
/v1/schemas/check-slug
POST
Postschemasaccessgroup — Adds an access group to a managed schema
/v1/schemas/access-group
DELETE
Deleteschemasaccessgroup — Removes an access group from a managed schema
/v1/schemas/access-group
GET
Getschemasnamespace — Get a list of all schemas for the namespace
/v1/schemas/{namespace}
POST
Postschemasnamespace — Creates a managed schema
/v1/schemas/{namespace}
PATCH
Patchschemasnamespaceslug — Update schema metadata
/v1/schemas/{namespace}/{slug}
DELETE
Deleteschemasnamespaceslug — Delete a specific schema and all of the related versions
/v1/schemas/{namespace}/{slug}
GET
Getschemasnamespaceslugversionsemver — Get a specific schema document
/v1/schemas/{namespace}/{slug}/version/{semver}
POST
Postschemasnamespaceslugversionsemver — Update managed schema content in GCS
/v1/schemas/{namespace}/{slug}/version/{semver}
DELETE
Deleteschemasnamespaceslugversionsemver — Delete a specific schema version
/v1/schemas/{namespace}/{slug}/version/{semver}
POST
Postschemasnamespaceslugversion — Create a new schema version
/v1/schemas/{namespace}/{slug}/version
POST
Postschemasnamespaceslugversionversionduplicate — Duplicate schema version
/v1/schemas/{namespace}/{slug}/version/{version}/duplicate

MCP Tools

scalar-postschemascheckslug

Checks if a schema slug is available

scalar-postschemasaccessgroup

Adds an access group to a managed schema

scalar-deleteschemasaccessgroup

Removes an access group from a managed schema

idempotent
scalar-getschemasnamespace

Get a list of all schemas for the namespace

read-only idempotent
scalar-postschemasnamespace

Creates a managed schema

scalar-patchschemasnamespaceslug

Update schema metadata

scalar-deleteschemasnamespaceslug

Delete a specific schema and all of the related versions

idempotent
scalar-getschemasnamespaceslugversionsemver

Get a specific schema document

read-only idempotent
scalar-postschemasnamespaceslugversionsemver

Update managed schema content in GCS

scalar-deleteschemasnamespaceslugversionsemver

Delete a specific schema version

idempotent
scalar-postschemasnamespaceslugversion

Create a new schema version

scalar-postschemasnamespaceslugversionversionduplicate

Duplicate schema version

Capability Spec

core-schemas.yaml Raw ↑
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: $.