Architecture Pattern Patterns API

The Patterns API from Architecture Pattern — 3 operation(s) for patterns.

OpenAPI Specification

architecture-pattern-patterns-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Architecture Pattern Domains Patterns API
  description: API providing access to a curated reference library of architecture patterns for distributed systems, microservices, cloud-native applications, and enterprise software.
  version: 1.0.0
  contact:
    name: API Evangelist
    url: https://apievangelist.com
servers:
- url: https://api.apievangelist.com/v1/architecture-patterns
  description: Production
tags:
- name: Patterns
paths:
  /patterns:
    get:
      summary: List architecture patterns
      operationId: listPatterns
      tags:
      - Patterns
      parameters:
      - name: domain
        in: query
        description: Filter by pattern domain
        schema:
          type: string
          enum:
          - microservices
          - distributed-systems
          - cloud-native
          - enterprise
          - data
          - messaging
          - security
      - name: tag
        in: query
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
          default: 20
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: List of architecture patterns
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatternList'
  /patterns/{patternId}:
    get:
      summary: Get architecture pattern details
      operationId: getPattern
      tags:
      - Patterns
      parameters:
      - name: patternId
        in: path
        required: true
        description: The unique pattern identifier
        schema:
          type: string
      responses:
        '200':
          description: Pattern details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pattern'
        '404':
          description: Pattern not found
  /patterns/{patternId}/variants:
    get:
      summary: Get variants of an architecture pattern
      operationId: getPatternVariants
      tags:
      - Patterns
      parameters:
      - name: patternId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Pattern variants
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatternList'
components:
  schemas:
    Pattern:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        domain:
          type: string
        description:
          type: string
        context:
          type: string
        problem:
          type: string
        solution:
          type: string
        resultingContext:
          type: string
        tags:
          type: array
          items:
            type: string
        relatedPatterns:
          type: array
          items:
            type: string
        externalReferences:
          type: array
          items:
            type: string
        confidence:
          type: string
          enum:
          - proven
          - candidate
          - experimental
    PatternList:
      type: object
      properties:
        total:
          type: integer
        offset:
          type: integer
        limit:
          type: integer
        patterns:
          type: array
          items:
            $ref: '#/components/schemas/Pattern'