Architecture Pattern · Capability

Architecture Pattern API

API providing access to a curated reference library of architecture patterns for distributed systems, microservices, cloud-native applications, and enterprise software.

Run with Naftiko ArchitecturePatternAPI

What You Can Do

GET
Listpatterns — List architecture patterns
/patterns
GET
Getpattern — Get architecture pattern details
/patterns/{patternId}
GET
Getpatternvariants — Get variants of an architecture pattern
/patterns/{patternId}/variants
GET
Listdomains — List pattern domains
/domains
GET
Listtradeoffs — List pattern trade-offs
/tradeoffs

MCP Tools

listpatterns

List architecture patterns

read-only idempotent
getpattern

Get architecture pattern details

read-only idempotent
getpatternvariants

Get variants of an architecture pattern

read-only idempotent
listdomains

List pattern domains

read-only idempotent
listtradeoffs

List pattern trade-offs

read-only idempotent

Capability Spec

architecture-pattern-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Architecture Pattern API
  description: API providing access to a curated reference library of architecture patterns for distributed systems, microservices,
    cloud-native applications, and enterprise software.
  tags:
  - Architecture
  - Pattern
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: architecture-pattern
    baseUri: https://api.apievangelist.com/v1/architecture-patterns
    description: Architecture Pattern API HTTP API.
    resources:
    - name: patterns
      path: /patterns
      operations:
      - name: listpatterns
        method: GET
        description: List architecture patterns
        inputParameters:
        - name: domain
          in: query
          type: string
          description: Filter by pattern domain
        - name: tag
          in: query
          type: string
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: patterns-patternid
      path: /patterns/{patternId}
      operations:
      - name: getpattern
        method: GET
        description: Get architecture pattern details
        inputParameters:
        - name: patternId
          in: path
          type: string
          required: true
          description: The unique pattern identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: patterns-patternid-variants
      path: /patterns/{patternId}/variants
      operations:
      - name: getpatternvariants
        method: GET
        description: Get variants of an architecture pattern
        inputParameters:
        - name: patternId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: domains
      path: /domains
      operations:
      - name: listdomains
        method: GET
        description: List pattern domains
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tradeoffs
      path: /tradeoffs
      operations:
      - name: listtradeoffs
        method: GET
        description: List pattern trade-offs
        inputParameters:
        - name: patternId
          in: query
          type: string
          description: Filter trade-offs by pattern
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: architecture-pattern-rest
    description: REST adapter for Architecture Pattern API.
    resources:
    - path: /patterns
      name: listpatterns
      operations:
      - method: GET
        name: listpatterns
        description: List architecture patterns
        call: architecture-pattern.listpatterns
        outputParameters:
        - type: object
          mapping: $.
    - path: /patterns/{patternId}
      name: getpattern
      operations:
      - method: GET
        name: getpattern
        description: Get architecture pattern details
        call: architecture-pattern.getpattern
        with:
          patternId: rest.patternId
        outputParameters:
        - type: object
          mapping: $.
    - path: /patterns/{patternId}/variants
      name: getpatternvariants
      operations:
      - method: GET
        name: getpatternvariants
        description: Get variants of an architecture pattern
        call: architecture-pattern.getpatternvariants
        with:
          patternId: rest.patternId
        outputParameters:
        - type: object
          mapping: $.
    - path: /domains
      name: listdomains
      operations:
      - method: GET
        name: listdomains
        description: List pattern domains
        call: architecture-pattern.listdomains
        outputParameters:
        - type: object
          mapping: $.
    - path: /tradeoffs
      name: listtradeoffs
      operations:
      - method: GET
        name: listtradeoffs
        description: List pattern trade-offs
        call: architecture-pattern.listtradeoffs
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: architecture-pattern-mcp
    transport: http
    description: MCP adapter for Architecture Pattern API for AI agent use.
    tools:
    - name: listpatterns
      description: List architecture patterns
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architecture-pattern.listpatterns
      with:
        domain: tools.domain
        tag: tools.tag
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: domain
        type: string
        description: Filter by pattern domain
      - name: tag
        type: string
        description: tag
      - name: limit
        type: integer
        description: limit
      - name: offset
        type: integer
        description: offset
      outputParameters:
      - type: object
        mapping: $.
    - name: getpattern
      description: Get architecture pattern details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architecture-pattern.getpattern
      with:
        patternId: tools.patternId
      inputParameters:
      - name: patternId
        type: string
        description: The unique pattern identifier
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getpatternvariants
      description: Get variants of an architecture pattern
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architecture-pattern.getpatternvariants
      with:
        patternId: tools.patternId
      inputParameters:
      - name: patternId
        type: string
        description: patternId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listdomains
      description: List pattern domains
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architecture-pattern.listdomains
      outputParameters:
      - type: object
        mapping: $.
    - name: listtradeoffs
      description: List pattern trade-offs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architecture-pattern.listtradeoffs
      with:
        patternId: tools.patternId
      inputParameters:
      - name: patternId
        type: string
        description: Filter trade-offs by pattern
      outputParameters:
      - type: object
        mapping: $.