Architectural Design Patterns API

API providing access to a catalog of architectural design patterns, their descriptions, use cases, implementation examples, and relationships between patterns.

Run with Naftiko ArchitecturalDesignPatternsAPI

What You Can Do

GET
Listpatterns — List architectural design patterns
/patterns
GET
Getpattern — Get design pattern details
/patterns/{patternId}
GET
Getpatternexamples — Get implementation examples for a pattern
/patterns/{patternId}/examples
GET
Getpatternrelationships — Get relationships for a pattern
/patterns/{patternId}/relationships
GET
Listcategories — List pattern categories
/categories
GET
Listantipatterns — List anti-patterns
/anti-patterns

MCP Tools

listpatterns

List architectural design patterns

read-only idempotent
getpattern

Get design pattern details

read-only idempotent
getpatternexamples

Get implementation examples for a pattern

read-only idempotent
getpatternrelationships

Get relationships for a pattern

read-only idempotent
listcategories

List pattern categories

read-only idempotent
listantipatterns

List anti-patterns

read-only idempotent

Capability Spec

architectural-design-patterns-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Architectural Design Patterns API
  description: API providing access to a catalog of architectural design patterns, their descriptions, use cases, implementation
    examples, and relationships between patterns.
  tags:
  - Architectural
  - Design
  - Patterns
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: architectural-design-patterns
    baseUri: https://api.apievangelist.com/v1/architectural-design-patterns
    description: Architectural Design Patterns API HTTP API.
    resources:
    - name: patterns
      path: /patterns
      operations:
      - name: listpatterns
        method: GET
        description: List architectural design patterns
        inputParameters:
        - name: category
          in: query
          type: string
          description: Filter by pattern category
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - 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 design 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-examples
      path: /patterns/{patternId}/examples
      operations:
      - name: getpatternexamples
        method: GET
        description: Get implementation examples for a pattern
        inputParameters:
        - name: patternId
          in: path
          type: string
          required: true
        - name: language
          in: query
          type: string
          description: Programming language for examples
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: patterns-patternid-relationships
      path: /patterns/{patternId}/relationships
      operations:
      - name: getpatternrelationships
        method: GET
        description: Get relationships for a pattern
        inputParameters:
        - name: patternId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: categories
      path: /categories
      operations:
      - name: listcategories
        method: GET
        description: List pattern categories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: anti-patterns
      path: /anti-patterns
      operations:
      - name: listantipatterns
        method: GET
        description: List anti-patterns
        inputParameters:
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: architectural-design-patterns-rest
    description: REST adapter for Architectural Design Patterns API.
    resources:
    - path: /patterns
      name: listpatterns
      operations:
      - method: GET
        name: listpatterns
        description: List architectural design patterns
        call: architectural-design-patterns.listpatterns
        outputParameters:
        - type: object
          mapping: $.
    - path: /patterns/{patternId}
      name: getpattern
      operations:
      - method: GET
        name: getpattern
        description: Get design pattern details
        call: architectural-design-patterns.getpattern
        with:
          patternId: rest.patternId
        outputParameters:
        - type: object
          mapping: $.
    - path: /patterns/{patternId}/examples
      name: getpatternexamples
      operations:
      - method: GET
        name: getpatternexamples
        description: Get implementation examples for a pattern
        call: architectural-design-patterns.getpatternexamples
        with:
          patternId: rest.patternId
        outputParameters:
        - type: object
          mapping: $.
    - path: /patterns/{patternId}/relationships
      name: getpatternrelationships
      operations:
      - method: GET
        name: getpatternrelationships
        description: Get relationships for a pattern
        call: architectural-design-patterns.getpatternrelationships
        with:
          patternId: rest.patternId
        outputParameters:
        - type: object
          mapping: $.
    - path: /categories
      name: listcategories
      operations:
      - method: GET
        name: listcategories
        description: List pattern categories
        call: architectural-design-patterns.listcategories
        outputParameters:
        - type: object
          mapping: $.
    - path: /anti-patterns
      name: listantipatterns
      operations:
      - method: GET
        name: listantipatterns
        description: List anti-patterns
        call: architectural-design-patterns.listantipatterns
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: architectural-design-patterns-mcp
    transport: http
    description: MCP adapter for Architectural Design Patterns API for AI agent use.
    tools:
    - name: listpatterns
      description: List architectural design patterns
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architectural-design-patterns.listpatterns
      with:
        category: tools.category
        tag: tools.tag
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: category
        type: string
        description: Filter by pattern category
      - name: tag
        type: string
        description: Filter by tag
      - name: limit
        type: integer
        description: limit
      - name: offset
        type: integer
        description: offset
      outputParameters:
      - type: object
        mapping: $.
    - name: getpattern
      description: Get design pattern details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architectural-design-patterns.getpattern
      with:
        patternId: tools.patternId
      inputParameters:
      - name: patternId
        type: string
        description: The unique pattern identifier
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getpatternexamples
      description: Get implementation examples for a pattern
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architectural-design-patterns.getpatternexamples
      with:
        patternId: tools.patternId
        language: tools.language
      inputParameters:
      - name: patternId
        type: string
        description: patternId
        required: true
      - name: language
        type: string
        description: Programming language for examples
      outputParameters:
      - type: object
        mapping: $.
    - name: getpatternrelationships
      description: Get relationships for a pattern
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architectural-design-patterns.getpatternrelationships
      with:
        patternId: tools.patternId
      inputParameters:
      - name: patternId
        type: string
        description: patternId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listcategories
      description: List pattern categories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architectural-design-patterns.listcategories
      outputParameters:
      - type: object
        mapping: $.
    - name: listantipatterns
      description: List anti-patterns
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: architectural-design-patterns.listantipatterns
      with:
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: limit
        type: integer
        description: limit
      - name: offset
        type: integer
        description: offset
      outputParameters:
      - type: object
        mapping: $.