Schematic · Capability

Schematic API — events

Schematic API — events. 6 operations. Lead operation: Create event batch. Self-contained Naftiko capability covering one Schematic business surface.

Run with Naftiko Schematicevents

What You Can Do

POST
Createeventbatch — Create event batch
/v1/event-batch
GET
Geteventsummaries — Get event summaries
/v1/event-types
GET
Listevents — List events
/v1/events
POST
Createevent — Create event
/v1/events
GET
Getevent — Get event
/v1/events/{event-id}
GET
Getsegmentintegrationstatus — Get segment integration status
/v1/segment-integration

MCP Tools

create-event-batch

Create event batch

get-event-summaries

Get event summaries

read-only idempotent
list-events

List events

read-only idempotent
create-event

Create event

get-event

Get event

read-only idempotent
get-segment-integration-status

Get segment integration status

read-only idempotent

Capability Spec

schematic-events.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Schematic API — events
  description: 'Schematic API — events. 6 operations. Lead operation: Create event batch. Self-contained Naftiko capability
    covering one Schematic business surface.'
  tags:
  - Schematic
  - events
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SCHEMATIC_API_KEY: SCHEMATIC_API_KEY
capability:
  consumes:
  - type: http
    namespace: schematic-events
    baseUri: https://api.schematichq.com
    description: Schematic API — events business capability. Self-contained, no shared references.
    resources:
    - name: event-batch
      path: /event-batch
      operations:
      - name: createeventbatch
        method: POST
        description: Create event batch
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: event-types
      path: /event-types
      operations:
      - name: geteventsummaries
        method: GET
        description: Get event summaries
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: q
          in: query
          type: string
        - name: event_subtypes
          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: events
      path: /events
      operations:
      - name: listevents
        method: GET
        description: List events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: company_id
          in: query
          type: string
        - name: event_subtype
          in: query
          type: string
        - name: event_types
          in: query
          type: array
        - name: flag_id
          in: query
          type: string
        - name: idempotency_key
          in: query
          type: string
        - name: user_id
          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: createevent
        method: POST
        description: Create event
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: events-event_id
      path: /events/{event_id}
      operations:
      - name: getevent
        method: GET
        description: Get event
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: event_id
          in: path
          type: string
          description: event_id
          required: true
    - name: segment-integration
      path: /segment-integration
      operations:
      - name: getsegmentintegrationstatus
        method: GET
        description: Get segment integration status
        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-events-rest
    port: 8080
    description: REST adapter for Schematic API — events. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/event-batch
      name: event-batch
      description: REST surface for event-batch.
      operations:
      - method: POST
        name: createeventbatch
        description: Create event batch
        call: schematic-events.createeventbatch
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/event-types
      name: event-types
      description: REST surface for event-types.
      operations:
      - method: GET
        name: geteventsummaries
        description: Get event summaries
        call: schematic-events.geteventsummaries
        with:
          q: rest.q
          event_subtypes: rest.event_subtypes
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/events
      name: events
      description: REST surface for events.
      operations:
      - method: GET
        name: listevents
        description: List events
        call: schematic-events.listevents
        with:
          company_id: rest.company_id
          event_subtype: rest.event_subtype
          event_types: rest.event_types
          flag_id: rest.flag_id
          idempotency_key: rest.idempotency_key
          user_id: rest.user_id
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createevent
        description: Create event
        call: schematic-events.createevent
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/events/{event-id}
      name: events-event-id
      description: REST surface for events-event_id.
      operations:
      - method: GET
        name: getevent
        description: Get event
        call: schematic-events.getevent
        with:
          event_id: rest.event_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/segment-integration
      name: segment-integration
      description: REST surface for segment-integration.
      operations:
      - method: GET
        name: getsegmentintegrationstatus
        description: Get segment integration status
        call: schematic-events.getsegmentintegrationstatus
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: schematic-events-mcp
    port: 9090
    transport: http
    description: MCP adapter for Schematic API — events. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: create-event-batch
      description: Create event batch
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: schematic-events.createeventbatch
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-event-summaries
      description: Get event summaries
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-events.geteventsummaries
      with:
        q: tools.q
        event_subtypes: tools.event_subtypes
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: list-events
      description: List events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-events.listevents
      with:
        company_id: tools.company_id
        event_subtype: tools.event_subtype
        event_types: tools.event_types
        flag_id: tools.flag_id
        idempotency_key: tools.idempotency_key
        user_id: tools.user_id
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: create-event
      description: Create event
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: schematic-events.createevent
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-event
      description: Get event
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-events.getevent
      with:
        event_id: tools.event_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-segment-integration-status
      description: Get segment integration status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: schematic-events.getsegmentintegrationstatus
      outputParameters:
      - type: object
        mapping: $.