openapi: 3.0.3
info:
  title: 'Car Parking Backend'
  description: ''
  version: 1.0.0
servers:
  -
    url: 'http://localhost'
paths:
  /api/v1/auth/register:
    post:
      summary: ''
      operationId: postApiV1AuthRegister
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Auth
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vwniqzhmwf
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: waelchi.joaquin@example.net
                password:
                  type: string
                  description: ''
                  example: modi
              required:
                - name
                - email
                - password
      security: []
  /api/v1/auth/login:
    post:
      summary: ''
      operationId: postApiV1AuthLogin
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Auth
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: ikuhic@example.com
                password:
                  type: string
                  description: ''
                  example: earum
              required:
                - email
                - password
      security: []
  /api/v1/profile:
    get:
      summary: ''
      operationId: getApiV1Profile
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - Auth
      security: []
    put:
      summary: ''
      operationId: putApiV1Profile
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Auth
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: ''
                  example: explicabo
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: inader@example.net
              required:
                - name
                - email
      security: []
  /api/v1/password:
    put:
      summary: ''
      operationId: putApiV1Password
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Auth
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                current_password:
                  type: string
                  description: ''
                  example: facere
                password:
                  type: string
                  description: ''
                  example: non
              required:
                - current_password
                - password
      security: []
  /api/v1/auth/logout:
    post:
      summary: ''
      operationId: postApiV1AuthLogout
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/parkings/start:
    post:
      summary: ''
      operationId: postApiV1ParkingsStart
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Parking
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                vehicle_id:
                  type: integer
                  description: ''
                  example: 14
                zone_id:
                  type: integer
                  description: ''
                  example: 8
              required:
                - vehicle_id
                - zone_id
      security: []
  '/api/v1/parkings/{parking_id}':
    get:
      summary: ''
      operationId: getApiV1ParkingsParking_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - Parking
      security: []
    put:
      summary: ''
      operationId: putApiV1ParkingsParking_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Parking
      security: []
    parameters:
      -
        in: path
        name: parking_id
        description: 'The ID of the parking.'
        example: 14
        required: true
        schema:
          type: integer
  /api/v1/vehicles:
    get:
      summary: ''
      operationId: getApiV1Vehicles
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - Vehicles
      security: []
    post:
      summary: ''
      operationId: postApiV1Vehicles
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Vehicles
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                plate_number:
                  type: string
                  description: ''
                  example: ut
              required:
                - plate_number
      security: []
  '/api/v1/vehicles/{id}':
    get:
      summary: ''
      operationId: getApiV1VehiclesId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - Vehicles
      security: []
    put:
      summary: ''
      operationId: putApiV1VehiclesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Vehicles
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                plate_number:
                  type: string
                  description: ''
                  example: deleniti
              required:
                - plate_number
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1VehiclesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Vehicles
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the vehicle.'
        example: 14
        required: true
        schema:
          type: integer
  /api/v1/zones:
    get:
      summary: ''
      operationId: getApiV1Zones
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 1
                      name: 'Green Zone'
                      price_per_hour: 100
                    -
                      id: 2
                      name: 'Yellow Zone'
                      price_per_hour: 200
                    -
                      id: 3
                      name: 'Red Zone'
                      price_per_hour: 300
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 1
                        name: 'Green Zone'
                        price_per_hour: 100
                      -
                        id: 2
                        name: 'Yellow Zone'
                        price_per_hour: 200
                      -
                        id: 3
                        name: 'Red Zone'
                        price_per_hour: 300
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: 'Green Zone'
                        price_per_hour:
                          type: integer
                          example: 100
      tags:
        - Zones
      security: []
tags:
  -
    name: Auth
    description: ''
  -
    name: Endpoints
    description: ''
  -
    name: Parking
    description: ''
  -
    name: Vehicles
    description: ''
  -
    name: Zones
    description: ''
