openapi: 3.1.0

servers:
  - url: http://api.server.com/api/v1
    description: local server

info:
  description: |
    # Introduction
    This API is documented in **OpenAPI format** and is based on.
    In addition to standard OpenAPI syntax we use a few [vendor extensions](https://github.com/Redocly/redoc/blob/master/docs/redoc-vendor-extensions.md).

  version: 1.0.0
  title: API
  license:
    name: Apache 2.0
    url: 'http://www.apache.org/licenses/LICENSE-2.0.html'

security:
  - JWT : []

paths:
  /healthz:
    $ref: paths@v1/healthz.yml
  /auth/sign-in:
    $ref: paths@v1/auth/sign-in.yml
  /auth/sign-out:
    $ref: paths@v1/auth/sign-out.yml
  /auth/get-my-profile:
    $ref: paths@v1/auth/get-my-profile.yml
  /auth/forgot-password:
    $ref: paths@v1/auth/forgot-password.yml
  /auth/reset-password:
    $ref: paths@v1/auth/reset-password.yml

  /customers:
    get:
      $ref: paths@v1/customers/list.yml
    post:
      $ref: paths@v1/customers/create.yml
  /customers/{id}:
    get:
      $ref: paths@v1/customers/show.yml
    patch:
      $ref: paths@v1/customers/update.yml
    delete:
      $ref: paths@v1/customers/delete.yml

  /drivers:
    get:
      $ref: paths@v1/drivers/list.yml
    post:
      $ref: paths@v1/drivers/create.yml
  /drivers/{id}:
    get:
      $ref: paths@v1/drivers/show.yml
    patch:
      $ref: paths@v1/drivers/update.yml
    delete:
      $ref: paths@v1/drivers/delete.yml

  /transport-companies:
    get:
      $ref: paths@v1/transport-companies/list.yml
    post:
      $ref: paths@v1/transport-companies/create.yml
  /transport-companies/{id}:
    get:
      $ref: paths@v1/transport-companies/show.yml
    patch:
      $ref: paths@v1/transport-companies/update.yml
    delete:
      $ref: paths@v1/transport-companies/delete.yml

  /form-template:
    get:
      $ref: paths@v1/form-template/show.yml
    patch:
      $ref: paths@v1/form-template/update.yml

  /orders:
    get:
      $ref: paths@v1/orders/list.yml
    post:
      $ref: paths@v1/orders/create.yml

  /orders/{id}:
    get:
      $ref: paths@v1/orders/show.yml

  /admin/auth/sign-in:
    $ref: paths@v1/admin/auth/sign-in.yml
  /admin/auth/sign-out:
    $ref: paths@v1/admin/auth/sign-out.yml
  /admin/default-fields:
    get:
      $ref: paths@v1/admin/default-fields/list.yml
    post:
      $ref: paths@v1/admin/default-fields/create.yml
  /admin/default-fields/{id}:
    get:
      $ref: paths@v1/admin/default-fields/show.yml
    patch:
      $ref: paths@v1/admin/default-fields/update.yml
    delete:
      $ref: paths@v1/admin/default-fields/delete.yml
components:
  securitySchemes:
    JWT:
      type: http
      scheme: bearer
      bearerFormat: JWT

