Accept Decisions API

The Decisions API from Accept — 1 operation(s) for decisions.

OpenAPI Specification

accept-decisions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: MIDAS Agents Decisions API
  version: 1.1.0-rc.1
  description: 'Authority governance engine for autonomous decisions. Every evaluation produces exactly one outcome and one tamper-evident audit envelope.

    '
servers:
- url: http://localhost:8080
  description: Local development
security:
- BearerAuth: []
tags:
- name: Decisions
paths:
  /v1/decisions/request/{requestId}:
    get:
      operationId: getDecisionByRequestId
      summary: Look up a decision by request ID
      description: 'Returns the governance envelope for a given caller-supplied request ID. Optionally scoped by source system via the source query parameter.

        '
      parameters:
      - name: requestId
        in: path
        required: true
        schema:
          type: string
      - name: source
        in: query
        required: false
        schema:
          type: string
        description: Request source system. Scopes the lookup to a specific origin.
      responses:
        '200':
          description: Envelope found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '400':
          description: Invalid request ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Insufficient role
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Decision not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Decisions
components:
  schemas:
    ResolvedCapabilitySnapshot:
      type: object
      description: 'Point-in-time snapshot of one Capability in the BusinessService''s enabling set at evaluation time. The set as a whole is captured as a JSONB array on the envelope; individual entries retain the historical Capability ID even if the live row is later renamed or deleted.

        '
      properties:
        id:
          type: string
        name:
          type: string
        origin:
          type: string
        managed:
          type: boolean
        replaces:
          type: string
        status:
          type: string
          enum:
          - active
          - deprecated
    Envelope:
      type: object
      description: Tamper-evident governance record for a single evaluation.
      properties:
        id:
          type: string
        state:
          type: string
          enum:
          - received
          - evaluating
          - outcome_recorded
          - escalated
          - awaiting_review
          - closed
        surface_id:
          type: string
        agent_id:
          type: string
        request_id:
          type: string
        request_source:
          type: string
        confidence:
          type: number
        outcome:
          type: string
        reason_code:
          type: string
        explanation:
          type: string
        profile_id:
          type: string
        grant_id:
          type: string
        surface_version:
          type: integer
        first_event_hash:
          type: string
        final_event_hash:
          type: string
        resolved:
          type: object
          description: 'Resolved facts captured at evaluation time. Currently exposes the service-led structural context added by ADR-0001; existing authority-chain fields remain at the top level for backwards compatibility.

            '
          properties:
            structure:
              $ref: '#/components/schemas/ResolvedStructure'
        created_at:
          type: string
          format: date-time
        closed_at:
          type: string
          format: date-time
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: string
    ResolvedBusinessServiceSnapshot:
      type: object
      description: 'Point-in-time snapshot of the BusinessService that owned the resolved Process at evaluation time. See ADR-0001.

        '
      properties:
        id:
          type: string
        origin:
          type: string
        managed:
          type: boolean
        replaces:
          type: string
        status:
          type: string
          enum:
          - active
          - deprecated
    ResolvedProcessSnapshot:
      type: object
      description: 'Point-in-time snapshot of the Process the resolved Surface belonged to at evaluation time. Captured as evidence on the envelope per ADR-0001; not derived from live joins after the envelope is written.

        '
      properties:
        id:
          type: string
        origin:
          type: string
          description: Always "manual" in v1.
        managed:
          type: boolean
        replaces:
          type: string
          description: ID of a previously-superseded Process; empty string when none.
        status:
          type: string
          enum:
          - active
          - deprecated
    ResolvedStructure:
      type: object
      description: 'Service-led structural context resolved at evaluation time: the Process the Surface belongs to, the BusinessService that owns the Process, and the set of Capabilities enabling the BusinessService at the moment the decision was recorded. Empty enabling_capabilities arrays are valid and are serialised as `[]` (never `null`). Per ADR-0001.

        '
      properties:
        process:
          $ref: '#/components/schemas/ResolvedProcessSnapshot'
        business_service:
          $ref: '#/components/schemas/ResolvedBusinessServiceSnapshot'
        enabling_capabilities:
          type: array
          items:
            $ref: '#/components/schemas/ResolvedCapabilitySnapshot'
          description: 'Capabilities enabling this BusinessService at evaluation time, sorted by id ascending for deterministic byte-level evidence.

            '
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: 'Static bearer token. Configured via MIDAS_AUTH_TOKENS or midas.yaml auth.tokens. Not required when auth.mode=open (development only).

        '