openapi: 3.1.0
info:
  title: Dossier Exchange Proposal
  version: 0.8.0
servers:
  - url: https://exchange.example.test/v1
paths:
  /dossiers:
    put:
      operationId: sendDossier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DossierInput"
      responses:
        "200":
          description: Operation result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DossierResult"
  /dossiers/{id}:
    get:
      operationId: getDossier
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Current dossier
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DossierResult"
        "404":
          description: Dossier not found
components:
  schemas:
    DossierInput:
      type: object
      required: [document]
      properties:
        external_id:
          type: string
        document:
          type: string
        notify:
          type: boolean
          default: false
    DossierResult:
      type: object
      required: [ok, status]
      properties:
        ok:
          type: boolean
        id:
          type: [string, "null"]
        status:
          type: string
          enum: [accepted, validated, rejected]
        error:
          type: [string, "null"]

# Este fragmento reproduce la propuesta recibida. Puede contradecir los
# requisitos y el tráfico. No debe asumirse como solución correcta.
