Schematic · Capability

Schematic API — accounts

Schematic API — accounts. 18 operations. Lead operation: List account members. Self-contained Naftiko capability covering one Schematic business surface.

Run with Naftiko Schematicaccounts

What You Can Do

GET
Listaccountmembers — List account members
/v1/account-members
GET
Getaccountmember — Get account member
/v1/account-members/{account-member-id}
GET
Listapikeys — List api keys
/v1/api-keys
POST
Createapikey — Create api key
/v1/api-keys
GET
Countapikeys — Count api keys
/v1/api-keys/count
GET
Getapikey — Get api key
/v1/api-keys/{api-key-id}
PUT
Updateapikey — Update api key
/v1/api-keys/{api-key-id}
DELETE
Deleteapikey — Delete api key
/v1/api-keys/{api-key-id}
GET
Listauditlogs — List audit logs
/v1/audit-log
GET
Countauditlogs — Count audit logs
/v1/audit-log/count
GET
Getauditlog — Get audit log
/v1/audit-log/{audit-log-id}
GET
Listenvironments — List environments
/v1/environments
POST
Createenvironment — Create environment
/v1/environments
GET
Getenvironment — Get environment
/v1/environments/{environment-id}
PUT
Updateenvironment — Update environment
/v1/environments/{environment-id}
DELETE
Deleteenvironment — Delete environment
/v1/environments/{environment-id}
POST
Quickstart — Quickstart
/v1/quickstart
GET
Getwhoami — Get who am I
/v1/whoami

MCP Tools

list-account-members

List account members

read-only idempotent
get-account-member

Get account member

read-only idempotent
list-api-keys

List api keys

read-only idempotent
create-api-key

Create api key

count-api-keys

Count api keys

read-only idempotent
get-api-key

Get api key

read-only idempotent
update-api-key

Update api key

idempotent
delete-api-key

Delete api key

idempotent
list-audit-logs

List audit logs

read-only idempotent
count-audit-logs

Count audit logs

read-only idempotent
get-audit-log

Get audit log

read-only idempotent
list-environments

List environments

read-only idempotent
create-environment

Create environment

get-environment

Get environment

read-only idempotent
update-environment

Update environment

idempotent
delete-environment

Delete environment

idempotent
quickstart

Quickstart

get-who-am-i

Get who am I

read-only idempotent

Capability Spec

schematic-accounts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Schematic API — accounts
  description: 'Schematic API — accounts. 18 operations. Lead operation: List account members. Self-contained Naftiko capability
    covering one Schematic business surface.'
  tags:
  - Schematic
  - accounts
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SCHEMATIC_API_KEY: SCHEMATIC_API_KEY
capability:
  consumes:
  - type: http
    namespace: schematic-accounts
    baseUri: https://api.schematichq.com
    description: Schematic API — accounts business capability. Self-contained, no shared references.
    resources:
    - name: account-members
      path: /account-members
      operations:
      - name: listaccountmembers
        method: GET
        description: List account members
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ids
          in: query
          type: array
        - name: q
          in: query
          type: string
          description: Search filter
        - name: limit
          in: query
          type: integer
          description: Page limit (default 100)
        - name: offset
          in: query
          type: integer
          description: Page offset (default 0)
    - name: account-members-account_member_id
      path: /account-members/{account_member_id}
      operations:
      - name: getaccountmember
        method: GET
        description: Get account member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: account_member_id
          in: path
          type: string
          description: account_member_id
          required: true
    - name: api-keys
      path: /api-keys
      operations:
      - name: listapikeys
        method: GET
        description: List api keys
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: environment_id
          in: query
          type: string
        - name: require_environment
          in: query
          type: boolean
          required: true
        - name: limit
          in: query
          type: integer
          description: Page limit (default 100)
        - name: offset
          in: query
          type: integer
          description: Page offset (default 0)
      - name: createapikey
        method: POST
        description: Create api key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-keys-count
      path: /api-keys/count
      operations:
      - name: countapikeys
        method: GET
        description: Count api keys
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: environment_id
          in: query
          type: string
        - name: require_environment
          in: query
          type: boolean
          required: true
        - name: limit
          in: query
          type: integer
          description: Page limit (default 100)
        - name: offset
          in: query
          type: integer
          description: Page offset (default 0)
    - name: api-keys-api_key_id
      path: /api-keys/{api_key_id}
      operations:
      - name: getapikey
        method: GET
        description: Get api key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: api_key_id
          in: path
          type: string
          description: api_key_id
          required: true
      - name: updateapikey
        method: PUT
        description: Update api key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: api_key_id
          in: path
          type: string
          description: api_key_id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteapikey
        method: DELETE
        description: Delete api key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: api_key_id
          in: path
          type: string
          description: api_key_id
          required: true
    - name: audit-log
      path: /audit-log
      operations:
      - name: listauditlogs
        method: GET
        description: List audit logs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actor_type
          in: query
          type: string
        - name: end_time
          in: query
          type: string
        - name: environment_id
          in: query
          type: string
        - name: q
          in: query
          type: string
        - name: start_time
          in: query
          type: string
        - name: limit
          in: query
          type: integer
          description: Page limit (default 100)
        - name: offset
          in: query
          type: integer
          description: Page offset (default 0)
    - name: audit-log-count
      path: /audit-log/count
      operations:
      - name: countauditlogs
        method: GET
        description: Count audit logs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actor_type
          in: query
          type: string
        - name: end_time
          in: query
          type: string
        - name: environment_id
          in: query
          type: string
        - name: q
          in: query
          type: string
        - name: start_time
          in: query
          type: string
        - name: limit
          in: query
          type: integer
          description: Page limit (default 100)
        - name: offset
          in: query
          type: integer
          description: Page offset (default 0)
    - name: audit-log-audit_log_id
      path: /audit-log/{audit_log_id}
      operations:
      - name: getauditlog
        method: GET
        description: Get audit log
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: audit_log_id
          in: path
          type: string
          description: audit_log_id
          required: true
    - name: environments
      path: /environments
      operations:
      - name: listenvironments
        method: GET
        description: List environments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ids
          in: query
          type: array
        - name: limit
          in: query
          type: integer
          description: Page limit (default 100)
        - name: offset
          in: query
          type: integer
          description: Page offset (default 0)
      - name: createenvironment
        method: POST
        description: Create environment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: environments-environment_id
      path: /environments/{environment_id}
      operations:
      - name: getenvironment
        method: GET
        description: Get environment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: environment_id
          in: path
          type: string
          description: environment_id
          required: true
      - name: updateenvironment
        method: PUT
        description: Update environment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: environment_id
          in: path
          type: string
          description: environment_id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteenvironment
        method: DELETE
        description: Delete environment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: environment_id
          in: path
          type: string
          description: environment_id
          required: true
    - name: quickstart
      path: /quickstart
      operations:
      - name: quickstart
        method: POST
        description: Quickstart
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: whoami
      path: /whoami
      operations:
      - name: getwhoami
        method: GET
        description: Get who am I
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: apikey
      key: X-Schematic-Api-Key
      value: '{{env.SCHEMATIC_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: schematic-accounts-rest
    port: 8080
    description: REST adapter for Schematic API — accounts. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/account-members
      name: account-members
      description: REST surface for account-members.
      operations:
      - method: GET
        name: listaccountmembers
        description: List account members
        call: schematic-accounts.listaccountmembers
        with:
          ids: rest.ids
          q: rest.q
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/account-members/{account-member-id}
      name: account-members-account-member-id
      description: REST surface for account-members-account_member_id.
      operations:
      - method: GET
        name: getaccountmember
        description: Get account member
        call: schematic-accounts.getaccountmember
        with:
          account_member_id: rest.account_member_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api-keys
      name: api-keys
      description: REST surface for api-keys.
      operations:
      - method: GET
        name: listapikeys
        description: List api keys
        call: schematic-accounts.listapikeys
        with:
          environment_id: rest.environment_id
          require_environment: rest.require_environment
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createapikey
        description: Create api key
        call: schematic-accounts.createapikey
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api-keys/count
      name: api-keys-count
      description: REST surface for api-keys-count.
      operations:
      - method: GET
        name: countapikeys
        description: Count api keys
        call: schematic-accounts.countapikeys
        with:
          environment_id: rest.environment_id
          require_environment: rest.require_environment
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api-keys/{api-key-id}
      name: api-keys-api-key-id
      description: REST surface for api-keys-api_key_id.
      operations:
      - method: GET
        name: getapikey
        description: Get api key
        call: schematic-accounts.getapikey
        with:
          api_key_id: rest.api_key_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateapikey
        description: Update api key
        call: schematic-accounts.updateapikey
        with:
          api_key_id: rest.api_key_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteapikey
        description: Delete api key
        call: schematic-accounts.deleteapikey
        with:
          api_key_id: rest.api_key_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/audit-log
      name: audit-log
      description: REST surface for audit-log.
      operations:
      - method: GET
        name: listauditlogs
        description: List audit logs
        call: schematic-accounts.listauditlogs
        with:
          actor_type: rest.actor_type
          end_time: rest.end_time
          environment_id: rest.environment_id
          q: rest.q
          start_time: rest.start_time
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/audit-log/count
      name: audit-log-count
      description: REST surface for audit-log-count.
      operations:
      - method: GET
        name: countauditlogs
        description: Count audit logs
        call: schematic-accounts.countauditlogs
        with:
          actor_type: rest.actor_type
          end_time: rest.end_time
          environment_id: rest.environment_id
          q: rest.q
          start_time: rest.start_time
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/audit-log/{audit-log-id}
      name: audit-log-audit-log-id
      description: REST surface for audit-log-audit_log_id.
      operations:
      - method: GET
        name: getauditlog
        description: Get audit log
        call: schematic-accounts.getauditlog
        with:
          audit_log_id: rest.audit_log_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/environments
      name: environments
      description: REST surface for environments.
      operations:
      - method: GET
        name: listenvironments
        description: List environments
        call: schematic-accounts.listenvironments
        with:
          ids: rest.ids
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createenvironment
        description: Create environment
        call: schematic-accounts.createenvironment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/environments/{environment-id}
      name: environments-environment-id
      description: REST surface for environments-environment_id.
      operations:
      - method: GET
        name: getenvironment
        description: Get environment
        call: schematic-accounts.getenvironment
        with:
          environment_id: rest.environment_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateenvironment
        description: Update environment
        call: schematic-accounts.updateenvironment
        with:
          environment_id: rest.environment_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteenvironment
        description: Delete environment
        call: schematic-accounts.deleteenvironment
        with:
          environment_id: rest.environment_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/quickstart
      name: quickstart
      description: REST surface for quickstart.
      operations:
      - method: POST
        name: quickstart
        description: Quickstart
        call: schematic-accounts.quickstart
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/whoami
      name: whoami
      description: REST surface for whoami.
      operations:
      - method: GET
        name: getwhoami
        description: Get who am I
        call: schematic-accounts.getwhoami
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: schematic-accounts-mcp
    port: 9090
    transport: http
    description: MCP adapter for Schematic API — accounts. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-account-members
      description: List account members
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.listaccountmembers
      with:
        ids: tools.ids
        q: tools.q
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account-member
      description: Get account member
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.getaccountmember
      with:
        account_member_id: tools.account_member_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-api-keys
      description: List api keys
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.listapikeys
      with:
        environment_id: tools.environment_id
        require_environment: tools.require_environment
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: create-api-key
      description: Create api key
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: schematic-accounts.createapikey
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: count-api-keys
      description: Count api keys
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.countapikeys
      with:
        environment_id: tools.environment_id
        require_environment: tools.require_environment
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: get-api-key
      description: Get api key
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.getapikey
      with:
        api_key_id: tools.api_key_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-api-key
      description: Update api key
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: schematic-accounts.updateapikey
      with:
        api_key_id: tools.api_key_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-api-key
      description: Delete api key
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: schematic-accounts.deleteapikey
      with:
        api_key_id: tools.api_key_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-audit-logs
      description: List audit logs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.listauditlogs
      with:
        actor_type: tools.actor_type
        end_time: tools.end_time
        environment_id: tools.environment_id
        q: tools.q
        start_time: tools.start_time
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: count-audit-logs
      description: Count audit logs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.countauditlogs
      with:
        actor_type: tools.actor_type
        end_time: tools.end_time
        environment_id: tools.environment_id
        q: tools.q
        start_time: tools.start_time
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: get-audit-log
      description: Get audit log
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.getauditlog
      with:
        audit_log_id: tools.audit_log_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-environments
      description: List environments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.listenvironments
      with:
        ids: tools.ids
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: create-environment
      description: Create environment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: schematic-accounts.createenvironment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-environment
      description: Get environment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.getenvironment
      with:
        environment_id: tools.environment_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-environment
      description: Update environment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: schematic-accounts.updateenvironment
      with:
        environment_id: tools.environment_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-environment
      description: Delete environment
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: schematic-accounts.deleteenvironment
      with:
        environment_id: tools.environment_id
      outputParameters:
      - type: object
        mapping: $.
    - name: quickstart
      description: Quickstart
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: schematic-accounts.quickstart
      outputParameters:
      - type: object
        mapping: $.
    - name: get-who-am-i
      description: Get who am I
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-accounts.getwhoami
      outputParameters:
      - type: object
        mapping: $.